本当にこのフォームを再送信しますか?二重決済の危険と正しい対処法

本当にこのフォームを再送信しますか?二重決済の危険と正しい対処法の疑問点について、分かりやすい解説を詳しくお届けします。

ネット上の情報やSNSの口コミには、技術的根拠に基づかない誤解が広く流布しています。トラブルを未然に防ぐために、以下の盲点を正確に把握しておく必要があります。

まず代表的な誤解が、「キャンセルを押せば、直前の注文そのものが取り消される」という思い込みです。警告ダイアログの「キャンセル」は、あくまで「これから行おうとした2回目のデータ再送信を取りやめる」という意味であり、すでに1回目にサーバーへ届いて処理された注文を取り消す機能は一切持っていません。注文をキャンセルしたい場合は、必ずショップの注文履歴から正規の手続きを踏む必要があります。

次に挙げられるのが、「最新のスマホならスワイプ操作で戻っても安全」という油断です。iPhoneのSafariやAndroidのChromeでは、画面の左端から右へスワイプすることで前のページに戻るジェスチャー機能が標準化されています。しかし、このスワイプ操作は内部的にはブラウザの「戻るボタン」と全く同じ動作をします。そのため、本人がリロードしたつもりがなくても、指が触れただけでスマホ画面に警告ダイアログが不意に呼び出され、勢いで続行をタップしてしまう事故が急増しています。

さらにWeb開発者側の視点から言えば、現代のWeb標準においてこの警告が表示されること自体、「そのWebサイトの設計が不十分である証拠」でもあります。適切なWebサービスでは、POST通信でデータを受け取った直後にサーバーが「リダイレクト(別のURLへ転送)」を命令し、完了画面を安全なGET通信で表示させる「PRG(Post-Redirect-Get)パターン」という設計手法を導入しています。このPRGパターンが正しく組まれていれば、ユーザーが戻るボタンを押しても警告は表示されず、二重決済も原理的に発生しません。つまり、あの警告が出るサイトは「古い設計のまま運用されているシステム」である可能性が高く、より一層慎重な操作が求められるのです。

佐々木 一輝

佐々木 一輝

ビジネス戦略アナリスト

Webメディアでの編集・執筆歴10年。読者の好奇心を刺激するストーリー作りを心がけています。

Share this article
Twitter Facebook Pinterest