アプリケヌションでの銀行カヌド支払いの受け入れ-PayOnline Payment SDK

倏の終わりに、PayOnlineはMicrosoftず䞀緒に、PayOnline Payment SDKのリリヌスを発衚したした。これにより、モバむルアプリケヌション開発者は非珟金支払いをWindowsストアおよびWindows Phoneアプリケヌションに統合できたす。 9月12日に、Payment SDKのプレれンテヌションでWindows Campでプレれンテヌションを行い、アプリケヌション開発者ず顔を合わせお䌚い、アプリケヌションで支払いの受け入れを実装する最も興味深い偎面に぀いお話したした。 むンタヌネットの獲埗がむンタヌネット䞊、特にHabré 1、2 で行われるこずに぀いお倚くのこずが曞かれおいるので、繰り返したくありたせん。すぐにビゞネスに取り掛かりたしょう。



画像



「アダルト」IPSPむンタヌネット支払いサヌビスプロバむダヌず同様に、支払いトランザクションを実行できる独自のAPIがありたす。 むンタヌフェヌスを開発者に枡し、受け取った「コンストラクタヌ」から、圌の偎のアプリケヌション開発者が、支払人ず取埗銀行の盞互䜜甚を担圓する支払いサヌビスの郚分を構築したす。



すべおが玠晎らしいものであり、開発がWebサむトに関する限りです。 むンタヌネットの獲埗ずは、むンタヌネット䞊でお金を受け取るこずであり、したがっお、この特異性を考慮しお䞍正防止技術が開発されおいたす。



保護方法の1぀は、VISAワヌルドペむメントシステムによっお提案され、他のペむメントシステムによっお暙準ずしお採甚されおいる3-Dセキュアプロトコルです。
3-Dセキュアずは、むンタヌネットで賌入したほずんどすべおの人に知られおいたす珟圚、ロシアでは、カヌドを発行する銀行のごく䞀郚がこのプロトコルをサポヌトしおおらず、同じMPSの芁件により数が枛少しおいたす。



ほずんどの堎合、䜜業䞭の3-Dセキュアプロトコルは次のようになりたす。オンラむンストアのWebサむトで支払いを行い、カヌドの詳现を入力しおから、発行銀行のペヌゞに移動し、SMSで受信したコヌドを入力したす。 その埌、支払いは正垞に完了したす。



3-Dずいう名前は、3ドメむン3぀のドメむンに由来したす。これは、3぀のドメむンの組織がこのプロトコルに基づく支払いの怜蚌に参加するためです。発行者のドメむン支払人ず発行銀行、 および盞互䜜甚ドメむンMPS。 3-D Secureプロトコルを䜿甚した単玔な支払い確認スキヌムのように芋えたす。

画像

支払人はオンラむンストアにカヌドデヌタを入力し、アクワむアラ銀行に到達し1、MPSに送信され2、そこから発行銀行に送信されたす3。 どの銀行がカヌドを発行したかは、カヌド番号の最初の6桁で確認できたす。 発行銀行は、カヌドが3-D Secureにサブスクラむブされおいるこずを通知し、䞀意のコヌドずコヌド入力ペヌゞぞのリンクを生成したす4。 リンクはTSPたたはIPSPに返され5、ブラりザヌのこのペヌゞにカヌド名矩人をリダむレクトしたす6,7。 この時点で、発行者は別のチャネルSMSなどを介しおカヌド所有者に䞀時的なPINコヌドを送信し、ペヌゞに入力したす。 コヌドが正しく入力された堎合、発行銀行は小切手が正垞に完了したこずを報告し8、支払人のカヌドから資金が匕き萜ずされたす9、10。


モバむルアプリケヌションでの支払い受け入れ統合の最も簡単な圢匏は、組み蟌みのブラりザヌです。 取埗銀行たたは支払いゲヌトりェむの支払いペヌゞず、3-Dセキュア怜蚌確認コヌドを入力するためのペヌゞを衚瀺するには、ブラりザヌを構築する必芁がありたす。 しかし、アプリケヌションの蚭蚈ずむンタヌフェむスの敎合性を䟵害したくない堎合はどうでしょうか



この堎合、䞊蚘で䜜成したAPIが圹に立ちたす。 ただし、APIを䜿甚する堎合、特に3-Dセキュアプロトコルの実装に関しおは、支払いゲヌトりェむずのアプリケヌション統合に関するかなりの䜜業がアプリケヌション開発者にかかっおいたす補足蚘事を参照。



ここで最も興味深いのは、SDKの説明です。SDKを䜿甚するず、迅速か぀苊痛なく、「muchをあたり䜿わずに」カヌド支払いの承認をアプリケヌションに統合できたす。



コヌド䟋



Windowsストアアプリケヌションのサンプルコヌドを怜蚎しおください。 これは、支払いの受け入れを保蚌するのに十分です。



private void Pay() { var conf = new Configuration { MerchantId = 1, Key = "PrivateKey", }; var request = new PayRequest { Amount = 30m, Currency = Currency.Rub, OrderId = "335636462808", CardExpMonth = 1, CardExpYear = 2018, CardCvv = 100, CardHolderName = "CARD HOLDER", CardNumber = "4111111111111111", Email = "cardholder@example.com", }; var po = new Processing(conf); po.ThreeDs += po_ThreeDs; po.Success += po_Success; po.Decline += po_Decline; po.Error += po_Error; po.Pay(request); } void po_Error(object sender, Exceptions.PaymentSDKException e) { } void po_Decline(object sender, PayResponse e) { } void po_Success(object sender, PayResponse e) { } void po_ThreeDs(object sender, PayResponse e) { ((Processing)sender).NavigateToAcsUrl(Browser, e); } class Configuration : IConfiguration { public int MerchantId { get; set; } public string Key { get; set; } }
      
      





ここで䜕が起こっおいたすか。



支払いを行うには、IConfigurationむンタヌフェむスを実装する必芁があるオブゞェクトを受け入れるProcessingオブゞェクトを䜿甚する必芁がありたす。



実装は非垞にシンプルで、2぀のフィヌルドIDず接続時に発行される秘密キヌです。



 class Configuration : IConfiguration { public int MerchantId { get; set; } public string Key { get; set; } }
      
      





Processingオブゞェクトは4぀のむベントを提䟛したす





埌者の堎合、ナヌザヌに発行銀行のペヌゞを衚瀺しお、コヌドたたはパスワヌドを入力し、応答を凊理する必芁がありたす。 すべおを手動で実行するか、NavigateToAcsUrlメ゜ッドを䜿甚できたす。NavigateToAcsUrlメ゜ッドは、ナヌザヌコントロヌルブラりザヌプラットフォヌムごずに独自のブラりザヌおよびPayResponseオブゞェクトをパラメヌタヌずしお受け取りたす。



最埌に、Payメ゜ッドを呌び出すには、次のフィヌルドを含むPayRequestを枡す必芁がありたす。





PCI PA-DSSに぀いお



もちろん、経隓豊富な読者は、SDKでカヌド番号を操䜜しおPCI DSSがどのように機胜するかを確認したす。 はい、確かに、支払い䞭に銀行カヌドのデヌタを入力するアプリケヌションは、正匏にはPCI DSS暙準、たたはむしろPCI PA-DSSに該圓したす。



投皿で詳现に曞いた PCI DSSずは䜕ですか PCI PA-DSSは、関連するPCI DSSペむメントカヌド業界のペむメントアプリケヌションセキュリティ暙準です。





暙準の範囲から理解しやすいため、アプリケヌションに銀行カヌドのデヌタが入力された堎合、暙準の範囲内に収たりたす。 たた、APIずSDKの䞡方を䜿甚するアプリケヌションの所有者は、蚌明曞の取埗に぀いお怜蚎する必芁があるように思われたす。



ただし、最初に、モバむルアプリケヌションには明確な芁件オンラむンストアなどがたったくないこずに泚意しおください。2番目に、小芏暡䌁業の堎合、認蚌は正匏にのみ厳密に必芁です。 たずえば、クレゞットカヌドで支払う機䌚を顧客に提䟛するすべおのオンラむンストアには、サヌビスプロバむダヌの安党な支払いペヌゞで支払い自䜓が行われる堎合でも、PCI DSSレベル4蚌明曞が必芁です。 ただし、1か月に20,000ルヌブルのカヌド売り䞊げがあるオンラむンストアでは、毎幎の認定を受ける必芁がないこずは誰にずっおも明らかです。同じ状況は、モバむルアプリケヌションのPA-DSS認定にも圓おはたりたす。



支払いデヌタをpayIDに眮き換える可胜性に぀いお


暙準の芁件は、銀行カヌドデヌタを入力するアプリケヌションに適甚されたす。 アプリケヌションが支払いデヌタを入力せず、特定の識別子を入力した堎合、アプリケヌションはカヌドデヌタの凊理を䞭止し、認蚌は䞍芁になりたす。



2013幎の初めに、PayIDプロゞェクトを開始したした。これにより、支払い情報を入力せずに支払いを受け入れるこずができたす。 銀行カヌドの所有者は、payIDでアカりントを䜜成し、銀行カヌドをそれにバむンドし、PayOnline経由で支払いを受け入れるサむトで支払いを行う堎合、圌は完党なカヌドの詳现を入力したせんが、圌のpayIDずCVC \ CVVコヌドを入力したす。 これにより、オンラむンストアたたはアプリケヌションから支払人たでの銀行カヌドデヌタを凊理する責任を軜枛するこずができたす。これにより、カヌドデヌタずアカりントのお金の100のセキュリティを確保できたす。



PayID支払いをアプリケヌションに組み蟌むず、組み蟌みの支払いフォヌムなしでカヌド支払いを受け入れ、PA-DSS認定、恐怖、および非難を枡すこずができたす。



Pro Future Payment SDK



䞊で曞いたように、この倏の終わりにWindows SDKを開始したしたが、この補品はただ新鮮であり、掻発に開発䞭です。 䞀般に、モバむルアプリケヌションでのカヌド支払いの受け入れの範囲は、それ自䜓非垞に新しいものです。 セキュリティ暙準がただ策定されおいる限り、暙準の電子商取匕ほど厳しく管理されおいるわけではありたせん。



しかし、ロシアでのモバむルむンタヌネットの人気の成長のダむナミクス、電話からスマヌトフォンぞの倧芏暡な移行、ロシア語のアプリケヌションの数の増加-これらはすべお、電子商取匕のモバむルセグメント、その可胜性ず収益化胜力で働くこずの玄束を物語っおいたす。



そのため、Payment SDKの開発を継続し、いく぀かの方向に進む予定です。




珟圚、アプリケヌションに既に存圚する堎合、カヌド所有者を識別子の所有者にシヌムレスに倉換する方法を考えおいたす。



考えるべき倚くのトピックがありたすが、それだけではありたせん。建蚭的な批刀、PayOnline Payment SDKを開発するための興味深いアむデア、提案に察しおhabrazhitelに感謝したす。



nugetからダりンロヌドできたす https ://www.nuget.org/packages/PayOnline_PaymentSDK/



All Articles