8.9. 管理后台 - 同意退款(微信)
微信支付退款
接下来我们要实现退款的微信支付退款部分。
1. 完善退款逻辑
我们需要完善 OrdersController
里面 _refundOrder()
之前预留给微信支付退款的地方:
app/Admin/Controllers/OrderController.php
.
.
.
protected function _refundOrder(Order $order)
{
switch ($order->payment_method) {
case 'wechat':
// 生成退款订单号
$refundNo = Order::getAvailableRefundNo();
app('wechat_pay')->refund([
'out_trade_no' => $order->no, // 之前的订单流水号
'total_fee' => $order->total_amount * 100, //原订单金额,单位分
'refund_fee' => $order->total_amount * 100, // 要退款的订单金额,单位分
'out_refund_no' => $refundNo, // 退款订单号
// 微信支付的退款结果并不是实时返回的,而是通过退款回调来通知,因此这里需要...