web-dev-qa-db-ja.com

Paypalのような完全なオンライン支払いゲートウェイの構築

したがって、この質問は、既存の支払いゲートウェイを私のサイトに統合することに関するものではありません。これはアーキテクチャ上の問題です。

Paypalに似たシステムを構築したい。今では、Paypalが屋根の下で多くの機能を提供しており、それらのすべてを一度に実装できないことを理解しています。 Paypalや他のそのようなサービスのコア機能を実装したいです。

したがって、私の質問は、(そのような議論は)そのようなシステムをどのように構築するかということです。議論すべきいくつかのポイント:

  1. 既存の銀行を介して支払いを処理します。これを取得するには、ローカル銀行のプロトコルにアクセスする必要があると思います。
  2. ユーザーが支払いを安全に保存および処理できるようにする
  3. Paypalはトランザクションをどのように処理しますか?

考え?

147
Obaid

あなたが話しているのは、決済サービスプロバイダーになることです。私はそこに行って、それをしました。約10年前は現在よりもずっと簡単でしたが、驚異的な時間、お金、忍耐力があれば、それも可能です

取得銀行に連絡する必要があります。あなたは世界のどの地域にいるかは言わなかったが、これによって私は地元の銀行支店を意味するものではない。通常、各主要銀行には個別のカード取得アームがあります。したがって、ここ英国では(例) Natwest 銀行があり、これは Streamline (またはWorldpay)を獲得手段として使用しています。合計で大手銀行が多数ありますが、それらはすべて5つほどのカード取得者のいずれかを使用しています。

幸いなことに、すべての英国のカード取得者は、認証リクエストの通信と終業の決済に標準プロトコルを使用しています。買収銀行によっては一部の機能をサポートし、構文がわずかに異なる軽微な癖がありますが、その違いはごくわずかです。英国の基準は Association for Payment Clearing Services(APACS) (現在UKPAとして知られています)によって公開されています。規格は一般にAPACS 30(認可)およびAPACS 29(決済)と呼ばれますが、現在は正式にAPACS 70(ブック1〜7)として知られています。

APACS標準は英国全体で広くサポートされていますが(AmexおよびDiscoverはこの形式のメッセージも受け入れます)、他の国では使用されていません-各国が独自に所有しています-例えば:フランスのCarte Bancaire、イタリアのCartaSi、Sistema 4Bスペイン、デンマークのダンコルトなど。欧州全体でプロトコルを統一する取り組みが進行中です。 EPAS.org を参照してください。

買収銀行との通信は、いくつかの方法で行うことができます。繰り返しますが、それはあなたの地域に依存します。英国(およびヨーロッパのほとんど)には、すべての主要な取得者への接続を提供する1つの通信ゲートウェイがあります。これらは TNS と呼ばれ、取得銀行と通信する方法は多数あります、ダイヤルアップ9600ボーモデム、ISDN、HTTPS、VPNまたは専用回線から。最終的に、承認要求はX25プロトコルに変換されます。これは、これらの取得銀行が相互に通信するときに使用するプロトコルです。

要約すると、それはすべてあなたの地域に依存します。

  • 大手銀行に連絡し、カード取得部門に連絡を取ってください。
  • 支払いサービスプロバイダーとして設定していることを説明し、承認リクエストと1日の終わりの決済ファイルの通信フォーマットに関する詳細をリクエストします
  • テスト販売アカウントを設定し、認証/決済ソフトウェアを開発し、認定プロセスを実行します。ほとんどのアクワイアラーはこのプロセスを無料でお手伝いしますが、認定PSPとして登録する場合、料金を請求する人もいます。
  • いくつかの規制も遵守する必要があります。たとえば、支払い機関として登録する必要がある場合があります

登録および認定されると、認定を受けた銀行に代わって顧客を受け入れ、販売アカウントを設定できるようになります(各アクワイアラーは通常複数の銀行をサポートすることに留意してください)。必要に応じて、他のアクワイアラーで洗浄して繰り返します。

それ以外にも、主にPCI-DSSを扱う他の多くの問題があります。それはまったく別のトピックであり、このサイトにはすでにいくつかのQ&Aがあります。私が言うように、それは驚異的な仕事です-おそらく合理的な規模のチームであっても複数年のプロジェクトですが、確かに可能です。

200
PaulG