2011/10/23

【システム開発】決済システムについて

今回はシステム開発の決済システムについてです。

僕はPHPを中心にシステム開発に携わっているのですが、
最近決済システムに携わることがあったのでそれについてのメモです。

大まかには以下の流れです。

1.ログファイルを作成
2.パラメータのチェック
3.トランザクションを開く
4.決済内容をDBに書きこむ
5.トランザクションを閉じる(成功:コミット、失敗:ロールバック)
6.結果をログに書き込む

この流れで作成しています。

1.ログファイルを作成
では決済を受けた旨をログに書き込みます。
受け付けたパラメータを保存します。

2.パラメータのチェック
不正なパラメータがないかどうかのチェックを行います。
商品が正常なものかどうかなどのチェックです。

3.トランザクションを開く
DBをトランザクションでロックします。
これをしておかないとデータの書き換えなどで不具合が起こったりします。

4.決済内容をDBに書き込む
決済の内容をDBに書き込みます。
ここでコケるかどうかで5.の処理が変わります。

5.トランザクションを閉じる
4.で異常が起きなければコミットを異常が起きていればロールバックを行います。

6.結果をログに書き込む
決済結果をログに書き込みます。
必要があれば管理者にメールを送信したりします。


以上がトランザクションの流れになります。


終わり

0 件のコメント:

コメントを投稿