私はどちらかを機能させるのに苦労しており、Omnipay には多くのドキュメントが付属していません。他の支払いゲートウェイではうまく使用できましたが、Sagepay では使用できませんでした。私はそれを CodeIgniter に統合しようとしていますが、他のフレームワークの例から作業することができます - 私は必死になっています!
2 に答える
私は昨夜これについて講演を行い、動作するデモ スクリプトを github に置いています。
https://github.com/academe/OmniPay-SagePay-Demo
SagePay Direct は 1 回限りのアクションです。OmniPay はトランザクションの詳細を送信し、すぐに応答を取得します。
SagePay サーバーには、カードの詳細を使用してトランザクションを承認するために、ユーザーを SagePay Web サイトにリダイレクトすることが含まれます。この API は、SagePay が認証結果を使用してアプリケーションを直接呼び出す通知メッセージを使用します。これはユーザーのセッション外で発生するため、2 つのトランザクション間でトランザクションを共有できるように、トランザクションをデータベースに格納する必要があります。
これはすべて、上記のリンクにあるスクリプトにあります。authorize.php
認可を行います。それを編集して使用するか、それがどのように機能するSagePay\Direct
かを確認してください。SagePay\Server
の通知ハンドラSagePay\Server
は、データベースに格納されたトランザクションから結果を読み取ることができる場所にsagepay-confirm.php
最終的にユーザーを送信します。final.php
スクリプトはすべてコメントされており、意味があるはずですが、ここまたはその github リポジトリの問題トラッカーで質問をしてください。
SagePay\Direct
ただし、3Dセキュアは試していません。スクリプトは、組み合わせが問題であると仮定すると、それをサポートするためにいくつかの変更が必要になる場合があります。