倧芏暡プロゞェクトでの請求

プロゞェクトを「収益化」するにはさたざたな方法がありたす。 ただし、共通点が1぀ありたす。それは、ナヌザヌのりォレットから組織のアカりントぞの送金方法です。 今日は、Badooでの支払いの受け入れ方法ず、支払いゲヌトりェむ垂堎で䜕が芋぀かるかに぀いお説明したす。 この蚘事では、䌚瀟の資金の売䞊高に関する具䜓的な数字は芋圓たらないが、他のすべおはそれほど興味深いものではないずすぐに譊告したす。



請求ずは䜕ですか



私たちにずっお、請求はナヌザヌからのお金の受け取りに関連するすべおです䟡栌蚭定、支払い受付ペヌゞ、支払いの盎接受け入れず凊理、有料サヌビスの提䟛、さたざたなプロモヌション、そしおもちろん䞊蚘のすべおの監芖。



圓初、すべおのスタヌトアップず同様に、有料サヌビスはありたせんでした。 サむトが2006幎に正匏に開始されたずいう事実にもかかわらず、収益化に向けた最初の深刻なステップは2008幎に始たりたした。 実隓では、フランスが遞択され、SMSを介しおのみ支払いが受け入れられたした。 支払いの受け入れ自䜓はファむルで構成されおいたした。 各リク゚ストは個別のファむルに曞き蟌たれ、bashスクリプトによっお1぀のフォルダヌから別のフォルダヌに転送されたため、凊理ステヌタスが倉曎されたした。 デヌタベヌスは、正垞に凊理されたトランザクションを蚘録するためにのみ䜿甚されたした。 このようなスキヌムは1幎以䞊にわたっお正垞に機胜し、その埌維持が困難になり、デヌタベヌスを䜿甚しおファむルを砎棄し、すべおを曞き換えるこずに決めたした。



有料サヌビスが利甚できる囜は倚くなかったため、新しいバヌゞョンの開発は十分に迅速でした。 ただし、SMSを介しお支払いを受け取るためだけに蚭蚈されおいたす。このため、凊理枈みテヌブルには、MSISDN電話番号やショヌトコヌド短いSMSの送信先フィヌルドなど、いく぀かの面癜いアヌティファクトが残っおいたす。支払い。



珟圚、私たちはほが䞖界䞭で支払いを受け付けおいたす。 毎秒、ナヌザヌはサむトや人気のあるすべおのモバむルプラットフォヌムのアプリケヌションで䜕かにお金を払おうずしたす。 これをマップに配眮するず、「倜の宇宙からの地球の眺め」ずいう画像が埗られたす。



画像



さたざたなパヌトナヌから玄50の支払い方法を利甚できたす。 最も人気のあるものは、銀行カヌド、SMS、モバむルアプリケヌションでの盎接請求および賌入です。



画像



その䞭には、゚キゟチックなものもありたす。たずえば、むンタヌネットプロバむダヌの口座からの盎接匕き萜ずしや、固定電話による支払いです。 そしお、普通郵䟿で支払いを受け取ったら



画像



銀行支払い



すべおの支払いシステムでは、ナヌザヌからの支払いを受け入れるこずができたす。 そのような盎接統合は、それらが倚くなり、よく知られおいるシステムをデバッグされたプロセスに接続するたで行うのが䟿利です。 しかし、地元の垂堎に参入する必芁がある堎合、問題が発生し始めたす。 さたざたなAPIの「動物園」を維持するこずはたすたす難しくなり、芏制圓局の芁件は異なりたす。䞀般的なロヌカル決枈システムは、倖囜のクラむアントず䜎速で取匕するこずを拒吊したり、契玄に眲名しお法的問題を解決したりするのに時間がかかる堎合がありたす。 このような困難にもかかわらず、地元の決枈システムは、その倉換であなたを喜ばせるこずができたす。 たずえば、この囜で人気のあるiDeal支払い方法を接続した埌、私たちがあたり有望ではないず考えたオランダは、30〜40倚くのお金をもたらし始めたした。



需芁があれば、オファヌがありたす。 垂堎には倚くのアグリゲヌタヌ䌁業があり、たたは別の方法で、単䞀のAPIの䞋でロヌカルシステムを含むすべおの䞀般的な支払いシステムを統合するこずを目的ずする支払いゲヌトりェむがありたす。 このような統合を行った埌、䞖界䞭の数十の支払いシステムを介しお支払いを受け取る機䌚が埗られたす。 りェブサむトで支払いペヌゞを䜜成する必芁はありたせんが、アグリゲヌタヌが提䟛する既補のものを䜿甚し、自分だけのデザむンを調敎しおください。 特に先進的な䌁業は、CSSおよびJSファむルのアップロヌド、写真の倉曎、翻蚳テキストの䜜成、さらにサブドメむンpayments.example.comなどでの結果ペヌゞの登録さえ可胜にしたす。 これにより、「カスタマむズ」の機䌚が非垞に豊富になり、ナヌザヌは自分のサむトを離れおいないずいう感芚を芚えたす。 耇数のアグリゲヌタヌず同時に䜜業するため、この機䌚は自宅では䜿甚したせんが、䞀郚のアグリゲヌタヌにずっおは非垞に䟿利な゜リュヌションになる可胜性がありたす。



盎接統合ずアグリゲヌタヌのどちらを䜿甚するかは、䞻にコミッションの芏暡に䟝存したす。 顧客が支払いシステムを䜿甚すればするほど、コミッションを節玄しお盎接接続できるようになるため、収益性が高たりたす。 2番目の重芁な芁玠は、APIの品質、䜿いやすさ、安定性です。 ここでは、アグリゲヌタヌを䜿甚しお粗さを滑らかにし、盎接接続よりも安定したサヌビスを提䟛するこずがありたす。



SMS支払い



SMSによる支払いず携垯電話の残高からの盎接控陀は区別されたす。 倚くの囜、特にペヌロッパでは非垞に厳しく管理されおいたす。 珟地の芏制圓局たたは州自䜓には、支払いペヌゞの倖芳やSMSメッセヌゞのテキストに぀いお特別な芁件がある堎合がありたす。 そのような芁件の倉曎は監芖され、倉曎は時間通りに行われなければなりたせん。 そのため、たずえばベルギヌでは、黒い背景に短いフォントを癜いフォントで蚘述し、その暪にコストを衚瀺するずいうルヌルがありたす。



画像



SMS請求のタむプは異なりたす-MOモバむル発信たたはMTモバむル着信。 MO課金では、すべおが非垞に簡単です。ナヌザヌが短い番号にSMSを送信するず、私たちはお金を受け取りたした。 しかし、MTにはいく぀かのオプションがありたす。 ナヌザヌがSMSメッセヌゞを送信した時点ではなく、特別な有料SMSを受け取った埌に支払いが行われたす。 ぀たり、支払いの事実は、支払い枈みのSMSが正垞に配信されたずいうアグリゲヌタヌから受信した通知です。 このアプロヌチの䞻な目的は、有料のSMSメッセヌゞをナヌザヌに送信する前に远加のチェックを远加し、SMSの誀ったテキストに関連する゚ラヌを防ぐこずです。 このため、支払いは2段階で行われたす。 1぀目は、ナヌザヌが䜕かの支払いを垌望するこずを衚明するこずであり、2぀目は確認です。 たずえば、支払いプロセスは次のようになりたす。



幞いなこずに、SMS決枈垂堎にはアグリゲヌタヌ䌁業もあり、そのサヌビスを利甚する䟡倀がありたす。 それらは、控えめな、時にはそれほどではないが、そのような詳现に察凊するための「喜び」をあなたから奪うためのものです。 別の玠晎らしいボヌナス-圌らはしばしば゚ンドナヌザヌをサポヌトする責任を匕き受けたす。 ナヌザヌは自分の問題に぀いお短い番号の所有者に盎接曞き始めたす。 アグリゲヌタヌに。



技術的な詳现



Badooは倚くのPHP + MySQLで実行されるため、同じテクノロゞヌを䜿甚しお支払いを凊理したす。 コヌドは、共通プヌルから分離された別個のサヌバヌグルヌプで実行されたす。 内郚では、受信リク゚ストを凊理するためのサヌバヌ、バックグラりンド操䜜ず統蚈収集のためのサヌバヌ、デヌタベヌスサヌバヌ、銀行カヌドの支払いを凊理するためのサヌバヌなど、いく぀かの論理的なサブグルヌプに分けたした。 埌者は別のグルヌプに割り圓おられたす。これは、銀行カヌド所有者デヌタを凊理たたは保存する組織のために、Visa、MasterCard、American Express、JCB、およびDiscoverが参加しお開発したPCI DSSセキュリティ暙準に準拠する必芁があるためです。



支払い凊理には、PerconaのMySQLを備えた2぀のデヌタベヌスサヌバヌを䜿甚し、 マスタヌ/マスタヌレプリケヌションで䜜業したす。 䞻な負荷はそのうちの1぀だけになりたす。2぀目は、事故発生時の「ホット」亀換、たたはメむンサヌビスの亀換サヌビス䞭、監芖システムからの芁求たたは統蚈収集に䜿甚されたす。



課金システム党䜓は、いく぀かの倧きな郚分に分割できたす。



新しい支払い方法をシステムに接続するには、プラグむンを䜜成するだけです。 圌は、私たちず支払いゲヌトりェむの間のすべおのやり取りを担圓したす。これは、私たちがむニシ゚ヌタヌの堎合プルリク゚ストずむニシ゚ヌタヌがアグリゲヌタヌの堎合プッシュリク゚ストの2぀のタむプです。 プルリク゚ストの堎合、HTTPは通垞、玔粋なプロトコルずしお、たたはJSON / XMLたたはSOAPのトランスポヌトずしお䜿甚されたす。 最近人気のあるREST APIの抂念は、むギリスのGoCardlessなどの垂堎の新しい䌚瀟や、PayPalなどのAPIを再蚭蚈するこずを決めた叀い䌚瀟の間でのみ頻繁に芋られるこずはありたせん。 プッシュ芁求の堎合、SOAPは実際には䜿甚されたせんこの圢匏のプッシュ通知を提䟛する人の䞭で、Qiwiのみが簡単に蚘憶されたす。 玔粋なHTTPが䞻に䜿甚されるか、すべお同じJSONおよびXMLのトランスポヌトずしおも䜿甚されたす。



APIの実装埌、テストフェヌズが開始されたす。 Habrには、開発ず自動化の プロセスがどのように芋えるかに぀いおの蚘事が既にありたした。 ただし、請求に぀いおは、コヌドだけでなくアグリゲヌタヌずの盞互䜜甚もテストする必芁があるずいう事実に䞻に関連する機胜がいく぀かありたす。 このために、実際の支払いの受け入れを完党に゚ミュレヌトするテスト環境があれば非垞に䟿利です。 存圚しない堎合は、アグリゲヌタヌの動䜜を゚ミュレヌトする「スタブ」を䜜成したす。 これにより、手動テストが簡玠化され、支払いプロセス党䜓を怜蚌するセルフテストを䜜成できたす。 スタブの1぀がどのように芋えるかの䟋を次に瀺したす。



画像



テスト環境の埌、すべおが実際にどのように機胜するかを確認し、実際に支払いを行う必芁がありたす。 ただし、SMSによる支払いの堎合、芏制圓局たたはオペレヌタヌから承認を埗る必芁があり、これには数か月かかる堎合がありたす。 本番サヌバヌに半完成コヌドを広めないために、External Shotのようなものを思い぀きたした。 これは通垞のショットです。これはタスクブランチのあるディレクトリであり、本番サヌバヌでテストするこずを目的ずしおいたすが、ロヌカルドメむンに加えお、誰でもアクセスしお倉曎を確認できる远加の倖郚アドレスがありたす。 セキュリティのために、このような「ショット」は各タスクではなく、本圓に必芁な堎合にのみ䜜成されたす。 パヌトナヌにリンクを提䟛し、パヌトナヌは昌倜を問わずい぀でも倉曎を確認できたす。 これは、時差が12時間に達する可胜性のある他の半球に䜍眮する囜に特に圓おはたりたす。



サポヌトず運甚



新しい統合が運甚サヌバヌに配眮された埌、その運甚ずサポヌトの段階が始たりたす。 テクニカルサポヌトには時間の玄60〜70がかかりたす。



画像



これには、たず、ナヌザヌの苊情の分析が含たれたす。 単玔な状況はすべお第䞀線のサポヌトチヌムによっお解決されたすが、異なる蚀語からの苊情も英語に翻蚳されたす。 したがっお、開発者の泚意を本圓に必芁ずする最も耇雑なケヌスのみを取埗したす。



テクニカルサポヌトの2番目のコンポヌネントは、バグの修正たたは既存の統合の倉曎です。 ゚ラヌはさたざたな理由で発生したす。 たずえば、ドキュメントたたはその䞭のスペヌスを䞍泚意に読んだためです。 新しいシステムのドキュメントがただ準備できおいないため、䞀床ではなく、アグリゲヌタヌの開発者ずチャットログを䜿甚する必芁さえありたした。 アグリゲヌタヌが通知なしで察話プロトコルたたはそのパラメヌタヌを倉曎した堎合がありたした。 たた、アクワむアラヌバンクがゲヌトりェむを切断し、トラフィックを緊急に別の堎所にリダむレクトする必芁がありたした。 埌に刀明したように、それは80幎代の叀代のサヌバヌであり、銀行によるず、䜕も凊理すべきではありたせん。 䞀般的に、特にダりンタむムが1分ごずに利益を倱うこずを考えるず、退屈する必芁はありたせん。



このような問題を解決するために、アプリケヌションの詳现なログを䜜成したす。 ゚ラヌが発生するだけでなく、アグリゲヌタヌシステムずのすべおのやり取り、たたはク゚リの実行䞭に発生する重芁なむベントも発生したす。 各芁求には独自の䞀意の識別子があり、これにより、関連付けられおいるすべおのレコヌドを怜玢しお凊理を埩元できたす。 これは、数週間たたは数か月が経過した゚ラヌに察凊する必芁がある堎合に特に圹立ちたす。



これが、Badooでの請求の構成方法です。 もちろん、たずえば監芖、PCI DSS認定、銀行カヌド支払いの凊理など、将来に぀いおお䌝えする予定の興味深いトピックはただたくさんありたす。 今埌の蚘事のトピックに぀いお質問や提案がある堎合は、コメントを歓迎したす。



アナトリヌパノフ

䞻任開発者



All Articles