Omnipay:PayPal 和 Stripe sale_id 用于退款?

问题描述

我正在尝试通过 Omnipay 对交易进行退款,看起来 Omnipay 支持 refunds。但是文档不清楚,我对如何解决这个问题有些困惑。

Omnipay 退款示例代码

    $transaction = $gateway->refund(array(
        'amount'    => '10.00','currency'  => 'AUD',));
    $transaction->setTransactionReference($sale_id);
    $response = $transaction->send();
    if ($response->isSuccessful()) {
        echo "refund transaction was successful!\n";
        $data = $response->getData();
        echo "Gateway refund response data == " . print_r($data,true) . "\n";
    }

这里的 $sale_id 是什么?我的付款表的交易 ID 保存为:

'PAYMENTINFO_0_TRANSACTIONID' => $data['PAYMENTINFO_0_TRANSACTIONID'],

看起来像:01H36802XU637613S (PayPal) & ch_1IYpA7BJRxbFR9rFrGmPKs85 (Stripe)。这些是$sale_id吗?

解决方法

这确实是 Omnipay 可能必须从整体上回答的问题,但也许这会有所帮助:

ch_1IYpA7BJRxbFR9rFrGmPKs85 将用于在 Stripe 中创建退款:https://stripe.com/docs/api/refunds/create#create_refund-charge

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...