2016-12-06 7 views
0

ストライプでは、カードでのお支払いと承認のための2段階支払いフローがサポートされています。そのためには、capture = falseパラメータを送信する必要があります。JavaScriptでのストライプ認証とキャプチャ

私の質問は、どのように私はこのパラメータをjavascript apiで送信するのですか?

var args = { 
    number: jQuery('#AccountNumber').val(), 
    exp_month: jQuery('#ExpirationMonth').val(), 
    exp_year: jQuery('#ExpirationYear').val(), 
    address_line1: jQuery('#baddress1').val(), 
    address_line2: jQuery('#baddress2').val(), 
    address_city: jQuery('#bcity').val(), 
    address_state: jQuery('#bstate').val(), 
    address_zip: jQuery('#bzipcode').val(), 
    address_country: jQuery('#bcountry').val() 
}; 



//create token 
Stripe.createToken(args, stripeResponseHandler); 

答えて

1

ストライプを持つ典型的な支払いの流れは、2つのステップに分けることができます。

  1. クライアント(フロントエンド(HTML + Javascript)コードでは、Stripeの事前に作成されたCheckoutフォーム、またはStripe.jsライブラリを使用した独自のカスタムフォームを使用して顧客の支払い情報を収集します。これにより、トークンがサーバーに送信されます。

  2. バックエンドコード(PHP、Python、Ruby、またはあなたが好むサーバ側プログラミング言語)のサーバ側では、charge creation requestのトークンを使用して実際にカードに請求します。

あなたが"auth & capture"フローを使用したい場合は、つまり、サーバー側のコードではなく、トークン作成ステップでは、電荷生成要求にcapture=falseパラメータを渡す必要があります。

0

今、あなたのstripeResponseHandlerが応答は、クレジットカードの詳細をキャプチャした後ストライプのサーバから受信された後に実行されるJavaScript関数です

Stripe.card.createToken(args, stripeResponseHandler); 

Stripe.createToken(args, stripeResponseHandler);を交換してください。だから、応答を処理するためのコードのいくつかの並べ替えが必要になります。詳細については

function stripeResponseHandler(status, response) { 

    // Grab the form: 
    var $form = $('#payment-form'); 

    if (response.error) { // Problem! 

    // Show the errors on the form 
    $form.find('.payment-errors').text(response.error.message); 
    $form.find('button').prop('disabled', false); // Re-enable submission 

    } else { // Token was created! 

    // Get the token ID: 
    var token = response.id; 

    // Insert the token into the form so it gets submitted to the server: 
    $form.append($('<input type="hidden" name="stripeToken" />').val(token)); 

    // Submit the form: 
    $form.get(0).submit(); 

    } 
} 

https://stripe.com/docs/stripe.js#collecting-card-details

関連する問題