「GREE、課金ミスでユーザーにコイン発行されないトラブルが頻発か」
と言う記事があるのを見かけた。
http://kirik.tea-nifty.com/diary/2013/01/gree-87fd.html
まぁ、例のごとく忙しいので詳細には触れないが、
普通は
1,ユーザーがショッピングカートにアイテムを入れて支払いを行う
2,システムはカード会社システムに、金額と自社の注文番号を伝えて仮決済を行う
3,カード会社のシステムは仮決済番号を返す。
4,システムは、自システム内の購入処理を実施する(注文情報を仮決済済みにする)
5,システムは、カード会社に仮決済番号の決済実行を通知する。
6,カード会社のシステムは実際に決済を実施し、結果と、3で登録していた注文番号を返す。
7,システムは注文番号の一致を確認して、注文情報を決済済みにする。
みたいな流れで作るよなー
まぁ、使う決済代行会社によって、4の時点で支払い済みにして7を実行しないとかの設計があるかもだけど。
ちなみに、この流れの場合、
ユーザーがカード与信枠が30万で、1万の決済をした場合、
3番の時点で、与信枠が29万になります。
んで、5の通知を一定時間居ないに受けないor
5で決済取り消し通知を受けると、与信枠は元に戻ります。
また、必ず、何処かに情報が残るので問題があっても
「支払いが済んで、注文が完了してない」
といった、片手落ちの状態も後でチェックが容易にできます。