package request import "github.com/shopspring/decimal" const ( WxPayChannelCode = "WxPay" AlipayChannelCode = "AliPay" ) type RefundReq[T any] struct { TransactionId string // 支付单号 OutTransactionId string // DD game内部唯一支付单号 OutRefundNo string // 退款单号,DD Game内部退款唯一单号 Reason string // 退款原因 1、该退款原因参数的长度不得超过80个字节;2、当订单退款金额小于等于1元且为部分退款时,退款原因将不会在消息中体现。 RefundDetail T ChannelCode string //渠道 Code WxPay|AliPay } type AliPayRefund struct { RefundAmount decimal.Decimal // 退款金额,alipay单位是元(两位小数),此处统一成分 } type WxPayRefund struct { RefundAmount decimal.Decimal // 退款金额,wx单位是分,alipay单位是元(两位小数),此处统一成分 PayAmount decimal.Decimal // 原支付订单的金额 } func (req *RefundReq[T]) CheckParameter() (err error) { return nil }