问题描述
我正在尝试通过 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