|
@@ -157,22 +157,20 @@ func getMd5Sign(callbackKey string, params map[string]string) string {
|
|
|
// 海外版quick回调
|
|
// 海外版quick回调
|
|
|
func WebPayHwQuickNotify(c *gin.Context) {
|
|
func WebPayHwQuickNotify(c *gin.Context) {
|
|
|
|
|
|
|
|
|
|
+ params := make(map[string]string)
|
|
|
if err := c.Request.ParseForm(); err != nil {
|
|
if err := c.Request.ParseForm(); err != nil {
|
|
|
- util.ErrorF("参数异常 c.Request.ParseForm() err: %v", err)
|
|
|
|
|
- c.JSON(http.StatusOK, "FAIL")
|
|
|
|
|
|
|
+ util.InfoF("parseForm falied")
|
|
|
|
|
+ c.String(http.StatusOK, "FAILED")
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- params := make(map[string]string)
|
|
|
|
|
for key, value := range c.Request.PostForm {
|
|
for key, value := range c.Request.PostForm {
|
|
|
params[key] = value[0] // 假设每个参数只有一个值
|
|
params[key] = value[0] // 假设每个参数只有一个值
|
|
|
}
|
|
}
|
|
|
- util.InfoF("获取支付回调参数:%v\n", params)
|
|
|
|
|
- callbackKey := service.GetServiceConfig().SDKConfig.QuickCallbackKey
|
|
|
|
|
- //util.InfoF("callbackKey:%v\n", callbackKey)
|
|
|
|
|
- newSign := getMd5Sign(callbackKey, params)
|
|
|
|
|
- if newSign != params["sign"] {
|
|
|
|
|
- util.ErrorF("签名错误%v", params["sign"])
|
|
|
|
|
- c.JSON(http.StatusOK, "FAIL")
|
|
|
|
|
|
|
+ sign := params["sign"]
|
|
|
|
|
+ newSign := getMd5Sign("26819222132997854902564276561393", params)
|
|
|
|
|
+ if newSign != sign {
|
|
|
|
|
+ util.ErrorF("签名错误%v", sign)
|
|
|
|
|
+ c.String(http.StatusOK, "FAILED")
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
uid := c.PostForm("uid")
|
|
uid := c.PostForm("uid")
|
|
@@ -189,7 +187,7 @@ func WebPayHwQuickNotify(c *gin.Context) {
|
|
|
ntfData.PayCurrency = payCurrency
|
|
ntfData.PayCurrency = payCurrency
|
|
|
ntfData.PayTime = uint64(util.GetTimeSeconds())
|
|
ntfData.PayTime = uint64(util.GetTimeSeconds())
|
|
|
ntfData.PayChannel = "qk_hw"
|
|
ntfData.PayChannel = "qk_hw"
|
|
|
- util.DebugF("uid=%v cpOrderNo=%v orderNo=%v payAmount=%v payCurrency=%v payType=%v usdAmount=%v",
|
|
|
|
|
|
|
+ util.WarnF("paycallback uid=%v cpOrderNo=%v orderNo=%v payAmount=%v payCurrency=%v payType=%v usdAmount=%v",
|
|
|
uid, cpOrderId, orderNo, payAmount, payCurrency, payType, usdAmount)
|
|
uid, cpOrderId, orderNo, payAmount, payCurrency, payType, usdAmount)
|
|
|
f64, err := strconv.ParseFloat(usdAmount, 32)
|
|
f64, err := strconv.ParseFloat(usdAmount, 32)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -200,8 +198,9 @@ func WebPayHwQuickNotify(c *gin.Context) {
|
|
|
|
|
|
|
|
// 简单粗暴,直接给其他服转发,不需要确认是哪个服
|
|
// 简单粗暴,直接给其他服转发,不需要确认是哪个服
|
|
|
payPostRouter := service.GetServiceConfig().SDKConfig.PayPostRouter
|
|
payPostRouter := service.GetServiceConfig().SDKConfig.PayPostRouter
|
|
|
- util.InfoF("payPostRouter:%v\n", payPostRouter)
|
|
|
|
|
|
|
+ util.WarnF("paycallback payPostRouter:%v\n", payPostRouter)
|
|
|
// 组装转发body
|
|
// 组装转发body
|
|
|
|
|
+ params["sign"] = sign
|
|
|
var routerStr strings.Builder
|
|
var routerStr strings.Builder
|
|
|
for key, value := range params {
|
|
for key, value := range params {
|
|
|
routerStr.WriteString(key)
|
|
routerStr.WriteString(key)
|
|
@@ -210,33 +209,38 @@ func WebPayHwQuickNotify(c *gin.Context) {
|
|
|
routerStr.WriteString("&")
|
|
routerStr.WriteString("&")
|
|
|
}
|
|
}
|
|
|
routerString := routerStr.String()
|
|
routerString := routerStr.String()
|
|
|
- util.InfoF("支付 routerString:%v\n", routerString)
|
|
|
|
|
- for _, urlPost := range payPostRouter {
|
|
|
|
|
- sendPostToOtherServer(urlPost, []byte(routerString))
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ util.WarnF("paycallback routerString:%v\n", routerString)
|
|
|
|
|
+ go sendPosts(payPostRouter, routerString)
|
|
|
|
|
|
|
|
c.JSON(http.StatusOK, "SUCCESS")
|
|
c.JSON(http.StatusOK, "SUCCESS")
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func sendPosts(urls []string, routerString string) {
|
|
|
|
|
+ for i := 0; i < len(urls); i++ {
|
|
|
|
|
+ sendPostToOtherServer(urls[i], []byte(routerString))
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// http://110.40.223.119:8002/pay/hwQucikFromS1GmWeb
|
|
// http://110.40.223.119:8002/pay/hwQucikFromS1GmWeb
|
|
|
func WebPayHwQuickNotifyFromS1GmWeb(c *gin.Context) {
|
|
func WebPayHwQuickNotifyFromS1GmWeb(c *gin.Context) {
|
|
|
|
|
|
|
|
|
|
+ params := make(map[string]string)
|
|
|
if err := c.Request.ParseForm(); err != nil {
|
|
if err := c.Request.ParseForm(); err != nil {
|
|
|
- util.ErrorF("参数异常 c.Request.ParseForm() err: %v", err)
|
|
|
|
|
- c.JSON(http.StatusOK, "FAIL")
|
|
|
|
|
|
|
+ util.InfoF("parseForm falied")
|
|
|
|
|
+ c.String(http.StatusOK, "FAILED")
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- params := make(map[string]string)
|
|
|
|
|
for key, value := range c.Request.PostForm {
|
|
for key, value := range c.Request.PostForm {
|
|
|
params[key] = value[0] // 假设每个参数只有一个值
|
|
params[key] = value[0] // 假设每个参数只有一个值
|
|
|
}
|
|
}
|
|
|
- util.InfoF("获取支付回调参数:%v", params)
|
|
|
|
|
- callbackKey := service.GetServiceConfig().SDKConfig.QuickCallbackKey
|
|
|
|
|
- newSign := getMd5Sign(callbackKey, params)
|
|
|
|
|
- if newSign != params["sign"] {
|
|
|
|
|
- util.ErrorF("签名错误%v", params["sign"])
|
|
|
|
|
- c.JSON(http.StatusOK, "FAIL")
|
|
|
|
|
|
|
+ sign := params["sign"]
|
|
|
|
|
+ newSign := getMd5Sign("26819222132997854902564276561393", params)
|
|
|
|
|
+ util.ErrorF("sign:%v", sign)
|
|
|
|
|
+ util.ErrorF("newSign:%v", newSign)
|
|
|
|
|
+ util.ErrorF("params:%v", params)
|
|
|
|
|
+ if newSign != sign {
|
|
|
|
|
+ util.ErrorF("签名错误%v", sign)
|
|
|
|
|
+ c.String(http.StatusOK, "FAILED")
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
uid := c.PostForm("uid")
|
|
uid := c.PostForm("uid")
|