Help us shape the future of Go! Take the 2026 Go Developer Survey

plugin

package module
v0.0.0-...-6d610b9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2019 License: MIT Imports: 1 Imported by: 0

README

bestpay-plugin

bestpay-plugin

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PluginIf

type PluginIf interface {
	// 返回插件的标识,必须唯一
	Name() string

	// 返回插件名称
	Title() string

	// 返回插件版本
	Version() string

	// 插件类型
	// payment 支付通道插件
	Type() string

	// 注入支付通道的配置,插件可以从配置中获取发起请求所需的必要信息
	Configure(PluginIfPaymentConfig)

	// 返回当前支付通道支持的渠道列表
	SupportChannels() []PluginIfSupportChannel

	// 下单
	// 插件需要调用远程服务器进行下单
	CreateOrder(PluginIfCreateOrderParams) (PluginIfErrorBag, PluginIfOrderInfo)

	// 订单查询
	QueryOrder() (PluginIfErrorBag, PluginIfOrderInfo)

	// 关闭订单
	CloseOrder() bool

	// 撤销订单
	ReverseOrder() (PluginIfErrorBag, PluginIfReversedOrderInfo)

	// 发起退款
	RefundOrder() (PluginIfErrorBag, PluginIfRefundOrderInfo)

	//// 查询退款订单
	RefundOrderQuery() (PluginIfErrorBag, PluginIfQueriedRefundOrderInfo)

	// 支付异步通知
	OrderPaidNotify() (PluginIfErrorBag, PluginIfOrderPaidNotifyParams)

	// 退款异步通知
	OrderRefundNotify() (PluginIfErrorBag, PluginIfOrderRefundNotifyParams)

	// 同步回调处理
	OrderPaidCallback() string

	// 获取用户的 openid,返回重定向的 url
	GetOpenIdUri() string

	// 获取 openid 后的回调页面
	GetOpenIdCallback()
}

*

  • 支付通道插件接口

type PluginIfCreateOrderParams

type PluginIfCreateOrderParams interface {
	// 平台单号
	ChargeNo() string

	// 支付渠道
	Chanel() string

	// 金额
	Amount() int64

	// 客户端ip
	ClientIp() string

	// 订单状态
	Status() int

	// 订单信息
	Body() string

	// 商品名称
	Subject() string

	// 币种
	// 默认返回  CNY
	Currency() string

	// 下单时间
	CreatedAt() time.Time

	// 订单扩展信息
	// 返回json格式字符串
	Extra() interface{}

	// 用户openid
	OpenID() string
}

下单参数

type PluginIfErrorBag

type PluginIfErrorBag interface {
	// 返回错误类型
	Type() string

	// 返回具体错误码
	ErrNo() int

	// 返回具体的错误描述信息
	ErrMsg() string
}

插件错误信息

type PluginIfOrderInfo

type PluginIfOrderInfo interface {
	// 平台单号
	ChargeNo() string

	// 外部系统订单号
	OrderNo() string

	// 支付系统交易单号
	TransactionNo() string

	// 支付渠道
	Chanel() string

	// 订单金额
	Amount() int64

	// 手续费金额
	AmountSettle() int64

	// 支付金额
	AmountPaid() int64

	// 退款金额
	AmountRefund() int64

	// 订单状态
	Status() int

	// 是否支付
	Paid() bool

	// 是否退款
	Refund() bool
}

订单信息

type PluginIfOrderPaidNotifyParams

type PluginIfOrderPaidNotifyParams interface {
	// 支付通道单号
	TransactionNo() string

	// 返回是否支付
	Paid() bool

	// 返回支付金额,未支付返回 0
	PaidFee() int64

	// 支付通道返回的原始数据
	OrgData() string
}

接收的付款通知信息

type PluginIfOrderRefundNotifyParams

type PluginIfOrderRefundNotifyParams interface {
}

接收的退款通知信息

type PluginIfPaymentConfig

type PluginIfPaymentConfig interface {
	// 获取账号
	Account() string

	// 获取商户号
	MerchantId() string

	// 获取通信密钥
	ApiKey() string

	// 获取支付异步通知url
	PaidNotifyUrl() string

	// 获取支付同步回调url
	PaidCallbackUrl() string

	// 获取退款异步通知url
	RefundNotifyUrl() string
}

支付通道配置 配置管理员在后台进行配置

type PluginIfQueriedRefundOrderInfo

type PluginIfQueriedRefundOrderInfo interface {
}

退款订单查询返回订单信息

type PluginIfRefundOrderInfo

type PluginIfRefundOrderInfo interface {
}

退款订单信息

type PluginIfReversedOrderInfo

type PluginIfReversedOrderInfo interface {
}

type PluginIfSupportChannel

type PluginIfSupportChannel interface {
	// 当前通道的所属平台 Alipay / Wxpay
	Platform() string

	// 通道标识
	Channels() []string
}

插件支持的支付平台与渠道

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL