カスタム returnUrl を使用して、transactionId を自分自身に戻す必要があります。
まず、Worldpay を設定するとき:
- WorldPay マーチャント管理インターフェースにログインします
- [インストール] で、インストール ID の横にある [セットアップ] をクリックします。
- [支払い応答 URL] フィールドに、次のように入力します。
<wpdisplay item=MC_callback>
- 支払い応答が有効になっていることを確認しますか? オプションが選択されています
次に、Omnipay で最初の購入リクエストを行うときに、カスタム を渡しますreturnUrl
。例えば:
$response = $gateway->purchase(array(
'amount' => '10.00',
'currency' => 'USD',
'returnUrl' => 'https://www.example.com/return?transactionId=123'
))->send();
そうすれば、コールバック/リターン ページで、元のトランザクションの詳細を呼び出してから読み込むことができますcompletePurchase()
。
$transaction = Transaction::find($_GET['transactionId']);
$response = $gateway->completePurchase(array(
'amount' => $transaction->amount,
'currency' => $transaction->currency,
))->send();