This commit is contained in:
Hiven
2023-07-28 19:03:36 +08:00
parent ae717f932e
commit 1225a4efdc
23 changed files with 403 additions and 18 deletions

View File

@@ -20,7 +20,12 @@ func NewPayDriver(PayMethod int64, config *Config) Pay {
// Pay 支付集成接口
type Pay interface {
// 支付预处理
GeneratePrepayment(req *GeneratePrepaymentReq) (res *GeneratePrepaymentRes, err error)
// 支付退款申请
PayRefund(req *PayRefundReq) (res *PayRefundRes, err error)
}
type GeneratePrepaymentReq struct {
@@ -41,3 +46,10 @@ type GeneratePrepaymentRes struct {
ClientSecret string `json:"clientSecret"` //交易密钥
SessionId string `json:"session_id"` //SessionId
}
type PayRefundReq struct {
TradeNo string `json:"trade_no"` // 交易编号
}
type PayRefundRes struct {
}

View File

@@ -3,12 +3,25 @@ package pay
import (
"github.com/stripe/stripe-go/v74"
"github.com/stripe/stripe-go/v74/checkout/session"
"github.com/stripe/stripe-go/v74/refund"
"github.com/zeromicro/go-zero/core/logx"
)
type Stripe struct {
Key string `json:"key"`
}
// 生成退款
func (stripePay *Stripe) PayRefund(req *PayRefundReq) (res *PayRefundRes, err error) {
stripe.Key = stripePay.Key
params := &stripe.RefundParams{PaymentIntent: stripe.String(req.TradeNo)}
_, err = refund.New(params)
if err != nil {
logx.Error(err)
}
return res, err
}
// 生成预付款
func (stripePay *Stripe) GeneratePrepayment(req *GeneratePrepaymentReq) (res *GeneratePrepaymentRes, err error) {
var productData stripe.CheckoutSessionLineItemPriceDataProductDataParams