簡體   English   中英

如何使用 Omnipay 處理退款 - NAB Transact

[英]How to process a refund with Omnipay - NAB Transact

我正在嘗試執行退款流程,它已連接到 nab 測試模式服務器,但不處理退款交易。

我昨天做了一筆交易,想退還部分款項,但它沒有通過並顯示信用卡詳細信息不可用的錯誤(錯誤代碼 133)。

我正在使用 TransactionID 和 TransactionReference 以及要扣除但不起作用的金額發送請求。

我的代碼:-

public function pay()
    {
      $gateway = Omnipay::create('NABTransact_SecureXML');
    $gateway->setMerchantId('XYZ0010');
    $gateway->setTransactionPassword('abcd1234');
    $gateway->setTestMode(true);

    $card = new CreditCard([
            'firstName' => 'ABC',
            'lastName' => 'DEF',
            'number'      => '4444333322221111',
            'expiryMonth' => '05',
            'expiryYear'  => '2025',
            'cvv'         => '123',
        ]
    );

    $transaction = $gateway->purchase([
            'amount'        => '5000.00',
            'currency'      => 'AUD',
            'transactionId' => '100321', // (My order ID)
            'card'          => $card,
        ]
    );

    $response = $transaction->send();


    }

我在這里得到的交易ID是: 706256

請在 NAB 中查看上述交易的屏幕截圖: 在此處輸入圖片說明

    public function refund()
        {
          $gateway = Omnipay::create('NABTransact_SecureXML');
          $gateway->setMerchantId('XYZ0010');
          $gateway->setTransactionPassword('abcd1234');
          $gateway->setTestMode(true);

          $card = ([
                 'firstName' => 'ABC',
                 'lastName' => 'DEF',
                 'number'      => '4444333322221111',
                 'expiryMonth' => '05',
                 'expiryYear'  => '2025',
                 'cvv'         => '123',
             ]
         );

           $refund = $gateway->refund([
                           'transactionReference' => "706256",
                           'amount' => "5.00",
                           'currency' => "AUD",
                           'transactionId' => "100321",
                           'messageID' => '4',
                           'card' => $card,
                            ]);


             $refund->send();


        }

嘗試退款時,請在 NAB 中查看上述交易的屏幕截圖:

在此處輸入圖片說明

是的,我已經解決了。

這是我的代碼示例:

$gateway = Omnipay::create('NABTransact_SecureXML');
gateway->setMerchantId('_ID_');
$gateway->setTransactionPassword('_PASSWORD_');
$gateway->setTestMode(false); 

$refund = $gateway->refund([
            'transactionReference' => "12345",
            'amount' => "500",
            'transactionId' => 765897, (hope u must have saved this number in DB)
      ]);

  $response = $refund->send();
  $message = $response->getMessage();
  if ($response->isSuccessful()) {

   return "I m Happy"

    } else {
              return back()->with('amountError', $message);
           }
                    
       

讓我知道它是怎么回事:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM