web-dev-qa-db-ja.com

自分のソフトウェアに支払い機能を実装できますか?

:投稿するStackExchanceサイトを選択する前に、この質問について少し考えました。 「概念ソフトウェア開発に関する質問に興味があるプロのプログラマー向け」という説明のため、このドメインに決めました。私は実装を探しているのではなく、クレジット/デビットカードのトランザクションを受け入れるという概念だけを調べています。現時点では法的な問題を考慮していないため、法律、ビジネス、新興企業についての議論専用のサイトにはアクセスしませんでした。この質問を間違ったサイトに配置したと思われる場合は、フラグを立てる前に、なぜ、どこにあると思うかをコメントで残してください。

ありがとう!


私が検討しているのは以下です:

ソフトウェアにクレジット/デビットカードの支払い処理システムを実装することは可能ですか?


私は現在、レジ係またはウェイターのコンピューターで実行されている可能性のあるPOS(Point of Sale)ソフトウェアである個人的なサイドプロジェクトに取り組んでいます。

私が探しているものを説明するためのユースケース:

  1. レジ係が顧客から注文を受け取り、顧客がカードを渡して製品の支払いをします
  2. ソフトウェアがコンピューターに接続されたカードスワイプでスワイプすると、カードのデータを取得します
  3. データは、承認のためにリクエストどこかで送信されます。おそらく、アクワイアラー(マイバンク)またはおそらく有料でトランザクションを処理するサードパーティ企業に送信されます。

手順1と2は比較的簡単に実装できると確信していますが、手順3が可能かどうかはわかりません。それが今私が心配している唯一の部分です。このプロジェクトの開発を始める前に、クレジット/デビットカードのトランザクションを受け入れる可能性にのみ焦点を当てたいと思います。

主要なカード会社や銀行からのクレジットカードやデビットカードを受け入れることができない場合は、先に進みたくありません。

私が探していないもの:

Paypalまたはユーザーがポータルにアクセスして支払いを処理するオンラインサイトを使用したくありません。私はPOSシステムを開発しているので、コンピューターとのすべてのやり取りはソフトウェア内に限定する必要があります。お客様はカード以外の情報とPINまたは署名-顧客に画面が表示されないことを忘れないでください。


これまでに見つけたもの:

クレジットカードまたはデビットカードのトランザクションを受け入れるには、ストアまたはマーチャントがマーチャントアカウントを持っている必要があります。これは、アカウント所有者(商人)からの承認リクエストを受け入れるように設定されたアカウントです。マーチャントはマーチャントアカウント(アクワイアラー)にリクエストを送信し、アクワイアラーはカード発行者(顧客のカード会社)にクエリを発行します。その後、アクワイアラーは結果をアカウント所有者(マーチャント)に送り返します。

サードパーティのソフトウェアを使用せずに顧客からのトランザクションを受け入れるには、ソフトウェアを評価し、非常に厳しいセキュリティ基準に合格する必要があると読みました。私はまた、あなたのソフトウェアがこれらの厳格な基準を満たす必要がないように支払いを処理するサードパーティの会社があることを読みました。

この情報は正しくなかった可能性があり、取引プロセスを正しく理解できなかった可能性があります。

これらの結論から、私は以下の質問を思いつきました:

第三者企業を利用しない場合の質問

  • マーチャントアカウントを設定してリクエストの送信を開始できる場合は、どうしてそれをしないのですか?サードパーティの必要性はないと思います。
  • 実装はマーチャントバンクごとに異なりますか?
  • これらの加盟銀行はすべて、独自の一連のセキュリティ基準を必要としますか?
  • この方法でも、他の銀行や他の国からの取引を受け入れることはできますか?

サードパーティ企業の使用に関する質問

  • これらの理論的なサードパーティ企業を使用する場合、トランザクションプロセスを独自のソフトウェアに統合するためのAPIを提供していますか?
  • または、必要に応じてカスタマイズできるソフトウェアを提供していますか?
  • これらの会社に金額といくつかのCC情報を送信するだけで、残りは処理できますか?
  • これは、独自のソフトウェアを使用して取得者にリクエストを送信するよりも、どのようにして安全(または異なる)でしょうか?
  • これはほとんどの販売アカウントで機能しますか?

その他の一般的な質問

  • CCトランザクションの処理に関する私の結論は間違っていますか?

支払い取引以外にも、ユーザーフレンドリーでカスタマイズ可能で堅牢なPOSソフトウェアを構築するというアイデアは今でも気に入っています。しかし、支払い処理は、商人が必要とするものの非常に大きな部分を占めています...

  • 商人自身がトランザクションを処理するために別のソフトウェアを使用するPOSソフトウェアの購入を検討することを考えていますか?
7
Matt C

たくさんの情報を求めてきましたが、できるだけプロセス全体をまとめたいと思います。

あなたは間違いなくあなた自身の商人処理ソフトウェアを構築することができます。かなりの数の企業がこれを行っています(WorldPay、Paypal、BluePay、National Bankcardなどのいくつかがあります)。それらのほとんどは、カードの支払い(有料)を非常に迅速に処理できます。それらすべてに、購入情報を送信できるAPIが備わっていると思います。私はまた、それらすべてが払い戻しを処理することを期待します(あなたは言及していません)。

独自のアクワイアラーを介して独自に構築することもできますが、ほとんどの銀行(特に小規模な銀行)には、インターネット接続を介して請求のために収集した情報を取得するための知識ベースがありません。そして彼らがそうするときでさえ、彼らはクレジットカードをクリアするビジネスに入りたいとは思わない(これは銀行が彼らが話すときに使う言葉- 数十億のクレジットカードと他のトランザクションの処理 )。

マーチャントプロセッサを使用する主な理由の1つは、国際銀行を含むカードを発行する銀行とのインターフェースを作成する必要がないことです 。はい、各銀行には、処理とセキュリティの両方でわずかに異なる独自のルールセットがあります。

国際銀行取引(国外のどこでも)の処理を開始すると、最大で条約を含めた法的要件に入ります。銀行の法的問題(クレジットカードの処理は法的に該当する)といえば、各国のバージョンの「Do Not Sell」も確認する必要があります。 "リスト。 これは米国のリストです。

最後の質問(クレジットカードの処理にサードパーティのソフトウェアを使用するソフトウェアを購入している企業について)については、おそらくそのアイデアに疑問を投げかけるものをいくつか見つけます。私の経験では、ほとんどの企業(少なくとも米国では)は、購入する製品にある程度のサードパーティソフトウェアを期待しています。すべての分野でエキスパートになるためのリソースを持つ企業はほとんどありません...

5
Adam Zuckerman

良いニュース:これは特に技術的に難しいことではありません。

悪いニュース:あなたの銀行はあなたを信頼しなければなりません。クレジットカード詐欺にはさまざまなものがありますが、コミットすることもコミットすることもできるため、取引を続行すると、履歴がなければ、銀行は警戒し、より高い料金を請求します。

技術的に。あなたはあなたの銀行で商人のアカウントが必要です。あなたの銀行はあなたにクレジットカードの支払いをすることを可能にするAPI(そしておそらくハードウェア)を(あなたに売る)あなたに提供します。これは銀行が受け入れるすべてのカードをカバーします

多くの場合、これにはスマートカードや登録ユーザーなどのハードウェアの側面がありますが、自動処理を設定することは難しくありません。また、銀行取引明細書で支払いの照合を設定する必要があります。これは、物事が追加されない場合、手動の操作を伴うことがよくあります。

支払いは銀行が払い戻すことができ、これは明細書でのみ明らかになる場合があります。

銀行のAPIが非常に役立つか、現代的であると期待しないでください!

銀行は、トランザクションごとに固定金額および/または金額の割合を請求します。この金額は、取引期間と処理した取引量に基づいています。それはサードパーティがあなたに提供するものよりも高いかもしれません。

銀行は、支払いの処理に使用されるすべてのシステムを監査する必要があります。承認を受けるには、Webページのデザインなどを送信する必要がある場合があります。

PCIに準拠している必要があります。監査と自己認証にはさまざまなレベルがあります。

これらは人々が第三者の支払い処理を選ぶ理由のいくつかです。

しかし、私たちは自分でそれを行うことにあまりにも否定的であってはなりません。結局、これは通りの店の90%が行うことです、商人のアカウントといくつかのチップアンドピンマシンを手に入れて、彼らは去ります!

2
Ewan

この答えは確かにあなたが期待するものではありませんが、ソフトウェアでネイティブに支払いトランザクションを管理することは簡単なことではありません。正直に言うと、個人的な副次的プロジェクトとしてはほとんど実行できません。

最初に、カードをスワイプするという考えを忘れて、ソフトウェアにPINを要求し、それを磁気ストライプに保存されているものと比較します。これは、もうすぐ廃止されるテクノロジーです。クレジットカードはますますスマートカードになり、PINはチップ上で暗号化されます。これは米国ではまだ主流ではありません(40%の消費者が1つしか持っていません)が、クレジットカード会社は積極的に推進しています詐欺を減らすのに役立つので、その方向で。多くのヨーロッパの国では、チップなしでクレジットカードを見つけることはほとんどできません。

幸い、広く受け入れられている優勢な標準があります [〜#〜] emv [〜#〜]

主要なクレジットカード会社はまた、POSがEMVを実装していない場合、詐欺的な取引の場合に責任を商人にシフトすることを実装しています。これは、システムがチップカードの磁気ストライプを使用していて、このカードが偽物であることが判明した場合、商人はお金を回収できないことを意味します。これは、EMV準拠システムを取得するための強力なインセンティブになります。

最後に、決済システムは非常にダイナミックな分野です。たとえば、 非接触型決済 が人気になり、別のワークフローを提供します。最後に重要なことですが、 モバイル決済 も新しいテクノロジーです。

十分な開発者がいる会社を運営している場合は、ソフトウェアでこれをすべて行うことができます。しかし、それがコア機能の単なる付属品である場合は、この部分を 専門のアクター に下請けして、API/Webサービスと知識を活用してください。

1
Christophe