只提供微信小程序端代码:
1 var app = getApp(); 2 Page({ 3 data: {}, 4 onLoad: function (options) { 5 // 页面初始化 options为页面跳转所带来的参数 6 var that = this 7 //登陆获取code 8 wx.login({ 9 success: function (res) {10 console.log(res.code)11 //获取openid12 that.getOpenId(res.code)13 }14 });15 },16 getOpenId: function (code) {17 var that = this;18 wx.request({19 url: "https://api.weixin.qq.com/sns/jscode2session?appid=小程序appid&secret=小程序应用密钥&js_code=" + code + "&grant_type=authorization_code",20 data: {},21 method: ‘GET‘,22 success: function (res) {23 that.generateOrder(res.data.openid)24 },25 fail: function () {26 // fail27 },28 complete: function () {29 // complete30 }31 })32 },33 /**生成商户订单 */34 generateOrder: function (openid) {35 var that = this36 //统一支付37 wx.request({38 url: ‘后台路径‘,39 method: ‘GET‘,40 data: {41 gfee: ‘商品价钱‘,42 gname: ‘商品名称‘,43 openId:openid44 (商品价钱和商品名称根据自身需要是否传值,openid为必传)45 },46 success: function (res) {47 var pay = res.data48 //发起支付49 var timeStamp = pay[0].timeStamp;50 var packages = pay[0].package;51 var paySign = pay[0].paySign;52 var nonceStr = pay[0].nonceStr;53 var param = { "timeStamp": timeStamp, "package": packages, "paySign": paySign, "signType": "MD5", "nonceStr": nonceStr };54 that.pay(param)55 },56 })57 },58 59 /* 支付 */60 pay: function (param) {61 console.log("支付")62 console.log(param)63 wx.requestPayment({64 timeStamp: param.timeStamp,65 nonceStr: param.nonceStr,66 package: param.package,67 signType: param.signType,68 paySign: param.paySign,69 success: function (res) {70 // success71 wx.navigateBack({72 delta: 1, // 回退前 delta(默认为1) 页面73 success: function (res) {74 wx.showToast({75 title: ‘支付成功‘,76 icon: ‘success‘,77 duration: 200078 })79 },80 fail: function () {81 // fail82 83 },84 complete: function () {85 // complete86 }87 })88 },89 fail: function (res) {90 // fail91 },92 complete: function () {93 // complete94 }95 })96 }97 })