From 92a244c3aabd924c0dcc635293705d7b1d92c40a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 26 Feb 2020 15:56:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=94=AF=E4=BB=98=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E9=80=9A=E8=81=94=E5=AE=9D=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../partner/purchase/jx/localjx/tonglianpay.go | 17 ++++++++++++++++- controllers/tonglian_callback.go | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) 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 {