package do import ( "PaymentCenter/app/constants/common" "PaymentCenter/app/models/paychannelmodel" "PaymentCenter/app/third/paymentService" "github.com/bytedance/sonic" ) var RefundWayList = map[int]func(commonRefundInfo *paymentService.OrderRefundRequest, channel *paychannelmodel.PayChannel) error{ common.PAY_CHANNEL_WECHAT_H5: WechatH5Refund, common.PAY_CHANNEL_ALIPAY_WEB: AlipayWebRefund, } func WechatH5Refund(commonRefundInfo *paymentService.OrderRefundRequest, channel *paychannelmodel.PayChannel) error { commonRefundInfo.PayChannel = common.PAY_CHANNLE_TYPE_WECHAT err := sonic.Unmarshal([]byte(channel.ExtJson), &commonRefundInfo.Wx) if err != nil { return err } commonRefundInfo.Wx.AppId = channel.AppId return nil } func AlipayWebRefund(commonRefundInfo *paymentService.OrderRefundRequest, channel *paychannelmodel.PayChannel) error { commonRefundInfo.PayChannel = common.PAY_CHANNLE_TYPE_ZFB err := sonic.Unmarshal([]byte(channel.ExtJson), &commonRefundInfo.Ali) if err != nil { return err } commonRefundInfo.Ali.AppId = channel.AppId return nil }