|
|
@@ -460,14 +460,14 @@ func WebPayHwDn2Notify(c *gin.Context) {
|
|
|
}
|
|
|
cpOrderId := extras.OrderNo
|
|
|
if cpOrderId != "" {
|
|
|
- f64, err := strconv.ParseFloat(payAmount, 32)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("Error:", err)
|
|
|
- return
|
|
|
- }
|
|
|
+ //f64, err := strconv.ParseFloat(payAmount, 64)
|
|
|
+ //if err != nil {
|
|
|
+ // fmt.Println("Error:", err)
|
|
|
+ // return
|
|
|
+ //}
|
|
|
util.WarnF("paycallbackDn2 uid=%v cpOrderNo=%v orderNo=%v payAmount=%v",
|
|
|
extras.Uid, cpOrderId, orderId, payAmount)
|
|
|
- res := webPayNotifyDn(cpOrderId, f64)
|
|
|
+ res := webPayNotifyDn(cpOrderId, payAmount)
|
|
|
if res == "SUCCESS" {
|
|
|
c.JSON(http.StatusOK, gin.H{"status": 0})
|
|
|
} else {
|
|
|
@@ -594,12 +594,12 @@ func WebPayHwDnNotify(c *gin.Context) {
|
|
|
}
|
|
|
cpOrderId := params["order_code"]
|
|
|
payAmount := params["amount"]
|
|
|
- f64, err := strconv.ParseFloat(payAmount, 32)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("Error:", err)
|
|
|
- return
|
|
|
- }
|
|
|
- res := webPayNotifyDn(cpOrderId, f64)
|
|
|
+ //f64, err := strconv.ParseFloat(payAmount, 32)
|
|
|
+ //if err != nil {
|
|
|
+ // fmt.Println("Error:", err)
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ res := webPayNotifyDn(cpOrderId, payAmount)
|
|
|
|
|
|
//// 简单粗暴,直接给其他服转发,不需要确认是哪个服
|
|
|
//payPostRouter := service.GetServiceConfig().SDKConfig.PayPostRouter
|
|
|
@@ -982,7 +982,7 @@ func webPayNotify(webNtf *WebNotifyData, payAmount float32, c *gin.Context) stri
|
|
|
return "SUCCESS"
|
|
|
}
|
|
|
|
|
|
-func webPayNotifyDn(cpOrderId string, Amount float64) string {
|
|
|
+func webPayNotifyDn(cpOrderId string, Amount string) string {
|
|
|
//流程处理gmweb保存订单状态到redis中设置为 成功充值状态
|
|
|
//发送给gameserver,成功收到后设置订单状态为成功获取充值状态,如果gameserver没有收到
|
|
|
//每次玩家上线时,重新获取一次订单状态如果是成功充值,但是没有获取成功就获取一次
|
|
|
@@ -1010,16 +1010,17 @@ func webPayNotifyDn(cpOrderId string, Amount float64) string {
|
|
|
}
|
|
|
if payInfo.OrderState == int32(serverproto.PayOrderState_EPayOrderState_Gen) {
|
|
|
//实际支付 == 订单的钱,否则为支付失败
|
|
|
- payAmount := int32(Amount * 10) //该渠道是以分为单位(游戏以卢布为单位)
|
|
|
+ //payAmount := int32(Amount * 1000)
|
|
|
////服务器订单实际金额:
|
|
|
- orderAmount := int32(payInfo.Amount * 1000)
|
|
|
- if payAmount == orderAmount {
|
|
|
+ orderAmount := fmt.Sprintf("%.2f", payInfo.Amount)
|
|
|
+ if Amount == orderAmount {
|
|
|
payInfo.OrderState = int32(serverproto.PayOrderState_EPayOrderState_PayOk)
|
|
|
} else {
|
|
|
payInfo.OrderState = int32(serverproto.PayOrderState_EPayOrderState_PayFailed)
|
|
|
- util.ErrorF("uid=%v WebPayQuickNotify failed payAmount:%v order=%v", payInfo.Uid, payAmount, payInfo)
|
|
|
+ util.ErrorF("uid=%v WebPayQuickNotify failed payAmount:%v order=%v ,price=%v", payInfo.Uid, Amount, payInfo, orderAmount)
|
|
|
+ return ""
|
|
|
}
|
|
|
- payInfo.OrderState = int32(serverproto.PayOrderState_EPayOrderState_PayOk)
|
|
|
+ //payInfo.OrderState = int32(serverproto.PayOrderState_EPayOrderState_PayOk)
|
|
|
payInfo.OrderProcessTime = util.GetTimeMilliseconds()
|
|
|
//payInfo.SdkOrderId = webNtf.SdkOrderId //sdk订单id\
|
|
|
//payInfo.PayMethod = webNtf.PayMethod
|