サポートされていない支払いゲートウェイに対してomnipayを使用してカスタム ゲートウェイを作成しようとしています。しかし、プロバイダーの 3D セキュア実装の応答クラスを作成するのに苦労しています。
sagepayを見てみましたが、3Dセキュアのレスポンスは1回のAPIリクエストで全て返ってくるようです。
3D セキュア決済を完了するには、次のアクションを実行する必要があります。
- カードが 3D セキュアに登録されているかどうかを確認する API リクエスト
- ユーザーを URL にリダイレクト (POST - 隠しフォーム)
- 3D セキュア値を検証するための API リクエスト
- 支払いを行う (PurchaseRequest)
API 要求ごとに異なる応答クラスが必要ですか? では、VerifyEnrolledResponse、VerifySigResponse、および PurchaseResponse?
または、次のようなものが必要ですか:
if ($response->isSuccessful()) {
// payment was successful
} elseif ($response->isRedirect()) {
// redirect to offsite payment gateway
$response->redirect();
} elseif ($response->notEnrolled() {
// User not enrolled in 3D secure - make auth or display error
} elseif ($response->3DSecureSuccess() {
// Card passed 3D secure
} else {
// payment failed: display message to customer
echo $response->getMessage();
}
ここで本当に迷子になりました。isSuccessful()、isRedirect() などで抽象化しておきたいと思います。どんな助けも本当に感謝しています。
ドキュメント: https://resourcecentre.globaliris.com/documents/pdf.html?id=98