アメリカの決済システムの経験

みなさんこんにちは! 私は州のeコマーススタートアップに取り組んでおり、最近、 StripeBraintreePaypalなどの多くの電子決済サービスで仕事をすることができました。 今日は、米国における電子決済の機能、上記のサービスを使用した実際的な経験、およびこのトピックに関する多くの一般的な考えについて少しお話したいと思います。



だから、初めに少し理論。 かつてこれは小さな発見であったため、支払いカードの種類から始めましょう。 そのため、次の種類のカードがあります。







だから、プリペイドカードについて。 アメリカでは非常に人気があり、ウォルマート、T-Mobile、または他の主要店で購入できます。 使用方法。 好きなhaveがいて、彼の誕生日に彼にお金をあげるとします。 しかし、キャッシュを提供するのはファッショナブルではなく、部族はたとえばAmazonで何かを買っているので、そのようなカードをたとえば50ドルで購入します。 この後、彼女のneはインターネット上で彼女をアクティブにし、準備ができている、彼は50ドルのカードを持っています。 また、補充可能なプリペイドカードの亜種もあります。 一番下の行は、これらのカードは、あなたがインターネット上であなたの個人的なカードを輝かせないようにするので、米国で人気があります。 なんてプラス。 ただし、たとえば、サービスの全額をすぐに引き出さない(前払いで請求する)企業の観点からすると、これは大きなリスクです。お金を引き出せない場合、そのようなカードには何も表示できません。 より正確には、できることであり、これには特別な手順さえありますが、それだけの価値がない場合もあります。 カードの最初の6桁(ビン番号)とそのようなサービスを使用して、使用しているカードの種類を理解できます 。 ところで、 リンクは、支払いカードの番号が何を意味するかについての良いインフォグラフィックです。











支払いシステムでの作業を開始するときに間違いなく遭遇する2番目の素晴らしいことは、エラーメッセージです。 より正確にその説明。 なんで? ほとんどの銀行にはこのコードまたはそのコードの意味が明確に規定されていないため、サービスがエラーを受け取って認識できない場合、「支払いが拒否されました」と表示されます。驚き、積極的に「注文する」ボタンを押し続けると、何も機能せず、気分を害し、永遠に去ります。 彼はカードに陳腐なお金がないかもしれませんが。 これに備え、エラーの詳細な説明を提供する必要があります。



次に、支払いサービスについて少し説明します。つまり、優れた支払いサービスに必要な機能について説明します。



一般的な要件:





機能要件:



言うまでもなく、これらすべてに理解可能なREST APIが必要です。これは、追加のジェスチャーなしで使用できます。 追加の動きの例-あらゆる種類のUSPS、FedEx、およびその他のサービスと統合できるサービスstamps.comがあります。 APIにアクセスするには、すべての開発者のIPを含むリクエストを送信して、これらのIPがホワイトリストに追加されるようにする必要があります。 それから2〜3日待って、幸せがあります。 企業はそのような企業です。



実際、最初にリストしたサービスを比較します。 私たちは積極的に使用しているStripeが勝ちます。 理由:



同じブレインツリーは、ボトルなしで接続することは不可能であるという事実のために失われ、私は彼らの文書については黙っています。 例として、幸運を祈って、サンドボックスでテスト用のカード番号を見つけてみてください。



ペイパルについて。 Paypalは、電子商品またはサービスを販売する場合に適しています。 それ以外の場合は、忘れてください。 なんで? 統合方法の簡単な図を以下に示します。











ちなみに、Paypalは少し前にBraintreeを買収しましたが、今では開発のためにあらゆる種類の新しいものを提供しています。



ストライプの接続方法。 ステップ1はjavascriptです。

//  Stripe.setPublishableKey('{stripe.publish_key}'); //     Stripe ,       //       stripeResponseHandler Stripe.card.createToken({ number: $('#cardnumber').val(), cvc: $('#cvc').val(), exp_month: $('#expdate_mm').val(), exp_year: $('#expdate_yy').val(), name: $("#cardholdername").val(), address_line1: $("#street1").val()), address_line2: $("#street2").val(), address_city: $("#city").val(), address_state: $("#region_id").val(), address_zip: $("#postcode").val(), address_country: 'US' }, stripeResponseHandler); //     var stripeResponseHandler = function (status, response) { var $form = $('#payment-form'); if (response.error) { //   Stripe, ,     / } else { $.post(url, $form.serialize(), function (data) { //      });
      
      





サーバーコードはそのままです-grails / java





 // Stripe.apiKey = stripe.secret_key //  Map<String, Object> customerParams = new HashMap<String, Object>() customerParams.put("email",email) customer = Customer.create(customerParams) //     ,    Map<String, Object> cardParams = new HashMap<String, Object>() cardParams.put("card", token) customer.createCard(cardParams) //  Map<String, Object> chargeParams = new HashMap<String, Object>() chargeParams.put("amount", amount) chargeParams.put("currency", "usd") chargeParams.put("description", "Charge") chargeParams.put("customer", customer.id) chargeParams.put("card", card.id) Charge.create(chargeParams)
      
      







実際、すべてを支払いました。 たとえばBraintreeの同じコードは、2.5倍長くなります。



おそらくそれだけです。 コメントで質問してください。このトピックは興味深いもので、十分なレーキを集めました。



All Articles