0

クライアント用の FirstData グローバル ゲートウェイ API を使用して、チェックアウト モジュールの最終段階を作成中です。データ入力用のすべてのフォーム ビューが作成され、コントローラーはテスト データを FirstData Web サービスと正常に通信しています。

「注文を処理する」ボタンがクリックされた後のチェックアウトのユーザー エクスペリエンスをどのように構成するかについてのベスト プラクティスについての考えを探しています。

プロセス ボタンがクリックされた後に JavaScript を使用して無効にし、この遅延中に Web サービスに情報を渡すことを計画しています。支払いの呼び出しが行われていることをユーザーに通知しながら、この遅延を作成するために過去に使用した可能性のある方法は何ですか? トランザクションが承認または拒否されたかどうかを通知するコールバック関数を最適に操作するために、過去に使用した可能性のある方法は何ですか? アクションに PHP_SELF を使用して同じスクリプトでこのすべての情報を処理していることを誰かが見つけましたか、それとも一般的にこのロジックを別の場所に配置する方が良いですか?

ちょっとした試行錯誤を通してプロセスをガイドするのに役立ついくつかの一般的な質問. おそらく、この回答は、全員が使用するためのかなり良い考えを収集するのに役立ちます.

4

1 に答える 1

1

支払いの呼び出しが行われていることをユーザーに通知しながら、この遅延を作成するために過去に使用した可能性のあるいくつかの方法は何ですか?

支払いの処理には、自然な遅延が自然に発生するのに十分なオーバーヘッドが発生するため、プロセスを遅延させたくありません。この時点での目標は、重複した送信を防ぎ、待機中に何かが起こっていることをユーザーに知らせることです。送信ボタンを無効にすることをお勧めします。また、注文とともに送信する必要がある、そのチェックアウトプロセス用の一意のキーを作成することをお勧めします。彼らが支払いを提出するとき、あなたはその鍵をチェックし、それがそこにあることを確認します(通常それはセッション変数にあります)。削除してからトランザクションを処理する場合は、フォームを再度送信すると、重複トランザクションとしてフラグを立てることができます。

トランザクションが承認または拒否されたかどうかを通知するコールバック関数を最適に操作するために、過去に使用した可能性のあるいくつかの方法は何ですか?

支払いゲートウェイは、承認済み、拒否済み、またはエラー値を返します。派手なものは何もないので、派手な取り扱いは本当に必要ありません。承認されたトランザクションでは、関連するすべての注文およびデータベース情報のアクションが実行され、ユーザーはありがとう/領収書ページに移動する必要があります。エラーと不承認は、ユーザーにチェックアウトページが再度表示される場合と同様の方法で処理できます。カードが拒否された場合は、銀行が取引を拒否したことをユーザーに丁寧に知らせ、別のクレジットカードを使用するように招待します。処理エラーが発生した場合は、再試行するように依頼するか、電話で連絡して注文するように指示することができます。

アクションにPHP_SELFを使用して、同じスクリプトでこのすべての情報を処理することを見つけた人はいますか?それとも、このロジックを別の場所に配置する方が一般的に良いですか?

トマト、トマト。それはすべてあなたのプログラミングスタイルに依存します。フォームと同じページに支払いプロセスがあることは問題ありません。私はそれをしました。重要なのは、支払いが適切に処理され、ユーザーが必要なものを確認できることです。バックグラウンドで何が起こるかは彼らにとって重要ではありません。

于 2010-01-16T13:31:39.063 に答える