这里我直接上代码,附有注释,直接把我的代码粘贴一下就可以用了,也是自己走了好多的弯路。。,写在博客里做个记录
直接把里面的参数替换成你的就可以了,前提是你要开通的有微信支付功能,需要商户号,appid,appsecret,openid,
openid的获取比较简单,我再写一篇博客做介绍,不懂得可以私聊我
//小程序端代码:
pay:
function
(){
var
that=
this
wx.getStorage({
key:
'openid'
,
success:
function
(res) {
wx.request({
//这里是后台的处理方法,url是自定义的,直接换成你自己的后台处理方法即可,Wx_Pay这个方法在下面写的有//后台用的php做处理,java的可以参考方法,道理都是一样的
url: url +
'Wx_Pay'
,
data: {
//用户的openid
openid:res.data,
//用户的openid
openid:res.data,
fee: that.data.totalPrice, //支付金额
details: that.data.goodsList[
0
].goods_name,//支付商品的名称
},
success:
function
(result){
if
(result.data){
//out_trade_no=res.data['out_trade_no'];
wx.requestPayment({
timeStamp: result.data[
'timeStamp'
],
nonceStr: result.data[
'nonceStr'
],
package
: result.data[
'package'
],
signType:
'MD5'
,
paySign: result.data[
'paySign'
],
'success'
:
function
(successret){
console.log(
'支付成功'
);
//获取支付用户的信息
//获取支付用户的信息
wx.getStorage({
key:
'userInfo'
,
success:
function
(getuser) {
//加入订单表做记录
//加入订单表做记录
wx.request({
url: url +
'Wx_AddOrder'
,
data: {
uname: getuser.data.nickName,
goods: that.data.goodsList[
0
].goods_name,
price: that.data.totalPrice,
openid:res.data,
},
success:
function
(lastreturn) {
console.log(
"存取成功"
);
}
})
},
})
},
'fail'
:
function
(res){
}
})
}
}
})
},
})
},
//后台
//微信支付 public function Wx_Pay(){ $request=Request::instance(); $fee=$request->param('fee'); $details=$request->param('details');//商品的详情,比如iPhone8,紫色 // $fee = 0.01;//举例充值0.01 $appid = 'appid';//appid $body