独角数卡添加多个易支付通道的方法
在数据库里面取消pays表的唯一索引
-- 1. 删除原来的唯一索引
ALTER TABLE `pays`
DROP INDEX `idx_pay_check`;
-- 2. (可选)如果还想为 pay_check 保留索引加速查询,就再建一个普通索引
CREATE INDEX `idx_pay_check` ON `pays` (`pay_check`);
然后在后台添加易支付通道记录。
比如有添加一个新的易支付支付宝通道,那么添加这个通道的时候通道名称可以随便取,比如易支付支付宝2,但是支付标识必须是 alipay 换成其他就不行。易支付不认。
同样的道理,其他支付通道也可以这么做。
比如要两个支付宝当面付也是一样的道理。
不这样操作的话就在易支付控制器里面做映射:
$this->loadGateWay($orderSN, $payway);
// 2. 内部标识 到 第三方 type 的映射
$typeMap = [
'alipay' => 'alipay',
'alipay8' => 'alipay',
'alipay9' => 'alipay',
// 如需新增,继续在此添加
];
$thirdType = $typeMap[$payway] ?? $payway;
// 3. 构造提交给易支付的基础参数
$parameter = [
'pid' => $this->payGateway->merchant_id,
'type' => $thirdType,
'out_trade_no' => $this->order->order_sn,
'return_url' => route('yipay-return', ['order_id' => $this->order->order_sn]),
'notify_url' => url($this->payGateway->pay_handleroute . '/notify_url'),
'name' => $this->order->order_sn,
'money' => (float)$this->order->actual_price,
'sign' => $this->payGateway->merchant_pem,
'sign_type' => 'MD5',
];
这样增加N个易支付通道都行,要多少个通道就增加多少个。
'alipay8' => 'alipay',
alipay9' => 'alipay',
评论
评论 (0)