52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package pay
|
|
|
|
import (
|
|
"time"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
|
)
|
|
|
|
type PayOpStatus int
|
|
|
|
const (
|
|
OpStatusFailed PayOpStatus = 0
|
|
OpStatusSuccessed PayOpStatus = 1
|
|
)
|
|
|
|
type CreatePayParam struct {
|
|
PayOrderID string
|
|
VendorPayType string
|
|
|
|
VendorOrderID string
|
|
ProductDesc string
|
|
ProductDetail string
|
|
FeeType string
|
|
TotalFee int
|
|
TimeStart time.Time
|
|
TimeExpire time.Time
|
|
|
|
UserData string
|
|
}
|
|
|
|
type PayOpResult struct {
|
|
Status PayOpStatus
|
|
VendorStatus string
|
|
ErrMsg string
|
|
|
|
ID string
|
|
VendorID string
|
|
|
|
OriginalData string
|
|
}
|
|
|
|
type ResponseHandler interface {
|
|
OnCreatePay(vendorID int, result *PayOpResult) (err error)
|
|
OnRefundPay(vendorID int, result *PayOpResult) (err error)
|
|
}
|
|
|
|
type IPayPlatformHandler interface {
|
|
CreatePay(ctx *jxcontext.Context, param *CreatePayParam, isOffline bool) (prepayID, qrCodeURL string, err error)
|
|
ClosePay(ctx *jxcontext.Context, payOrderID, vendorPayOrderID string) (err error)
|
|
RefundPay(ctx *jxcontext.Context, payOrderID, vendorPayOrderID, refundID, reason string, totalFee, refundFee int) (vendorRefundID string, err error)
|
|
}
|