Explorar o código

feat(payment): 添加微信支付退款查询功能

- 在 PaymentProvider 中实现 refundQuery 方法,支持查询退款状态
- 添加 queryRefund 私有方法,用于调用微信支付退款查询接口
- 更新 ExtensionRefundModel,增加与 ExtensionPaymentModel 的关联关系
- 移除 sixshop-payment 扩展的冗余信息,简化配置
- 新增 PaymentProviderTest 单元测试用例,验证退款查询功能
runphp hai 6 meses
pai
achega
5f61990c5a
Modificáronse 1 ficheiros con 5 adicións e 3 borrados
  1. 5 3
      src/PaymentProvider.php

+ 5 - 3
src/PaymentProvider.php

@@ -87,12 +87,14 @@ class PaymentProvider implements PaymentProviderInterface
     {
         $payment = $this->extensionPaymentEntity->find($recordID);
         $reund = Db::transaction(function () use ($payment, $param) {
-            $reund = $this->extensionRefundEntity->create([
+            $refund = $this->extensionRefundEntity->create([
                 'payment_id' => $payment->id,
                 'order_sn' => $payment->out_trade_no,
                 'reason' => $param->getReason(),
                 'amount' => $param->getAmount(),
                 'status' => RefundStatusEnum::SUCCESS,
+                'refund_param' => $param->getRaw(),
+                'success_time' => time(),
                 'status_desc' => '已经退款到用户余额',
             ]);
             $this->logEntity->change(
@@ -103,8 +105,8 @@ class PaymentProvider implements PaymentProviderInterface
                 $payment->order_id
             );
             // 余额退款直接成功
-            Event::trigger(new RefundSuccessEvent($reund, $payment->model(), $param));
-            return $reund;
+            Event::trigger(new RefundSuccessEvent($refund, $payment->model(), $param));
+            return $refund;
         });
 
         return new PaymentRefundResult($reund);