支付使用的是V3接口, 统一下单接口:https://api.mch.weixin.qq.com/hk/v3/transactions/jsapi
统一下单可以生成prepay_id,按照国内片小程序支付,处理生成小程序支付参数
其中noncestr,timeStamp参数,与调用统一下单接口时一致
签名按照官方支付相关验证https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1
用MD5或RSA生成签名,也是报一样的错误
保存生成prepay_id时,相关参数,使用官方验证生成支付签名参数,
小程序调用支付也是提示相同错误:支付验证签名失败
注
1、生成prepay_id时,使用的是证书加密,php方法
openssl_sign($signContent, $sign, $privateKey, 'SHA256');
2、js参数签名 时,signType为RSA或MD5,参与和不参与签名都试了
3、js生成数据,以前写过国内的支付,参数名称没问题,
{"nonceStr":"Giticn49pn446Z53143z443Y00T449v4","package":"prepay_id=wx16113915071778e551084ac81552494273","timeStamp":"1563248354","signType":"RSA","paySign":"74304CBE6F31A50241D18E2D367F18ADE37C002181C7681DC3C1B9B3860D6088"}
这里有demo,下载可用 https://blog.csdn.net/changelim/article/details/88724915
请问问题已经解决了吗?
找到了官方文档,找到签名,按签名方法处理即可解决!
解决方法:
签名方式与请求数据签名一致,使用商户私钥对待签名串进行 SHA256 with RSA 签名,并对签名结果 进行 Base64 编码得到签名值。
你好,你们的境外支付怎么申请的,用的直接模式还是服务商的?