私はアクティブな商人のようなものでクレジットカードの支払いを受け入れる必要があるアプリを構築しています。セキュリティの観点から、herokuに存在し、 authorize.net(または同様のもの)を支払いゲートウェイとして使用することは可能ですか?
クレジットカード番号を保存する必要がある場合はどうなりますか?
編集
ユーザーをauthorize.netに転送しません。
私はアクティブな商人のようなものでクレジットカードの支払いを受け入れる必要があるアプリを構築しています。セキュリティの観点から、herokuに存在し、 authorize.net(または同様のもの)を支払いゲートウェイとして使用することは可能ですか?
クレジットカード番号を保存する必要がある場合はどうなりますか?
編集
ユーザーをauthorize.netに転送しません。
簡単な答えはイエスです、私はそう信じていますが、それを超えてそれは異なります。
サードパーティのサービス( http://docs.heroku.com/config-vars )に関連するさまざまなキーやその他の値の環境変数を設定することも、チェックインしてデプロイすることもできます。
authorize.netのホステッドペイメントサービスを使用していて、そのサイトに転送する場合は、SSLを使用する必要はありません。クレジットカード番号と個人情報が送信されるフォームをホストし、サーバー上のAPIを介してauthorize.netに転送する場合は、heroku(http://docs.heroku.com )のSSLを設定する必要があります。 / ssl)フォームが安全になるようにします。
さて、クレジットカードでの支払いを受け入れてそれを通過することと、クレジットカード番号やその他の個人情報を保存することは別のことです。さまざまなセキュリティ標準のドキュメント(つまり、PCI DSSがここに適用されます)を指摘せずに、絶対に必要な場合を除いて、CC番号や関連する個人情報を保存せずに、ゲートウェイに転送して、そうでないことを確認してください。それらのフィールドをログに記録します(http://guides.rubyonrails.org/security.html#logging)。クレジットカードのデータを保存する必要がある場合は、コンプライアンスに到達するためにデータベースとサーバーをより細かく制御する必要があると思います。AWSやherokuのように、これを使用して実行できる一般的なクラウドホストはわかりません(多分他のSOユーザーが私を修正します)。ただし、authorize.netのような支払いゲートウェイを使用すると、そこにたどり着くことができます。
また、さまざまな州で機密データの保存に関する法律が制定されていることも指摘します(私が住んでいるMAなど)。ビジネスモデルに不可欠でない限り、保存を避けるもう1つの理由があります。
PCIコンプライアンスに関するやや時代遅れですが、一般的な議論については、http://broadcast.oreilly.com/2009/02/pci-in-the-cloud.htmlを参照してください。