业务流程
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3
- 过程说明
1
2
3
4
5
6
7
8
9商户系统和微信支付系统主要交互说明:
步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】
步骤5:商户后台接收支付通知。api参见【支付结果通知API】
步骤6:商户后台查询支付结果。,api参见【查询订单API】
生成订单( 微信 )
参考:统一下单接口 <trade_type>APP</trade_type>
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
1 | <xml> |
1 | 假设传送的参数如下: |
微信提供相关接口在线签名验证工具: https://pay.weixin.qq.com/wiki/tools/signverify/
- API密钥
商户平台中设置 https://pay.weixin.qq.com
调起支付
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5
android
1
2
3
4
5
6
7
8
9
10IWXAPI api;
PayReq request = new PayReq();
request.appId = "wxd930ea5d5a258f4f";
request.partnerId = "1900000109";
request.prepayId= "1101000000140415649af9fc314aa427",;
request.packageValue = "Sign=WXPay";
request.nonceStr= "1101000000140429eb40476f8896f4c9";
request.timeStamp= "1398746574";
request.sign= "7FFECB600D7157C5AA49810D2D8F28BC2811827B";
api.sendReq(req);cordova plugin : cordova-plugin-wechat
https://github.com/xu-li/cordova-plugin-wechat
1 | var dto = response.data.object.dto; |
- 该sign生成字段名列表见调起支付API
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12
- 依赖API密钥 (同上)