2017-02-20 23 views
0

私が理解している限り問題は、ストライプチェックアウトモーダルが呼び出されていないため、ストライプトークンが設定されていないため、エラー。ここでRails Stripe Js可変金額チェックアウト

が自分のセットアップチュートリアルへのリンクです:https://stripe.com/docs/recipes/variable-amount-checkout

だから私は、文字通り/を通じて読みながら自分のコードを貼り付けると、単に最小量をmodifedコピーしてきました。私はAPIキーでエラーが発生しましたが、私はその問題を過ぎました。

ここで私のエラーを見てください: あなたは空の文字列を 'source'に渡しました。リクエストから 'source'パラメータを削除するか、空白でない値を指定する必要があります。

Stripe::Charge.create(
     :amount => @amount, 
     :currency => 'usd', 
     :source => params[:stripeToken], 

パラメータ:

{ "UTF8" => "✓"、 "authenticity_token" => "ロングコード..."、 "量" => "6"、 "stripeToken" => ""}

このエラーの前にはモーダルが表示されません。どういうわけか、チェックアウトのモーダルjsが単に寄付ボタンイベントハンドラによって呼び出されていないと思われます。

<script src="https://checkout.stripe.com/checkout.js"></script> 

<script> 
var handler = StripeCheckout.configure({ 
    key: '<%= Rails.configuration.stripe[:publishable_key] %>', 
    locale: 'auto', 
    name: 'Ragnar\'s Redoubt', 
    description: 'One-time donation', 
    token: function(token) { 
    $('input#stripeToken').val(token.id); 
    $('form').submit(); 
    } 
}); 

$('#donateButton').on('click', function(e) { 
    e.preventDefault(); 

    $('#error_explanation').html(''); 

    var amount = $('input#amount').val(); 
    amount = amount.replace(/\$/g, '').replace(/\,/g, '') 

    amount = parseFloat(amount); 

    if (isNaN(amount)) { 
    $('#error_explanation').html('<p>Please enter a valid amount in USD ($).</p>'); 
    } 
    else if (amount < 1.00) { 
    $('#error_explanation').html('<p>Donation amount must be at least $1.</p>'); 
    } 
    else { 
    amount = amount * 100; // Needs to be an integer! 
    handler.open({ 
     amount: Math.round(amount) 
    }) 
    } 
}); 

// Close Checkout on page navigation 
$(window).on('popstate', function() { 
    handler.close(); 
}); 
</script> 

私はjavascriptのnoobのですが、私はどのようにhandle.open(表示されていない)が真上チェックアウトスクリプトを開きます。 varハンドルはそれを私がここで紛失しているものと呼んでいませんか?自分のnoobの質問に答えるのリスクが

答えて

0

...

私はfreenodeの上#stripe IRCチャンネルからの素晴らしい助けを得ました。

ここに正しく入力したにもかかわらず何とかミスタイプですか?

#stripeの有益な個人が「クローム開発ツールを開いてコンソールにjavascriptエラーがないかどうかを確認する」という問題は表示されませんでした。

私が直接スペルミスになってしまいました。だから+1#ストライプ、+1クロムツール。

関連する問題