diff --git a/business/partner/purchase/jx/localjx/tonglianpay.go b/business/partner/purchase/jx/localjx/tonglianpay.go index 6a76dcf0c..0b416f733 100644 --- a/business/partner/purchase/jx/localjx/tonglianpay.go +++ b/business/partner/purchase/jx/localjx/tonglianpay.go @@ -1,11 +1,13 @@ package localjx import ( + "encoding/json" "time" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/baseapi/platformapi/tonglianpayapi" + "git.rosy.net.cn/baseapi/platformapi/wxpayapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" @@ -39,6 +41,8 @@ func pay4OrderByTL(ctx *jxcontext.Context, order *model.GoodsOrder, vendorPayTyp } result, err := api.TLpayAPI.CreateUnitorderOrder(param) if err == nil { + result2 := &wxpayapi.CreateOrderResult{} + json.Unmarshal([]byte(result.PayInfo), &result2) orderPay = &model.OrderPay{ PayOrderID: param.Reqsn, PayType: model.PayTypeTL, @@ -48,10 +52,21 @@ func pay4OrderByTL(ctx *jxcontext.Context, order *model.GoodsOrder, vendorPayTyp VendorID: order.VendorID, Status: 0, PayCreatedAt: payCreatedAt, - PrepayID: result.TrxID, + PrepayID: result2.PrepayID, CodeURL: utils.LimitUTF8StringLen(result.PayInfo, 3200), TotalFee: int(order.ActualPayPrice), } } return orderPay, err } + +func OnTLPayCallback(msg *wxpayapi.CallbackMsg) (err error) { + globals.SugarLogger.Debugf("OnTLPayCallback msg:%s", utils.Format4Output(msg, true)) + switch msg.MsgType { + case wxpayapi.MsgTypePay: + err = onWxpayFinished(msg.Data.(*wxpayapi.PayResultMsg)) + case wxpayapi.MsgTypeRefund: + err = onWxpayRefund(msg.Data.(*wxpayapi.RefundResultMsg)) + } + return err +} diff --git a/controllers/tonglian_callback.go b/controllers/tonglian_callback.go index 3461f7532..f35d23740 100644 --- a/controllers/tonglian_callback.go +++ b/controllers/tonglian_callback.go @@ -25,7 +25,7 @@ func (c *TongLianController) Msg() { if msg.MsgType == wxpayapi.MsgTypeUnkown { err = fmt.Errorf("未知的通联宝支付回调类型:%d", msg.MsgType) } else { - err = localjx.OnWxPayCallback(msg) + err = localjx.OnTLPayCallback(msg) } } if callbackResponse == nil {