Ruby on Rails で e コマース Web サイトを運営しており、クレジット カードの処理には ActiveMerchant プラグインを使用して、API 資格情報を使用して PayPal Web Payments Pro アカウントに接続します。
チェックアウト プロセスの一環として、最初にゲートウェイ オブジェクトの承認関数を呼び出し、さらにいくつかのチェックを行った後、キャプチャ部分を実行します。
最近、お客様のアカウントで金額が 2 回予約されるというバグが発生しています。1 回目は承認のみで、2 回目は最終購入です。そのため、クライアントには 2 回請求しているように見えますが (1 回は認証用、もう 1 回は最終購入用)、実際には 1 回しかお金を受け取っていません。彼のアカウントの「2 回目の請求」は単に認証であり、クリアしていません。何らかの理由で。(これは、PayPal FMF がトランザクションを拒否し、再処理する場合に特に発生するようです。)
買い手用と売り手用の PayPal サンドボックス アカウントを作成して、この問題を解決しようとしています。Railsコンソールを介してコードを1行ずつ実行し、さまざまな条件をシミュレートしてエラーを再現しようとしています. しかし、成功したクレジット カード トランザクションは、私の「売り手」/「マーチャント」アカウントにのみ表示され、PayPal サンドボックスの「買い手」アカウントには表示されないため、コード シーケンスが顧客のカードに与える影響を確認できません。この投稿は、それが現状であり、購入者のクレジット カード側で効果をテストすることは実際には不可能であることを示しているようです。この投稿では PayPal エクスプレス チェックアウトの使用を提案していますが、それは私たちのサイトで必要なものではありません。
クライアントのクレジット カードに対するコードの効果をテストするにはどうすればよいですか? PayPal で見逃したものがあるのでしょうか、それとも ActiveMerchant にこれを確認するために使用できるモード/ログ/モニターがあるのでしょうか? 2 回認証する原因となっているコード行を見つける必要があります。