文档:
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7
一.一般要开发的两个接口
1.统一下单
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1
2.申请退款
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_4
3.签名规则
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3
二.小程序支付时序图
关键就是wx.requestPayment(object)
2.ps商户系统和微信支付系统主要交互:
1、小程序内调用登录接口,获取到用户的openid,api参见公共api【 小程序登录API 】
2、商户server调用支付统一下单,api参见公共api【 统一下单API 】
3、商户server调用再次签名,api参见公共api【 再次签名 】
4、商户server接收支付通知,api参见公共api【 支付结果通知API 】
5、商户server查询支付结果,api参见公共api【 查询订单API 】
三.微信小程序支付实现步骤
1.获取登录凭证code 并传给后端服务器
2.后端服务器请求微信服务器获取openid和session_key,并将openid返回给小程序
3.小程序客服端发起支付请求给后端服务器 (带上openid参数)
4.后端服务器接收到openId后,调用微信支付统一下单接口(后端调用的,用来给小程序获取支付参数)
5.拿到后端服务器返回的5个参数后,调用最终支付接口wx.requestPayment
6.微信服务器进行支付成功后,通知后端服务器。
环境: 服务器系统:centos 7.2 站点环境:nginx 遇到问题: 1、微信小程序端请求服务器登陆接口,服务端收到请求后向微信接口服务器请求数据,请求成功后返回数据给客户端,但是请求微信接口服务器经常性出现超时问题,请求超时时间设置成10S依然会提示超时,只有偶尔的一两次会请求成功; 解决方法: 1、首先在服务器上通过终端先ping一下微信的接口域名:api.weixin.qq.com如果发现域名解析ip地址时间非常长的话说明是dns解析超时的问题; 2、找到原因后,更改服务器etc/resolv.conf文件中的dns服务器地址 你可以测试一下哪个dns在你服务器上解析速度最快你就把相应的ip地址放到最上面就可以了; 3、基本上你调整过之后,你在访问微信的登陆授权接口基本上就是毫秒级别的; 备注:windows系统的服务器如果也是dns解析慢的问题,也可以参考这种方式进行修改,不过估计文件路径不一样可以自行百度;欢迎分享,转载请注明来源:夏雨云
评论列表(0条)