Omnipay\SagePay の手順が見つからないようで、SagePay が通知 URL に投稿したときに購入を完了するのに苦労しています。
誰でも情報を提供してもらえますか、または購入を完了するために通知 URL に必要なアクションとパラメーターを見つけることができる場所を教えてください。
通知の部分はクライアントではなく Sagepay によって行われるため、Sagepay は注意が必要です。そのため、必ずインターネットからアクセスできる通知 URL を指定してください (これが私の最初の間違いでした)。以下は、Sagepay の支払いを処理するための (Laravel を使用した) サンプルコードです。
public function postProcess($transactionId)
{
//get the order details from somewhere
$order = $this->order->findByTransaction($transactionId);
$response = $this->gateway->completePurchase(array(
'transactionId' => $order->transaction,
'transactionReference' => $order->reference,
'amount' => $order->total,
'currency' => $order->currency,
))->send();
if ( ! $response->isSuccessful())
{
$response->invalid(URL::to('checkout/problem'));
die();
}
$response->confirm(URL::to('checkout/complete/'.$transactionId));
}
ご覧のとおり、completePurchase() を呼び出してから、確認のために個別に応答を送信する必要があるため、他の例とはかなり異なります。
さらにサポートが必要な場合はお知らせください。
乾杯