Browse Source

fix(payment): 修改 PaymentProvider 中支付成功状态的判断条件,只需判断 trade_state 是否为 SUCCESS
- 更新了测试用例中的交易单号,以适应新的测试环境

runphp 6 months ago
parent
commit
c271ac9d1e
2 changed files with 3 additions and 3 deletions
  1. 1 1
      src/PaymentProvider.php
  2. 2 2
      test/WechatPayBuilderTest.php

+ 1 - 1
src/PaymentProvider.php

@@ -98,7 +98,7 @@ class PaymentProvider implements PaymentProviderInterface
             }
             $payment->payment_result = $paymentResult;
             $payment->transaction_id = $paymentResult->transaction_id;
-            if ($paymentResult->return_code === 'SUCCESS' && $paymentResult->result_code === 'SUCCESS' && $paymentResult->trade_state === 'SUCCESS') {
+            if ($paymentResult->trade_state === 'SUCCESS') {
                 $payment->status = PaymentStatusEnum::SUCCESS;
                 $payment->save();
                 Event::trigger(new PaymentSuccessEvent($payment['order_sn'], self::PAYMENT_TYPE, $payment->toArray(), $payment->biz_type));

+ 2 - 2
test/WechatPayBuilderTest.php

@@ -30,14 +30,14 @@ class WechatPayBuilderTest extends TestCase
 
     public function testDomesticRefunds()
     {
-        $result = $this->domesticRefunds('20250904131736025655', '20250904131736025655', 0.01);
+        $result = $this->domesticRefunds('20250904133148020905', '20250904133148020905', 0.01);
         $this->assertObjectHasProperty('amount', $result);
         dump($result);
     }
 
     public function testQueryByOutTradeNo()
     {
-        $result = $this->queryByOutTradeNo('20250904131736025655');
+        $result = $this->queryByOutTradeNo('20250904133148020905');
         dump($result);
     }
 }