只提供微信小程序 端代码
var app = getApp ();
Page ({
data : {},
onLoad : function ( options ) {
// 页面初始化 options为页面跳转所带来的参数
var that = this
//登陆获取code
wx . login ({
success : function ( res ) {
console . log ( res . code )
//获取openid
that . getOpenId ( res . code )
}
});
},
getOpenId : function ( code ) {
var that = this ;
wx . request ({
url : "https://api.weixin.qq.com/sns/jscode2session?appid=小程序appid&secret=小程序应用密钥&js_code=" + code + "&grant_type=authorization_code" ,
data : {},
method : 'GET' ,
success : function ( res ) {
that . generateOrder ( res . data . openid )
},
fail : function () {
// fail
},
complete : function () {
// complete
}
})
},
/**生成商户订单 */
generateOrder : function ( openid ) {
var that = this
//统一支付
wx . request ({
url : '后台路径' ,
method : 'GET' ,
data : {
gfee : '商品价钱' ,
gname : '商品名称' ,
openId : openid
(商品价钱和商品名称根据自身需要是否传值, openid 为必传)
},
success : function ( res ) {
var pay = res . data
//发起支付
var timeStamp = pay [ 0 ]. timeStamp ;
var packages = pay [ 0 ]. package ;
var paySign = pay [ 0 ]. paySign ;
var nonceStr = pay [ 0 ]. nonceStr ;
var param = { "timeStamp" : timeStamp , "package" : packages , "paySign" : paySign , "signType" : "MD5" , "nonceStr" : nonceStr };
that . pay ( param )
},
})
},
/* 支付 */
pay : function ( param ) {
console . log ( "支付" )
console . log ( param )
wx . requestPayment ({
timeStamp : param . timeStamp ,
nonceStr : param . nonceStr ,
package : param . package ,
signType : param . signType ,
paySign : param . paySign ,
success : function ( res ) {
// success
wx . navigateBack ({
delta : 1 , // 回退前 delta(默认为1) 页面
success : function ( res ) {
wx . showToast ({
title : '支付成功' ,
icon : 'success' ,
duration : 2000
})
},
fail : function () {
// fail
},
complete : function () {
// complete
}
})
},
邀请
原作者: 模板之家
来自: 网络收集