赞
踩
小程序appid,商户id,商户密钥(key),付款用户的(openid)
(流程:首先调用微信统一下单接口,之后在调用wx.requestPayment(OBJECT)发起微信支付)
- wx.login({
- success (res) {
- if (res.code) {
- //发起网络请求
- wx.request({
- url: 'https://example.com/onLogin',
- data: {
- code: res.code
- }
- })
- } else {
- console.log('登录失败!' + res.errMsg)
- }
- }
- })
其中这个接口是需要后端开发的,code是用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 code2Session 接口,使用 code 换取 openid、unionid、session_key 等信息
获取到openid后,我们下面请求支付接口,我们来看一下简单的小程序端请求支付接口的完整代码:
- payment(openid) {
- var that = this;
- wx.request({
- url: ‘https://example.com/onLogin‘,
- data: {
- "openid": openid
- },
- header: {
- "Content-Type": "application/json",
- },
- success: function (ress) {
- wx.requestPayment({
- timeStamp: ress.data.data.timeStamp,
- nonceStr: ress.data.data.nonceStr,
- package: ress.data.data.package,
- signType: 'MD5',
- paySign: ress.data.data.paySign,
- success: function (e) {
- console.log(e.data);
- },
- fail: function (e) {
- console.log("失败");
- }
- })
- }
- })
- }
-
好了 ,现在可能有人会问package和paysign后端如何获取?
其实在获取到openid后然后后端就请求订单数据到微信支付的jsapi统一下单接口获取到prepay_id,然后package的值就是prepay_id=wx21201855730335ac86f8c43d1889123400
paysign就是签名,使用字段appId、timeStamp、nonceStr、package 计算得出签名值
注意:signtype这个分MD5和RSA,V2版本的支付接口使用MD5,V3使用RSA
至此,支付顺利成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。