微信小程序实现微信支付功能流程
2018-12-11 本文已影响22人
魔王哪吒

微信小程序实现微信支付功能流程
微信支付: https://pay.weixin.qq.com/wiki/doc/api/index.html

进行选择接入


步骤:
小程序调用登录接口,获取用户的openid
, wx.login(object)
, 通过调用接口获取登录凭证code
进行获取登录用户信息,包含用户的唯一标识(openid
)以及本次登录的会话密钥(session_key
).
用code
获取session_key
, 这是一个https
接口,开发者服务器使用登录凭证code
获取session_key
和openid
.其中session_key
是对用户数据进行保密的密钥.为了安全,不能将session_key
在网络上传输.

获取的openid
商户在小程序中先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易后调起支付。其实微信是提供java,net,php三种语言的封装包。
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1

微信小程序-支付http://www.cnblogs.com/jcscript/p/6126722.html
需要支付的
perpay_id
wx.requestPayment(OBJECT)-微信支付
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
timeStamp |
String |
是 | 时间戳从1970年1月1日00:00:00至今的秒数,即当前的时间 |
nonceStr |
String |
是 | 随机字符串。 |
package |
String |
是 | 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** |
signType |
String |
是 | 签名算法,暂支持 MD5 |
paySign |
String |
是 | 签名,具体签名方案参见小程序支付接口文档; |
wx.requestPayment({
"timeStamp": "",
"nonceStr": "",
"package": "",
"signType": "MD5",
"paySign": "",
"success":function(res){
},
"fail":function(res){
}
})
获取支付id
, res_pay
, 仅返回了perpay_id,还有随机字符串和签名.