支払い処理業者-私のウェブサイトでクレジットカードを受け入れる場合、何を知る必要がありますか?[閉まっている]


258

この質問では、さまざまな支払い処理業者とその費用について説明していますが、クレジットカードでの支払いを受け取りたい場合はどうすればよいですか。

顧客のクレジットカード番号を保存する必要があると仮定します。これにより、クレジットカードプロセッサに依存して重い処理を行うという明白な解決策が利用できなくなります。

クレジットカード情報を格納するための標準であると思われるPCIデータセキュリティには、多くの一般的な要件がありますがどのように実装するのですか?

また、独自のベストプラクティスを持つVisaなどのベンダーについてはどうですか?

マシンへのキーフォブアクセスが必要ですか?建物内のハッカーから物理的に保護するのはどうですか?または、誰かがSQLサーバーのデータファイルを含むバックアップファイルを手に入れたらどうなるでしょうか。

バックアップはどうですか?そのデータの他の物理的なコピーはありますか?

ヒント:販売アカウントを取得する場合は、段階的な価格設定ではなく「インターチェンジプラス」を請求するよう交渉する必要があります。 段階的な価格設定では、使用されるVisa / MCのタイプに基づいて異なる料金が請求されます。彼らはそれらに添付された大きな報酬を持つカードのためにあなたにもっと請求します。インターチェンジと請求は、Visa / MCが請求する金額と定額料金のみをプロセッサーに支払うことを意味します。(AmexとDiscoverは独自のレートを販売者に直接請求するため、これらのカードには適用されません。Amexのレートは3%の範囲であり、Discoverは1%と低い場合があります。Visa/ MCは2%の範囲)。 このサービスはあなたのために交渉を行うことになっています(私はそれを使用したことがなく、これは広告ではなく、私はWebサイトとは関係ありません。

このブログ投稿では、クレジットカード(特に英国)の取り扱いについて詳しく説明しています。


おそらく私は質問を間違って言いましたが、私はこれらのようなヒントを探しています:

  1. SecurIDまたはeTokenを使用して、物理的なボックスにパスワードレイヤーを追加します。
  2. ボックスが物理的なロックまたはキーコードの組み合わせがある部屋にあることを確認してください。

1
これはPA-DSS 2.0で非推奨になりました。

回答:


236

私はこのプロセスをずっと前に私が働いていた会社と一緒に行ったので、自分のビジネスですぐにもう一度やり直すつもりです。ネットワークの技術的な知識があれば、それほど悪くはありません。それ以外の場合は、Paypalまたは別のタイプのサービスを使用したほうがよいでしょう。

プロセスは、マーチャントアカウントのセットアップを取得し、銀行口座に関連付けることから始まります。多くの主要銀行がマーチャントサービスを提供しているため、銀行に確認することをお勧めします。あなたはすでに彼らの顧客なので、あなたは取引を得ることができるかもしれませんが、そうでないなら、あなたは買い物をすることができます。DiscoverまたはAmerican Expressを受け入れる予定の場合は、カードの販売者向けサービスを提供しているため、これらは分離されます。これを回避することはできません。他の特別な場合もあります。これは申請プロセスです。準備してください。

次に、クレジットカード情報が公共のネットワークを介して送信されるときに通信を保護するために使用できるSSL証明書を購入します。ベンダーはたくさんありますが、私の目安はある意味でブランド名のベンダーを選ぶことです。彼らがよく知られているほど、顧客はおそらく彼らのことをよく聞いています。

次に、サイトで使用する支払いゲートウェイを見つけます。大きさによってはオプションになることもありますが、ほとんどの場合はそうではありません。必要になります。支払いゲートウェイベンダーは、通信するインターネットゲートウェイAPIと通信する方法を提供します。ほとんどのベンダーは、APIを使用してHTTPまたはTCP / IP通信を提供しています。彼らはあなたに代わってクレジットカード情報を処理します。2つのベンダーはAuthorize.NetPayFlow Proです。以下に提供するリンクには、他のベンダーに関するいくつかの情報があります。

それで?まず、トランザクションを送信するためにアプリケーションが従わなければならないことに関するガイドラインがあります。すべての設定を行うプロセスの間に、誰かがサイトまたはアプリケーションを見て、SSLの使用などのガイドラインを順守していること、およびユーザーが提供する情報の使用に関する利用規約とポリシー文書があることを確認しますために。別のサイトからこれを盗まないでください。自分で考え、必要に応じて弁護士を雇ってください。これらのほとんどは、マイケルが質問で提供したPCIデータセキュリティリンクに該当します。

クレジットカード番号を保存する予定がある場合は、情報を保護するために内部でセキュリティ対策を講じる準備をしておくことをお勧めします。情報が保存されているサーバーにアクセスする必要があるメンバーだけがアクセスできることを確認してください。優れたセキュリティと同様に、レイヤーで作業を行います。配置するレイヤーが多いほど良いです。必要な場合は、SecureIDeTokenなどのキーフォブタイプのセキュリティを使用できますサーバーが置かれている部屋を保護するため。キーフォブルートを用意できない場合は、2つのキーによる方法を使用します。部屋にアクセスできる人が、すでに持っている鍵と一緒に鍵をサインアウトできるようにします。部屋にアクセスするには、両方の鍵が必要です。次に、ポリシーを使用してサーバーへの通信を保護します。私のポリシーでは、ネットワーク経由で通信するのはアプリケーションだけであり、その情報は暗号化されているということです。サーバーは他の形式ではアクセスできません。バックアップには、truecryptを使用しますバックアップが保存されるボリュームを暗号化します。データが削除または別の場所に保存される場合はいつでも、truecryptを使用して、データが存在するボリュームを暗号化します。基本的に、データがどこにあっても、暗号化する必要があります。データを取得するためのすべてのプロセスに監査証跡が含まれていることを確認してください。サーバールームへのアクセスにはログを使用し、可能な場合はカメラを使用します...別の方法は、データベース内のクレジットカード情報を暗号化することです。これにより、情報を表示するユーザーを強制できるアプリケーションでのみデータを表示できるようになります。

ファイアウォールにpfsenseを使用しています。コンパクトフラッシュカードから実行し、2つのサーバーをセットアップしています。1つは冗長性のためのフェイルオーバー用です。

私は、Rick Strahlによるこのブログ投稿を見つけました。これは、eコマースの実行と、Webアプリケーションを介してクレジットカードを受け入れるために必要なことを非常に理解するのに役立ちました。

まあ、これは長い答えであることが判明しました。これらのヒントがお役に立てば幸いです。


13
完璧な答え。他の人がそれに追加してくれることを願っています。
マイケル・プライアー

3
私が見た中で最高の1つです。...+1
フレデリックモリン

2
@Michael Pryor:完璧だとしたら、なぜ他の人がそれに追加する必要があるのですか?え?
ドーナツ

17
@donut:時間が進むため、答えが静的なままになることはほとんどありません。
匿名タイプ

22

次の質問を自問してみてくださいなぜ最初にクレジットカード番号を保存したいのですか?おそらくあなたはそうしないでしょう。あなたがあれば実際には、やる保管し、もう1つは盗ま持って管理し、あなたはいくつかの重大な責任を見てすることができます。

クレジットカード番号を保存するアプリを作成しました(トランザクションがオフラインで処理されたため)。これを行うには良い方法があります:

  • SSL証明書を取得してください!
  • ユーザーからCC#を取得するためのフォームを作成します。
  • CC#の一部(すべてではありません!)を暗号化して、データベースに保存します。(中央の8桁をお勧めします。)強力な暗号化方式と秘密鍵を使用します。
  • CC#の残りの部分を、トランザクションを処理する人(おそらく自分)に、処理する人のIDとともにメールで送信します。
  • 後でログインするときに、CC#のIDとメール送信部分を入力します。システムは他の部分を復号化し、再結合して完全な番号を取得できるため、トランザクションを処理できます。
  • 最後に、オンラインレコードを削除します。私の偏執的な解決策は、削除前にランダムなデータでレコードを上書きし、削除を取り消す可能性を取り除くことでした。

これは大変な作業のように思えますが、完全なCC#をどこにも記録しないことにより、ハッカーがWebサーバー上で価値のあるものを見つけるのが非常に困難になります。私を信じて、それは心の安らぎの価値があります。


1
以下のマイケルがサムウェッセルに残したコメントをチェックしてください。
デールレイガン

17

PCI 1.2ドキュメントが出ました。要件とともにPCIコンプライアンスを実装する方法のプロセスを提供します。ここで完全なドキュメントを見つけることができます:

https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

要するに、CC情報の格納専用のサーバー(通常はDBサーバー)に個別のネットワークセグメントを作成します。データを可能な限り分離し、データへのアクセスに必要な最小限のアクセスのみが存在することを確認します。保存するときに暗号化します。PANを保管しないでください。古いデータをパージし、暗号化キーをローテーションします。

禁止事項の例:

  • データベース内の一般情報を検索できる同じアカウントにCC情報を検索させないでください。
  • CCデータベースをWebサーバーと同じ物理サーバーに置かないでください。
  • CCデータベースネットワークセグメントへの外部(インターネット)トラフィックを許可しないでください。

Dosの例:

  • 別のデータベースアカウントを使用してCC情報をクエリします。
  • ファイアウォール/アクセスリストを介したCCデータベースサーバーへの必要なトラフィック以外のすべてのトラフィックを許可しない
  • CCサーバーへのアクセスを、許可されたユーザーの限定されたセットに制限します。

5
PCI-DSS要件は、カードデータが格納される場所だけでなく、カードデータが通過するすべてのシステムに適用されることに注意してください。したがって、同じセキュリティ制限と要件が、web-server / app-server(およびそれらのマシン上の他のすべてのvhostsに属するサイト)およびそれらのマシンと同じネットワークセグメント上の他のすべてのホストにも適用されます。
Cheekysoft 2009年

また、電話または紙でクレジットカード番号を受け入れ、それらをデスクトップコンピューターに入力すると、同じ制限がそこでも適用されます。
Stobor、

15

考えたいと思われる非技術的なコメントを追加したい

私のクライアントのいくつかはeコマースサイトを運営しています。どちらも、確かに支払いゲートウェイを実装することもできますが、cc番号を取得し、一時的に暗号化してオンラインに保存し、手動で処理します。

詐欺の発生率が高く、手動で処理するため、注文を完了する前に追加のチェックを行うことができるため、彼らはこれを行います。彼らはすべての取引の20%強を拒否していると言われています-手動での処理には確かに余分な時間がかかり、ある場合には取引を処理する以外に何もしない従業員がいますが、給料を支払うコストは明らかに彼らよりも少ないですオンラインゲートウェイを介してCC番号を渡した場合の露出。

これらのクライアントは両方とも、再販価値のある物理的な商品を提供しているため、特に公開されており、不正な販売によって実際の損失が発生しないソフトウェアなどのアイテムの場合、マイレージは変動しますが、オンラインゲートウェイの技術的側面よりも検討する価値があります。そのようなものを実装することが本当にあなたが望むものであるなら。

編集:そしてこの回答を作成して以来、私は注意書きを追加し、これが良いアイデアだった時が過ぎたと言いたいと思います。

どうして?同じようなアプローチをしている別の連絡先を知っているからです。カードの詳細は暗号化されて保存され、WebサイトはSSLでアクセスされ、番号は処理直後に削除されました。安全だと思いますか?

いいえ-ネットワーク上の1台のマシンがキーロギングトロイの木馬に感染しました。その結果、それらはいくつかのスコアクレジットカード偽造のソースであると識別され、その結果、多額の罰金が課せられました。

この結果、クレジットカードを自分で処理するようにアドバイスすることはありません。その後、決済ゲートウェイははるかに競争力が増し、費用対効果が高くなり、詐欺対策が改善されました。リスクはもはや価値がありません。

この回答は削除することもできますが、注意書きとして編集しておくことをお勧めします。


1
これは本当に便利なコメントです。おかげで
0plus1

8

SSLを使用してブラウザからサーバーにカード番号を送信することは、レストランのレジにカードを渡すときにクレジットカード番号を親指で覆うようなものです。親指(SSL)はレストランの他の顧客を防ぎます(ネット)カードを見ることはできませんが、カードがレジ係(Webサーバー)の手に渡ると、カードはSSL交換によって保護されなくなり、レジ係はそのカードを使って何でもできるようになります。保存されたカード番号へのアクセスは、Webサーバーのセキュリティによってのみ停止できます。つまり、ネット上のほとんどのカード盗難は送信中に行われるのではなく、不十分なサーバーセキュリティを突破してデータベースを盗むことによって行われます。


PCI DSSの出番です。つまり、サーバーに完全なPANを保存しないことです。
マーティンクラーク

5

なぜPCIコンプライアンスに悩むのですか?せいぜい、あなたはあなたの処理手数料から何分の1かを削ることになるでしょう。これは、開発の初期段階で、また時間の経過とともに最新の要件に対応するために、これがあなたの時間を使ってやりたいことであることを確認する必要があるケースの1つです。

私たちのケースでは、サブスクリプション対応のゲートウェイを使用し、それをマーチャントアカウントとペアにすることが最も理にかなっています。サブスクリプション対応のゲートウェイを使用すると、すべてのPCIコンプライアンスをスキップして、適切なトランザクションを処理するだけです。

TrustCommerceをゲートウェイとして使用しており、サービス/価格設定に満足しています。統合を非常に簡単にする一連の言語のコードがあります。


5
1つの理由は、支払いゲートウェイによって人質に拘束されることを回避することです。別のゲートウェイに切り替えたい場合、以前のゲートウェイはおそらく顧客の持つすべてのCC情報へのアクセスを許可しないため、尋ねる必要があります。新しい支払いゲートウェイでの購入に関するCCの詳細については、顧客。ステップ1に
進み

3

PCIに必要な追加の作業と予算を確実に把握してください。PCIには、膨大な外部監査費用と内部の努力/サポートが必要になる場合があります。また、一方的にあなたに課される可能性のある罰金/罰金にも注意してください。多くの場合、「法務」の規模に非常に不釣り合いです。


2

プロセス全体にはたくさんあります。これを行う最も簡単な方法は、paypalと同様のサービスを使用して、クレジットカードデータを実際に処理しないようにすることです。それとは別に、あなたのウェブサイトでクレジットカードサービスを提供するために承認を受けるために通過する必要があるものはかなりあります。あなたはおそらくあなたの銀行と、そしてあなたの商人IDを発行する人々と、プロセスをセットアップするのを手伝うべきである話し合うべきです。


2

他の人がこの領域への最も簡単な方法を述べたように、PaypalGoogleチェックアウトまたはNochexを使用することです。ただし、かなりの量のビジネスを予定している場合は、WorldPayNetBanx(英国)Neteller(米国)などの上位レベルのサイト統合サービスへの「アップグレード」を検索することをお勧めします。これらのサービスはすべて、設定がかなり簡単です。そして、Netbanxは、Intershopなどの既製のショッピングカートソリューションのいくつかに便利に統合できることを知っています。(私がそれらのいくつかを書いたので)。さらに、銀行システム(およびそのAPAXシステム)との直接統合を検討していますが、それは難しいことであり、その時点でクレジットカード会社に、クレジットカード番号を安全に処理していることを証明する必要があります(おそらく、 1か月あたり10万ドルの価値はありません)。

最初から最後までのコスト/メリットは、初期のオプションを設定する方がはるかに簡単(速い/安い)で、トランザクションごとに非常に高い処理料を支払うことです。後者の方が設定にはるかにコストがかかりますが、長期的に見るとより安価です。

非専用ソリューションのほとんどの他の利点は、暗号化されたクレジットカード番号を安全に保つ必要がないことです。それは誰か他の人の問題です:-)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.