微信小程序中使用JSAPI支付
目录
微信小程序中使用JSAPI支付
微信小程序中使用JSAPI支付
在微信小程序中使用微信支付api【wx.requestPayment】需要传递以下字段
resp数据是通过后台调取腾讯提供的一些接口获取的
uni.requestPayment({
provider: 'wxpay',
timeStamp: resp.timeStamp, //时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间
nonceStr: resp.nonceStr, //随机字符串,长度为32个字符以下
package: 'prepay_id=' + resp.prepay_id, //统一下单接口返回的 prepay_id 参数值
signType: 'RSA', //签名算法
paySign: resp.paySign, //签名
success: res => {},
fail: function(err) {}
});
如何获取支付所需要的值
1.首先需要前端调起微信的登录api【wx.login】获取code值
//获取微信code
uni.login({
provider: 'weixin',
success: loginRes => {
console.log('[loginRes]', loginRes.code);
}
})
功能描述:
调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台帐号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。
2.把code值传递给服务端,让服务端调用腾讯的auth.code2Session 接口【GET 】( )
服务端调起【code2Session】的目的:换取
用户唯一标识 OpenID ,
用户在微信开放平台帐号下的唯一标识UnionID(若当前小程序已绑定到微信开放平台帐号) ,
会话密钥 session_key。
3.服务端获取了Openid后,就可以通过JSAPI下单接口获取到发起支付的必要参数prepay_id,然后使用微信支付提供的小程序方法调起小程序支付。【https://api.mch.weixin.qq.com/v3/pay/partner/transactions/jsapi】( )
通过这个接口获取prepay_id【预支付交易会话标识】
除了prepay_id这个必要字段,其他参数如何获取