文章 一月 01, 2018

安卓&小程序微信APP支付注意事项

文章字数 1.1k 阅读约需 1 mins. 阅读次数 0

之前对接了微信的扫码支付和jsapi支付,都是服务端直接将统一下单后微信服务端sdk返回的支付凭据传递给微信对应的方法。

但是在对接微信APP支付时遇到了几个坑,这里记录一下

1.APP支付时服务端拿到统一下单的prepayId和sign后不能直接传递给APP,而是需要将

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2

中提到的appid、partnerid(服务端叫mch_id)、prepayid、package、noncestr、timestamp使用微信提供的签名算法重新加签,并复制给sign参数,然后将这7个参数返回给安卓或ios客户端。最后的格式应该如下

{
    "appid": "wxb6b10ba45d170245",
    "partnerid": "1458722002",
    "prepayid": "wx2017042116330232b49c32660107158966",
    "package": "Sign=WXPay",
    "noncestr": "gTWwChxKNJiNyWvf",
    "timestamp": "1492763582",
    "sign": "BDBC0A06EBB01C46747D04DAA459C439"
}

2.服务端在将步骤1中的6个参数加签的过程中,记得将timestamp转换为string类型后再签名,否则android平台会报-1的错误。

未完待续…😊


上一篇:
下一篇:
0%