微擎小程序支付如何开发?

在小程序端发起支付,需要配合PHP端共同来完成,PHP调用支付函数,传入订单号、金额、用户OPENID等信息,生成支付参数,返回给小程序端,然后利用JS发起支付。
支付完成后,与模块中支付处理一样,系统会调用小程序接口类中的 payResult 方法来执行支付完成的代码。

PHP端生成支付参数
class We7WxappDemoModuleWxapp extends WeModuleWxapp {
public function doPagePay() {
global $_GPC, $_W;
//获取订单号,保证在业务模块中唯一即可
o r d e r i d = i n t v a l ( orderid = intval( _GPC[‘orderid’]);
//构造支付参数
$order = array(
‘tid’ => $orderid,
‘user’ => W [ o p e n i d ] , / / O P E N I D f e e = > f l o a t v a l ( _W['openid'], //用户OPENID 'fee' => floatval( fee), //金额
‘title’ => ‘小程序支付示例’,
);
//生成支付参数,返回给小程序端
$pay_params = t h i s > p a y ( this->pay( order);
if (is_error($pay_params)) {
return $this->result(1, ‘支付失败,请重试’);
}
return $this->result(0, ‘’, $pay_params);
}
}
小程序端发起支付
app.util.request({
‘url’: ‘entry/wxapp/pay’, //调用wxapp.php中的doPagePay方法获取支付参数
data: {
orderid: options.orderid,
},
‘cachetime’: ‘0’,
success(res) {
if (res.data && res.data.data && !res.data.errno) {
//发起支付
wx.requestPayment({
‘timeStamp’: res.data.data.timeStamp,
‘nonceStr’: res.data.data.nonceStr,
‘package’: res.data.data.package,
‘signType’: ‘MD5’,
‘paySign’: res.data.data.paySign,
‘success’: function (res) {
//执行支付成功提示
},
‘fail’: function (res) {
backApp()
}
})
}
},
fail(res) {
wx.showModal({
title: ‘系统提示’,
content: res.data.message ? res.data.message : ‘错误’,
showCancel: false,
success: function (res) {
if (res.confirm) {
backApp()
}
}
})
}
})
验证支付结果
和模块一样,验证代码写在 payResult() 函数中即可。

class We7WxappDemoModuleWxapp extends WeModuleWxapp {
public function payResult($log) {
}

猜你喜欢

转载自blog.csdn.net/weixin_44950481/article/details/89422913