|
|
@@ -17,15 +17,19 @@ import (
|
|
|
"strings"
|
|
|
)
|
|
|
|
|
|
-var wxPayCallbackHandler func(result *pay.NotifyResult)models.SysReturn = nil
|
|
|
+// 微信回调处理器
|
|
|
+var _wxPayCallbackHandler func(result *pay.NotifyResult)models.SysReturn = nil
|
|
|
+// 微信通用登录回调处理器
|
|
|
+var _wxLoginCallbackHandler func(ctx *entitys.CtrlContext, body []byte, info *oauth.UserInfo)models.SysReturn = nil
|
|
|
|
|
|
// 注册微信支付回调处理函数
|
|
|
func RegisterWxPayCallbackHandler(handler func(result *pay.NotifyResult)models.SysReturn){
|
|
|
- wxPayCallbackHandler = handler
|
|
|
+ _wxPayCallbackHandler = handler
|
|
|
}
|
|
|
|
|
|
+// 调用微信支付回调处理函数
|
|
|
func CallWxPayCallbackHandler(c *entitys.CtrlContext)models.SysReturn{
|
|
|
- if wxPayCallbackHandler == nil{
|
|
|
+ if _wxPayCallbackHandler == nil{
|
|
|
return models.SysReturn{500, "微信支付回调处理函数为空", nil}
|
|
|
}
|
|
|
data, err := ioutil.ReadAll(c.Ctx.Request.Body)
|
|
|
@@ -50,7 +54,7 @@ func CallWxPayCallbackHandler(c *entitys.CtrlContext)models.SysReturn{
|
|
|
fmt.Println("*****************---->微信支付回调验证错误, ok is false")
|
|
|
return models.SysReturn{500, "", nil}
|
|
|
}
|
|
|
- return wxPayCallbackHandler(¬ifyRet)
|
|
|
+ return _wxPayCallbackHandler(¬ifyRet)
|
|
|
}else{
|
|
|
fmt.Println("------------------>微信支付失败", notifyRet)
|
|
|
return models.SysReturn{500, "", ""}
|
|
|
@@ -58,6 +62,20 @@ func CallWxPayCallbackHandler(c *entitys.CtrlContext)models.SysReturn{
|
|
|
|
|
|
}
|
|
|
|
|
|
+// 注册微信登录回调处理函数
|
|
|
+func RegisterWxLoginCallbackHandler(handler func(ctx *entitys.CtrlContext, body []byte, info *oauth.UserInfo)models.SysReturn){
|
|
|
+ _wxLoginCallbackHandler = handler
|
|
|
+}
|
|
|
+
|
|
|
+// 调用微信登录处理函数
|
|
|
+func CallWxLoginCallbackHandler(ctx *entitys.CtrlContext, body []byte, info *oauth.UserInfo)models.SysReturn{
|
|
|
+ if _wxLoginCallbackHandler == nil{
|
|
|
+ return models.SysReturn{500, "微信登录回调处理函数为空", nil}
|
|
|
+ }else{
|
|
|
+ return _wxLoginCallbackHandler(ctx, body, info)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// 扫码支付
|
|
|
func PayNative(params *PayParams)(*pay.PayResult, error){
|
|
|
ip := utils.GetIP(params.Ctx)
|