wxpay partner

This commit is contained in:
gazebo
2019-12-20 11:19:47 +08:00
parent 4c698967d0
commit 163b27ca6e
4 changed files with 186 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
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)
}