在早起的某篇文章中我们已经简单介绍了小程序支付,
这里我们在这篇文章中详细的介绍一个微信小程序支付,
顺便附带小程序端的部分支付代码。
微信小程序支付文档地址(微信小程序支付)
微信完整支付类下载地址(不定期修改完善 Gitee 与 GitHub):
支付类介绍文章 76、php微信支付类传参直接使用(扫码、H5、小程序)
一、在微信小程序支付之前我们先要获取相关配置
$config = array(
'appid' => '', // 微信支付appid
'xcxappid' => '', // 微信小程序appid(填写)
'mch_id' => '', // 微信支付 mch_id 商户收款账号(填写)
'key' => '', // 微信支付key(填写)
'appsecret' => '', // 公众帐号secert(公众号支付专用)
'notify_url' => '', // 接收支付状态的连接 改成自己的回调地址(填写)
'redirect_uri' => '', // 公众号支付时,没有code,获取openid使用
);
二、如何使用对接支付
<?php
include './WeixinPay.php';
$get = $_GET;
$weixinpay = new \feng\WeixinPay($config);
$order_sn = time().rand(1000,9999);
$order = array(
'body' => '测试商品', // 产品描述
'total_fee' => '1', // 订单金额(分)
'out_trade_no' => $order_sn, // 订单编号
'product_id' => $order_sn, // 产品id(可用订单编号)
'openid' => $get['openid'], // 用户openid
);
$re = $weixinpay->xcxPay($order);
die(json_encode($re)); // JSON化直接返回小程序客户端
微信用户openid获取见(微信小程序获取Openid)
三、支付回调
<?php
include './WeixinPay.php';
$weixinpay = new \feng\WeixinPay($config);
$re = $weixinpay->notify();
if ($re) {
// 以验证返回支付成功后的信息,可直接对订单进行操作,已通知微信支付成功
} else {
// 支付失败
}
四、小程序端相关代码 index.wxml文件支付按钮:
<view class="f_button">
<button open-type="getUserInfo" bindtap="pay"> 支付0.01元 </button>
</view>
index.js支付函数:
pay: function () {
wx.request({
url: "http://ceshi.test/xcxpay.php", // 地址根据自己的修改
method: "GET",
data: { openid: '用户openid' },
complete: function (res) {
console.log(res.data.data);
var wdata = res.data.data;
if (res.data.data) {
wx.showModal({
title: '支付',
content: '是否支付0.01进行测试',
success(res) {
if (res.confirm) {
var timeStamp = wdata.timeStamp + "";
var nonceStr = wdata.nonceStr + "";
var package1 = wdata.package;
var sign = wdata.paySign;
wx.requestPayment({
'nonceStr': nonceStr,
'package': package1,
'signType': 'MD5',
'timeStamp': timeStamp,
'paySign': sign,
'success': function (res) {
wx.showToast({
title: '支付成功',
icon: 'success',
duration: 2000,
});
},
'fail': function (res) {
wx.showToast({
title: '支付失败',
icon: 'none',
duration: 2000
})
}
})
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
}
}
})
},
本文为冯奎原创文章,转载无需和我联系,但请注明来自冯奎博客fengkui.net
最新评论