收藏
回答

支付中签约,app调起微信后报「支付验证签名失败」

使用下面这些参数生成sign,然后调用api https://api.mch.weixin.qq.com/pay/contractorder,返回值中有一个sign,再使用返回的sign调起app支付,

signParams := map[string]string{
"appid": params.Appid,
"mch_id": params.MchID,
"contract_mchid": params.ContractMchID,
"contract_appid": params.ContractAppID,
"out_trade_no": params.OutTradeNo,
"device_info": params.DeviceInfo,
"nonce_str": params.NonceStr,
"body": params.Body,
"detail": params.Detail,
"notify_url": params.NotifyURL,
"total_fee": fmt.Sprintf("%d", params.TotalFee),
"spbill_create_ip": params.SpbillCreateIP,
"trade_type": params.TradeType,
"plan_id": params.PlanID,
"contract_code": params.ContractCode,
"request_serial": params.RequestSerial,
"contract_display_account": params.ContractDisplayAccount,
"contract_notify_url": params.ContractNotifyURL,
}

调起支付的方法,因为前置流程中没有timeStamp,这里的timeStamp是客户端生成的(没有timeStamp拉不起微信)

回答关注问题邀请回答
收藏

2 个回答

  • Memory (私信不回复)
    Memory (私信不回复)
    星期四 17:04

    调起支付参数全部要后台给你,你前端自己生成timestamp就会和后端计算签名的不匹配了

    星期四 17:04
    有用
    回复
  • 冯涛
    冯涛
    星期四 16:43

    线上已经集成支付,v3版本的api,流程是通的。现在集成v2版本的支付中签约出现的问题

    星期四 16:43
    有用
    回复
登录 后发表内容