diff --git a/api/proto/vas/proto/op.go b/api/proto/vas/proto/op.go index 9c8cda35..9d7cb8f1 100644 --- a/api/proto/vas/proto/op.go +++ b/api/proto/vas/proto/op.go @@ -118,3 +118,9 @@ type OpOrderListData struct { //Offset int `json:"offset"` //More int `json:"more"` } + +type WxpayCallbackManualParam struct { + OrderId string `json:"order_id"` // 我们自己服务的订单id + OutOrderId string `json:"out_order_id"` // 外部订单id,比如支付宝、微信 + CallbackPayType string `json:"callback_pay_type"` // 支付类型 +} diff --git a/app/mix/controller/init.go b/app/mix/controller/init.go index 973e115c..4f5651ed 100644 --- a/app/mix/controller/init.go +++ b/app/mix/controller/init.go @@ -290,6 +290,7 @@ func Init(r *gin.Engine) { extVasPayGroup := r.Group("/ext/vas") extVasPayGroup.POST("alipay_callback", AlipayCallback) extVasPayGroup.POST("wxpay_callback", WxpayCallback) + extVasPayGroup.POST("wxpay_callback_manual", middleware.JSONParamValidator(vasproto.WxpayCallbackManualParam{}), WxpayCallbackManual) opVasPayGroup := r.Group("/op/vas", PrepareOp()) opVasPayGroup.POST("create_order", middleware.JSONParamValidator(vasproto.OpCreateOrderReq{}), OpCreateOrder) diff --git a/app/mix/controller/wxpay_callback.go b/app/mix/controller/wxpay_callback.go index d39f3cb0..4e6fca8c 100644 --- a/app/mix/controller/wxpay_callback.go +++ b/app/mix/controller/wxpay_callback.go @@ -31,3 +31,13 @@ func WxpayCallback(ctx *gin.Context) { } ctx.String(200, "success") } + +func WxpayCallbackManual(ctx *gin.Context) { + req := ctx.MustGet("client_req").(*vasproto.WxpayCallbackManualParam) + service.DefaultService.PayCallback(ctx, &vasproto.PayCallbackParamIn{ + OrderId: req.OrderId, + OutOrderId: req.OutOrderId, + CallbackPayType: vasproto.CallBackPayTypeWxpay, + }) + ctx.String(200, "success") +}