一、概念
主要经过小程序内调用登录接口、商户server调用支付统一下单、商户server调用再次签名,商户server接受支付通知,商户server查询支付结果。
二、主要实现步骤
1、小程序调用wx.login方法,获取用户登录凭证code;
2、小程序将code传给自己的开发者后台服务器;
3、开发者服务器根据code向微信服务器请求获取唯一的标识openid;
4、小程序调用支付统一下单接口来获取预支付交易会话标识prepay-id;
5、小程序调用签名并返回支付需要的参数;
6、小程序调用方法==wx.requestPayment()==发起微信支付;
7、开发者后台服务器接收微信服务器的通知及处理微信服务器返回的结果;
(这个图是从一本书上看到的,不知道对不?)
《wx.requestPayment(object)参数说明》
字段 | 是否必填 | 数据类型 | 含义 |
---|---|---|---|
timeStamp | 是 | string | 当前时间 |
nonceStr | 是 | string | 随机字符串,最长为32个字符 |
package | 是 | string | 统一下单接口返回的prepay-id参数值,提交格式为prepay-id=* |
sighType | 是 | string | 签名算法暂支持MD5//“MD5” |
paySign | 是 | string | 签名,具体签名方案参考微信公众号支付帮助文档 |
success | 否 | function | 调用成功的回调函数 |
fail | 否 | function | 调用失败的回调函数 |
complete | 否 | function | 调用结束的回调函数(成功、失败都会执行) |
说明:
商户serverAPI参见微信支付官方网站“开发文档(V2版)”——普通商户版——小程序支付。