fix
This commit is contained in:
parent
9916c644de
commit
1277bbafc9
|
@ -40,6 +40,7 @@ type CreateOrderReq struct {
|
|||
Oid1 string
|
||||
Oid2 string
|
||||
Oid3 string
|
||||
ReturnUrl string
|
||||
}
|
||||
|
||||
type CreateOrderData struct {
|
||||
|
@ -122,7 +123,7 @@ type H5DirectUnlockWechatReq struct {
|
|||
}
|
||||
|
||||
type H5DirectUnlockWechatData struct {
|
||||
CoinEnough int `json:"coin_enough"` // 0:不够(用下面的支付宝参数),1:够
|
||||
CoinEnough int32 `json:"coin_enough"` // 0:不够(用下面的支付宝参数),1:够
|
||||
OrderId string `json:"order_id"` // 订单id
|
||||
AlipayParamStr string `json:"alipay_param_str"` // 支付宝 app支付参数
|
||||
AlipayH5ParamStr string `json:"alipay_h5_param_str"` // 支付宝 h5支付参数
|
||||
|
|
|
@ -148,7 +148,7 @@ func (v *Vas) CreateOrder(ctx *gin.Context, req *vasproto.CreateOrderReq) (data
|
|||
OutTradeNo: orderId,
|
||||
Subject: product.Subject,
|
||||
TotalAmount: product.RealPrice,
|
||||
TimeOutSeconds: 7200,
|
||||
TimeOutSeconds: 900,
|
||||
}
|
||||
alipayParamStr, err = alipayCli.AppPay(ctx, appPayParam)
|
||||
if err != nil {
|
||||
|
@ -161,7 +161,8 @@ func (v *Vas) CreateOrder(ctx *gin.Context, req *vasproto.CreateOrderReq) (data
|
|||
OutTradeNo: orderId,
|
||||
Subject: product.Subject,
|
||||
TotalAmount: product.RealPrice,
|
||||
TimeOutSeconds: 7200,
|
||||
TimeOutSeconds: 900,
|
||||
ReturnUrl: req.ReturnUrl,
|
||||
}
|
||||
alipayH5ParamStr, err = alipayCli.WapPay(ctx, appPayParam)
|
||||
if err != nil {
|
||||
|
@ -1362,12 +1363,16 @@ func (v *Vas) H5DirectUnlockWechat(ctx *gin.Context, req *vasproto.H5DirectUnloc
|
|||
|
||||
// 金币够不够
|
||||
if wallet.GetCoins() >= uVas.GetH5WechatCoinPrice() {
|
||||
v.OneStepUnlockContact(ctx, &vasproto.OneStepUnlockContactReq{
|
||||
_, _, _, err = v.OneStepUnlockContact(ctx, &vasproto.OneStepUnlockContactReq{
|
||||
BaseRequest: req.BaseRequest,
|
||||
ContactProductId: dbstruct.ProductIdContactWechat,
|
||||
Uid: req.Uid,
|
||||
InviterMid: req.InviterMid,
|
||||
})
|
||||
if err != nil {
|
||||
logger.Error("OneStepUnlockContact fail, req: %v, err: %v", util.ToJson(req), err)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -1381,6 +1386,7 @@ func (v *Vas) H5DirectUnlockWechat(ctx *gin.Context, req *vasproto.H5DirectUnloc
|
|||
CalcPrice: uVas.GetH5WechatCoinPrice() * 10,
|
||||
Uid: uid,
|
||||
Oid1: fmt.Sprintf("%d", uid),
|
||||
ReturnUrl: "https://tiefen.fun/purchased",
|
||||
})
|
||||
if err != nil {
|
||||
logger.Error("CreateOrder fail, req: %v, err: %v", util.ToJson(req), err)
|
||||
|
@ -1440,6 +1446,10 @@ func (v *Vas) AlipayCallback(ctx *gin.Context, p *vasproto.AlipayCallbackParamIn
|
|||
|
||||
// ali_order_id检查
|
||||
outOrder, err := v.store.GetOrderByOutOrderId(ctx, nil, alipayOrderId)
|
||||
switch err {
|
||||
case sql.ErrNoRows:
|
||||
err = nil
|
||||
}
|
||||
if err != nil {
|
||||
logger.Error("GetOrderByOutOrderId fail, p: %v, err: %v", util.ToJson(p), err)
|
||||
return
|
||||
|
|
|
@ -920,6 +920,7 @@ func (s *Service) GetCoinsProductList(ctx *gin.Context, req *vasproto.GetCoinsPr
|
|||
}
|
||||
|
||||
func (s *Service) CreateOrder(ctx *gin.Context, req *vasproto.CreateOrderReq) (data *vasproto.CreateOrderData, ec errcode.ErrCode) {
|
||||
req.ReturnUrl = "https://tiefen.fun/pay"
|
||||
data, err := _DefaultVas.CreateOrder(ctx, req)
|
||||
ec, err = errs.DealVasErr(err)
|
||||
if err != nil {
|
||||
|
|
|
@ -48,6 +48,7 @@ func (c *AlipayClient) ParseNotify(req *http.Request) (notify gopay.BodyMap, err
|
|||
logger.Error("ParseNotifyToBodyMap fail, req: %v, err: %v", util.ToJson(req), err)
|
||||
return
|
||||
}
|
||||
logger.Info("Alipay ParseNotify, %v", util.ToJson(notifyTmp))
|
||||
// 验签
|
||||
ok, err := alipay.VerifySign("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl9Pj5j6cNRdaDyWTWWFkcBViDqw/py1bDrqe7VykND1JywgLsFogeKGG0YhJfTfEeExAlGlP2DUV7z0uc8QhCMF7N+qdfXNb/RemFIpSs71i9kkaFIJEl20JnWipps96LwZLDpNRck3Nho/Xnbs4wuft3sQtd7T0sB2zEYyl7OyuTqehcoz3uAQp0JOYBosVPpgofaD6BN2RSZQ33QvqS37w3xHLif8P7hfYXdeIe+JxeHmchzQK22dRzJinYfU+pKE5J2Wm+dq1l3/ls4w8Xc3RyqvvW2UMx2lOMtSg2WWXDDi1skmHn/l1BbBP/uogNq4Avf50eoZ1UE6JxPrZpQIDAQAB", notifyTmp)
|
||||
if err != nil {
|
||||
|
@ -95,6 +96,7 @@ type WapPayParam struct {
|
|||
Subject string // 主题
|
||||
TotalAmount int64 // 金额,单位:分
|
||||
TimeOutSeconds int // 订单有效时间,单位:秒
|
||||
ReturnUrl string // 支付宝return_url
|
||||
}
|
||||
|
||||
func (c *AlipayClient) WapPay(ctx context.Context, param *WapPayParam) (alipayWapParamStr string, err error) {
|
||||
|
@ -108,6 +110,9 @@ func (c *AlipayClient) WapPay(ctx context.Context, param *WapPayParam) (alipayWa
|
|||
"time_expire": time.Now().Add(time.Second * time.Duration(param.TimeOutSeconds)).Format("2006-01-02 15:04:05"),
|
||||
"notify_url": c.NotifyUrl,
|
||||
}
|
||||
if len(param.ReturnUrl) > 0 {
|
||||
bm["return_url"] = param.ReturnUrl
|
||||
}
|
||||
alipayWapParamStr, err = c.TradeWapPay(ctx, bm)
|
||||
if err != nil {
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue