From 581f40cb09e227884573dc8384d49d94ee799ce6 Mon Sep 17 00:00:00 2001 From: gongfuxiang Date: Sat, 16 Apr 2022 17:33:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=8F=8A=E5=94=AE=E5=90=8E?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/OrderAftersaleService.php | 29 ++++++++++++++++++++++++++- app/service/PayRequestLogService.php | 2 +- app/service/PaymentService.php | 1 + 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/app/service/OrderAftersaleService.php b/app/service/OrderAftersaleService.php index d5c71d01a..2eac604ad 100644 --- a/app/service/OrderAftersaleService.php +++ b/app/service/OrderAftersaleService.php @@ -1083,7 +1083,15 @@ class OrderAftersaleService private static function OriginalRoadRefundment($params, $aftersale, $order, $pay_log) { // 支付方式 - $payment = PaymentService::PaymentData(['where'=>['payment'=>$pay_log['payment']]]); + $payment = PaymentService::PaymentData([ + 'where' => [ + 'payment' => $pay_log['payment'] + ], + 'is_refund' => 1, + 'log_id' => $pay_log['id'], + 'data_id' => $order['id'], + 'data_type' => 'order', + ]); if(empty($payment)) { return DataReturn('支付方式有误', -1); @@ -1107,6 +1115,25 @@ class OrderAftersaleService 'refund_reason' => $order['order_no'].'订单退款'.$aftersale['price'].'元', 'pay_time' => $pay_log['pay_time'], ]; + + // 订单发起售后原路退回前钩子 + $hook_name = 'plugins_service_order_aftersale_original_road_refund_begin'; + $ret = EventReturnHandle(MyEventTrigger($hook_name, [ + 'hook_name' => $hook_name, + 'is_backend' => true, + 'order' => $order, + 'aftersale' => $aftersale, + 'params' => $params, + 'pay_log' => &$pay_log, + 'payment' => &$payment, + 'pay_params' => &$pay_params, + ])); + if(isset($ret['code']) && $ret['code'] != 0) + { + return $ret; + } + + // 操作退回 $ret = (new $pay_name($payment['config']))->Refund($pay_params); if(!isset($ret['code'])) { diff --git a/app/service/PayRequestLogService.php b/app/service/PayRequestLogService.php index e67626aa9..f23532435 100644 --- a/app/service/PayRequestLogService.php +++ b/app/service/PayRequestLogService.php @@ -42,7 +42,7 @@ class PayRequestLogService $behavior_obj = new \base\Behavior(); // 输入参数 - $params = input(); + $params = array_merge($_GET, $_POST); if(empty($params)) { $params = file_get_contents("php://input"); diff --git a/app/service/PaymentService.php b/app/service/PaymentService.php index 36eb7033b..0f4ccfd95 100755 --- a/app/service/PaymentService.php +++ b/app/service/PaymentService.php @@ -235,6 +235,7 @@ class PaymentService MyEventTrigger($hook_name, [ 'hook_name' => $hook_name, 'is_backend' => true, + 'params' => $params, 'data' => &$data, ]);