0

Omnipay\SagePay の手順が見つからないようで、SagePay が通知 URL に投稿したときに購入を完了するのに苦労しています。

誰でも情報を提供してもらえますか、または購入を完了するために通知 URL に必要なアクションとパラメーターを見つけることができる場所を教えてください。

4

2 に答える 2

3

通知の部分はクライアントではなく 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() を呼び出してから、確認のために個別に応答を送信する必要があるため、他の例とはかなり異なります。

さらにサポートが必要な場合はお知らせください。

乾杯

于 2014-02-11T10:35:01.717 に答える