支付下单

使用门面(Facade)调用

use yybawang\ebank\Facades\EBank;

/**
* @param int $user_id 下单用户ID
* @param string $order_no 唯一订单号
* @param string $product_name 商品名
* @param array $payments 支付方式列表,「键」为支付配置名,「值」为支付金额(支持到4位小数)
* @param array 额外参数 不同支付方式的额外参数,「键」为参数名,「值」为参数名
* @return mixed
*/
$response = EBank::order($user_id, $order_no, $product_name, $payments, $extra_param);

调用示例

// $payments 为数组,允许传入多个做组合支付,三方支付只能一个,内部钱包可以无限个,内部钱包会先冻结余额
// $payments 的键为 config('ebank.payments') 的键相对应,值为支付金额
$result = \yybawang\ebank\Facades\EBank::order(1, uniqid('', true), '测试商品', ['wechat_mp' => 100], ['openid' => 1111]);

每个三方支付的返回值都不尽相同,APP/Miniapp 的是json签名,有的是 redirect 302 跳转,具体自行打印调试即可

1. 支付成功的处理

支付成功后,如果有内部钱包支付,下单时会有冻结记录产生,EBank 提供了一个方法一键解冻并同时执行扣款,毋需业务方再去处理

/**
* @param string $order_no 下单时的唯一订单号
*/
EBank::orderPaid($order_no);

2. 支付失败的处理

支付失败后,如果有内部钱包支付,下单时会有冻结记录产生,EBank 提供了一个方法一键解冻还原用户余额,毋需业务方再去处理

/**
* @param string $order_no 下单时的唯一订单号
*/
EBank::orderCancelled($order_no);

Last updated