web-dev-qa-db-ja.com

訪問者がサーバーを離れたかどうかを判断する

PHP Webサイトを実行するApacheサーバーがあります。このサイトはeコマースショップです。

現在、バークレイズを支払いプロバイダーとして使用していますが、バークレイズがホストしている支払いゲートウェイに転送する時点で多くの顧客が脱落しているのを確認しています

ショップでは注文が作成されたが支払い/失敗ではない特定のインスタンスを見ることができますが、ユーザーがサーバーを確実に離れた(またはバークレイズに到達できなかった)かどうかを確認する必要があります。

ユーザーが別のドメインに移動したときを示すサーバー/アクセスログに何かありますか?

更新ユーザーが「今すぐ支払う」をクリックすると、ゲートウェイ転送ページに送信され、ショッピングカートの詳細の非表示フォームが作成され、フォームが(JSを使用して)バークレイズに送信されます。送信する前にゲートウェイが存在することを確認するにはどうすればよいですか?

4
Jeepstone

短期的なチェックとして、問題のある注文のリストをバークレイズに送信し、各注文のステータスを返信するよう依頼することができます。彼らは彼らにそれをしたすべてのトランザクションの記録を持っているでしょう、そして彼らが落ちる前に彼らがそれを作ったプロセスにどれくらい遠くまであなたに伝えることができるはずです。

明らかに、バークレイズのシステムで一致するトランザクションを持たない注文は、その時点で注目すべきものです。おそらく、ブラウザ/ OSバージョンやISPのような共通パターンを探すことができます。

使用している統合方法によっては、支払いゲートウェイを備えたAPIがあり、その場でトランザクションを照会できます。これはまた、定期的に(おそらく夜間のcronジョブとして)実行して、成功したかもしれない注文を特定するのに非常に役立ちますが、認証/応答は完了しませんでしたback.

1
Andrew Lott

フォームはJSを使用しているため、onClickアクションから複数の関数を実行できます。最初にサーバーでスクリプトを呼び出して、リモート支払いゲートウェイに対してさまざまなテストを実行し、結果が肯定的である場合、ユーザーをゲートウェイにリダイレクトするためのコードを返します。テストが失敗した場合は、エラーメッセージを送信できます。

これはある程度の洞察を提供しますが、100%確実にするには、@ Andrew Lottが推奨するログの詳細についてプロセッサに問い合わせる必要があります。

0
jeffatrackaid