常用术语:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=2_1
- 在微信开发平台(http://open.weixin.qq.com),申请App支付。微信工作人员审核无误后,会发送一篇邮件到申请资料里填写的邮箱中。 邮箱里的账户参数与API参数对应说明.png
- 微信支付的业务流程
交互时序图:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3
业务流程详解:
- 用户在商户APP中选择商品,提交订单,选择微信支付(App请求生成支付订单)。
- 商户后台系统收到请求App请求后,调用微信支付统一下单接口,参见【统一下单API】
- 商户后台系统通过调用统一下单接口后,收到正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay 【签名算法】
- 用户确认支付后,App端调用微信支付。【app端开发步骤说明】
- 商户后台系统接收到微信支付系统的支付通知【支付结果通知API】
- 商户App去后台查询支付结果【查询订单API】
注意:完成统一下单接口调用,给APP生成支付订单。注意金额的单位为分,首先调用统计下单接口,返回的数据有:prepayid(微信生成的预支付会话标识,用于后续接口调用中使用,该值有效期为2小时),nonce_str(微信返回的随机字符串),微信有封装好的时间戳生成方法:WxPayApi.GenerateTimeStamp(),可以直接调用,将各个需要的参数SetValue后需要生成签名,调用MakeSign()生成签名后SetValue给sign,最后需要返回给APP的字段包含sign,timestamp,package。
- 开发完之后,提交支付验收申请,参照【支付验收】
服务端接入微信支付资源下载地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
Android接入微信支付资源下载地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=
App接入支付宝支付:https://docs.open.alipay.com/204
网友评论