目录

微信小程序中使用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这个必要字段,其他参数如何获取