こんなシステムで
自作のカード決済用システム。言語はPHP。
まず、氏名や住所等の個人情報を登録してもらい、
次画面でカード番号等の決済に必要な情報を登録してもらう。
カード番号等を決済代行会社のシステムに送り、
決済結果を受け取って、データ登録を完了する。
起きること
決済情報を送って、決済結果を受け取るまでの間、氏名・住所等は
セッション変数として保存しているのだが、ときどき消えることがある。
発生確率は0.02%未満だが、先日、数年振りに発生した。
どう対応したか
セッションが消える原因をWebで調べてみたが、こちらの環境に当てはまる
ものがない。抜本的解決はあきらめて、回避策を考えた。
受領する決済結果の中に決済番号がある。決済番号の一部に仮登録IDが埋め
込んである。決済処理を行う前に氏名・住所をデータベースに仮登録してい
て、そのときに仮登録IDを発番している。
仮登録IDが分かれば、氏名・住所を抽出できるので、それらのデータをデー
タベースに本登録して、登録処理を完了できる。
セッションが消えていた場合は、決済番号から仮登録IDを抜き出し、
それをキーにして個人情報を抽出する処理を追加して、回避策は完成した。
喜ぶべきか、悲しむべきか。
セッションが消えても消えなくても、データ登録を完了できるようになった。
喜ばしいことなのだが、この問題、発見から解決まで10年以上かかった。
情けない気持ちもあるので、不思議な心境。
不思議と言えば、10年以上解決できなかった問題をなぜ今、
解決できたのかも不思議。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image