接入virgopay

dev_aagame
zhora 1 week ago
parent fd8561b5b4
commit 744dcd31c3
  1. 4
      modules/pay/handler.go
  2. 4
      modules/pay/virgopay/base.go
  3. 4
      modules/web/app/response.go
  4. 5
      modules/web/handler/recharge.go

@ -2,6 +2,7 @@ package pay
import ( import (
"errors" "errors"
"github.com/google/uuid"
"server/call" "server/call"
"server/common" "server/common"
"server/db" "server/db"
@ -21,6 +22,9 @@ func Recharge(req *pb.InnerRechargeReq) (ret []byte, err error) {
// 还原amount // 还原amount
// req.Amount /= common.DecimalDigits // req.Amount /= common.DecimalDigits
payWay := values.PayWay(req.Channel) payWay := values.PayWay(req.Channel)
if req.DeviceID == "" {
req.DeviceID = uuid.New().String()
}
log.Debug("recharge req:%+v,channel:%+v", req, payWay) log.Debug("recharge req:%+v,channel:%+v", req, payWay)
// 首先判断个卡 // 首先判断个卡
// if req.IsPersonalCard && values.IsPayChannelValid(int(values.IGeekPay), req.Amount) { // if req.IsPersonalCard && values.IsPayChannelValid(int(values.IGeekPay), req.Amount) {

@ -206,7 +206,7 @@ func (s *Sub) CheckSign(str string) bool {
checkSign = req.Sign checkSign = req.Sign
s.Base.CallbackResp.OrderID = req.MOrderId s.Base.CallbackResp.OrderID = req.MOrderId
s.Base.CallbackResp.Success = req.Status == 3 s.Base.CallbackResp.Success = req.Status == 3
mySign = s.Base.SignMD5(req) mySign = s.Base.SignMD5(req, s.Base.SignPassStr...)
} else if s.Base.Opt == base.OPTWithdrawCB { } else if s.Base.Opt == base.OPTWithdrawCB {
req := s.Base.CallbackReq.(*WithdrawCallbackReq) req := s.Base.CallbackReq.(*WithdrawCallbackReq)
log.Debug("checkSign withdraw:%+v", *req) log.Debug("checkSign withdraw:%+v", *req)
@ -215,7 +215,7 @@ func (s *Sub) CheckSign(str string) bool {
s.Base.CallbackResp.Success = req.Status == 3 s.Base.CallbackResp.Success = req.Status == 3
s.Base.CallbackResp.APIOrderID = req.OrderId s.Base.CallbackResp.APIOrderID = req.OrderId
s.Base.CallbackResp.FailMessage = req.Message s.Base.CallbackResp.FailMessage = req.Message
mySign = s.Base.SignMD5(req) mySign = s.Base.SignMD5(req, s.Base.SignPassStr...)
} }
return mySign == checkSign return mySign == checkSign
} }

@ -2,6 +2,7 @@ package app
import ( import (
"encoding/json" "encoding/json"
"github.com/google/uuid"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"net/url" "net/url"
@ -77,6 +78,9 @@ func NewApp(c *gin.Context) *Gin {
} }
} }
g.UUID = c.GetHeader("uuid") g.UUID = c.GetHeader("uuid")
if g.UUID == "" {
g.UUID = uuid.New().String()
}
deviceType := c.GetHeader("platform") deviceType := c.GetHeader("platform")
g.DeviceType, _ = strconv.Atoi(deviceType) g.DeviceType, _ = strconv.Atoi(deviceType)
return g return g

@ -270,7 +270,7 @@ func PlayerRecharge(c *gin.Context) {
if req.UserPhone == "" { if req.UserPhone == "" {
req.UserPhone = util.CheckPhone(req.UserPhone) req.UserPhone = util.CheckPhone(req.UserPhone)
} }
payImp := NewRechargeImp(req, a.UID, a.Channel, a.GetRemoteIP()) payImp := NewRechargeImp(req, a.UID, a.Channel, a.GetRemoteIP(), a.UUID)
if payImp == nil { if payImp == nil {
a.Code = values.CodeRetry a.Code = values.CodeRetry
a.Msg = "channel unavailable" a.Msg = "channel unavailable"
@ -305,7 +305,7 @@ func PlayerRecharge(c *gin.Context) {
} }
} }
func NewRechargeImp(req *values.RechargeReq, uid, cid int, ip string) *RechargeImp { func NewRechargeImp(req *values.RechargeReq, uid, cid int, ip, uuid string) *RechargeImp {
r := new(RechargeImp) r := new(RechargeImp)
r.Channel = call.GetChannelByID(cid) r.Channel = call.GetChannelByID(cid)
if r.Channel == nil { if r.Channel == nil {
@ -370,6 +370,7 @@ func NewRechargeImp(req *values.RechargeReq, uid, cid int, ip string) *RechargeI
p.req.Phone = req.UserPhone p.req.Phone = req.UserPhone
p.req.Amount = req.Amount p.req.Amount = req.Amount
p.req.PlayerChannel = uint32(cid) p.req.PlayerChannel = uint32(cid)
p.req.DeviceID = uuid
if req.CurrencyType == common.CurrencyINR { if req.CurrencyType == common.CurrencyINR {
// 判断黑名单 // 判断黑名单
if call.BlackListAndKick(uid, &common.BlackList{Phone: info.Mobile}) { if call.BlackListAndKick(uid, &common.BlackList{Phone: info.Mobile}) {

Loading…
Cancel
Save