百度支付
百度支付目前仅支持小程序,对应的支付 method 如下:
method | 说明 | 参数 | 返回值 |
---|---|---|---|
xcx | 小程序支付 | array $order | Collection |
支付配置
# 百度支付配置
$baiduConfig = [
'deal_id' => '', // 百度收银台的财务结算凭证
'app_key' => '', // 表示应用身份的唯一ID
'private_key' => '', // 私钥原始字符串
'public_key' => '', // 平台公钥
'notify_url' => '', // 支付回调地址
];
小程序
例子
$pay = new \fengkui\Pay\Baidu($baiduConfig);
$order = [
'body' => 'subject-测试', // 商品描述
'order_sn' => time(), // 商户订单号
'total_amount' => 1, // 订单金额(分)
];
$result = $pay->xcx($order);
// 返回 Collection 实例。包含了调起百度收银台的所有参数
订单配置参数
所有订单配置中,客观参数及配置,扩展包已自动处理,
除必传参数外,如需传入其他参数,可根据自己需求任意修改扩展
所有订单配置参数和官方无异,参数请参考这里,查看「参数说明」一栏。
调用支付
小程序支付的调用,请参考这里,查看「调起百度收银台」一栏。
<view class="wrap">
<view class="card-area">
<button bind:tap="requestPolymerPayment" type="primary" hover-stop-propagation="true">支付0.01元</button>
</view>
</view>
Page({
requestPolymerPayment(e) {
swan.request({
// 仅为示例,并非真实的接口地址,开发者从真实接口获取orderInfo的值
url: 'https://mbd.baidu.com/xxx',
success: res => {
res.data.data.dealTitle = '百度小程序Demo支付测试';
let data = res.data;
if (data.errno !== 0) {
console.log('create order err', data);
return;
}
swan.requestPolymerPayment({
orderInfo: data.data,
success: res => {
swan.showToast({
title: '支付成功',
icon: 'success'
});
console.log('pay success', res);
},
fail: err => {
swan.showToast({
title: err.errMsg,
icon: 'none'
});
console.log('pay fail', err);
}
});
},
fail: err => {
swan.showToast({
title: '订单创建失败',
icon: 'none'
});
console.log('create order fail', err);
}
});
}
});