2011-12-16 6 views
2

背景:私はいくつかのサービスをオンラインでホストするウェブサイトを設計しています。サービスを利用するには、クレジットカードを使用して料金を支払う必要があります。取引は決済ゲートウェイによって処理され、回収された金額、カード保有者名、クレジットカード番号の最後の4桁および取引日を記録します。成功応答が返された場合、コードを実行して顧客データベースを更新し、顧客が有料サービスを使用できるようにします。そうでなければ、顧客は失敗した取引ページにリダイレクトされます。決済ゲートウェイで処理される取引を保管する必要がありますか?

質問:私は電子商取引アプリケーションを初めて設計するので、いくつかのアドバイスを受けたいと思います。私の質問は、確認フォームまたは会計目的のためにゲートウェイにデータを送信する前に、transactionテーブルに個別に決済ゲートウェイに格納されるものを保存する必要があるかどうかです。電子商取引アプリケーションの設計に関する実際の経験を持っている人から聞くことは素晴らしいことです。ありがとうございました!

答えて

2

カードデータ(ナンバー/ cvvなど)を魚のまったく別のものとして保存すること(またはアクセスすることさえ)を言及していないとすれば、できる限りいつでもできる限り保存することをお勧めします。

  • その些細だデータの小さな量、安いが単独で独自のシステム上に持つよりも確実に良く
  • 監査/顧客からの問い合わせなどのトランザクションのすべての詳細を追跡することができること保存するのは簡単です&誰かに依存する
  • サードパーティのゲートウェイが提供するサービスに依存することなく、分析/レポートの面で好きなことをすることができます
  • ゲートウェイプロバイダがバストしたらどうなりますか?
  • あなたは、ゲートウェイを変更したり、追加のゲートウェイを実装することを決定した場合は、正規化されたトランザクションデータの中央ストアに
+0

これは良い答えです。私は今の背後に根拠を見ることができます。ありがとう:) –

0

私は顧客名、取引日時、取引金額、支払いゲートウェイの応答を記録しますが、CCの詳細は記録しませんので、それを保持しないでください。これにより、Webサイトの使用状況を分析し、ゲートウェイなどで発生する可能性のある問題を特定することができます。ゲートウェイが何らかの形式のトランザクションIDを返すと仮定すると、それを保持することもできます。

+0

を維持することができるようになります私は、送信前と後のログのオプションを持つことができます。トランザクションの応答を得るために、私はそれだけの後にしかできません。データ送信の前にそれを行う必要はありますか?会計目的の用途はありますか? –

0

私は1つは電子商取引で働いていませんが、私は非常に大きな銀行のために働いていました。通常、システムで行われるすべての重要なトランザクションに関する監査テーブルを常に保持していました。

これは重要です。後でシステム内のバグを発見した場合は常に「ロールバック」オプションを使用することが重要であると考えています。また、社内の誰かがシステムを欺くか、あなたが監査テーブルを持っていれば、それを捕まえることがより簡単になります(私はこれが気が狂っていると思いますが、銀行は常にセキュリティに関しては不自然です)。

最後に、他の人のお金を扱っているので、少なくともしばらくは取引を把握しておくべきだと思います。たとえば、1,2歳以上の取引を消去するトリガーを作成することができます。

+0

私は決済ゲートウェイのウェブサイトにログインして、取引記録を見ることができます。私はそこからコピーを作成するのか、支払いゲートウェイに送る前に取引を記録するプロセスを作るべきかについてはわかりません。ロールバックに関しては、資金の移転がないので、私の申請にどのように起こるべきかわかりません。 –

関連する問題