package controllers import ( "net/http" "git.rosy.net.cn/baseapi/platformapi/wxpay" "git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx" "git.rosy.net.cn/jx-callback/globals/api" "github.com/astaxie/beego" ) type WXPayController struct { beego.Controller } func (c *WXPayController) Msg() { if c.Ctx.Input.Method() == http.MethodPost { msg, callbackResponse := api.WxpayAPI.GetCallbackMsg(c.Ctx.Request) if callbackResponse == nil { if err := localjx.OnWxPayCallback(msg); err != nil { if msg.MsgType != wxpay.MsgTypeUnkown { callbackResponse = wxpay.Err2CallbackResponse(err, "") } } } if callbackResponse == nil { callbackResponse = wxpay.SuccessResponse } c.Data["xml"] = callbackResponse c.ServeXML() } else { c.Abort("404") } }