0

我有一個多步表單,第二頁是結算信息。條形信用卡表格錯誤 - exp_month參數應該是一個整數

當我試着按下一個按鈕,進入結算頁面,我收到錯誤:

*「的exp_month參數應該是一個整數,而不是未定義」 *

我場的樣子這樣的:

<div class="field"> 
    <%= label_tag :card_number, "Card Number" %> 
    <%= text_field_tag :card_number, nil, name:nil %> 
</div> 
<br/> 
<div class="field"> 
    <%= label_tag :card_code, "Security Code (CVV)" %> 
    <%= text_field_tag :card_code, nil, name:nil %> 
</div> 
<br/> 
    <div class="field"> 
    <%= label_tag :card_month, "Expiration Date" %> 
    <%= select_month nil, {add_month_numbers: true}, {name: nil, id: "card_month"} %> 
    <%= select_year nil, {start_year: Date.today.year, end_year: Date.today.year+15}, {name: nil, id: "card_year"} %> 
    </div> 

的CoffeeScript:

jQuery -> 
    Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content')) 
    payment.setupForm() 

payment = 
    setupForm: -> 
    $('#new_post').submit -> 
     $('input[type=submit]').attr 'disabled', no 
     payment.processCard() 
     false 

    processCard: -> 
    card = 
     number: $('#card_number').val() 
     cvc: $('#card_code').val() 
     expMonth: $('#card_month').val() 
     expYear: $('#card_year').val() 
    Stripe.createToken(card, payment.handleStripeResponse) 

    handleStripeResponse: (status, response) -> 
    if status is 200 
     alert response.id 
    else 
     alert response.error.message 
+1

什麼在尋找'exp_month'? CoffeeScript的外觀如何?你爲什麼期望'exp_month'被設置爲任何東西? –

+0

我相信stripe.js尋找exp_month,但我的理解是,如果我收到一個令牌,我不需要直接在代碼中指定它。我正在用coffescript更新這個問題 – Ayrad

回答

1

fine manual

Creating a Card Token
[...]
exp_month: required
Two digit number representing the card's expiration month.

注意,它說exp_month(和exp_year),而不是expMonth?你發送的expMonthexpYear

processCard: -> 
    card = 
    number: $('#card_number').val() 
    cvc: $('#card_code').val() 
    expMonth: $('#card_month').val() 
    expYear: $('#card_year').val() 
    Stripe.createToken(card, payment.handleStripeResponse) 

和條紋抱怨缺少exp_month。參數名稱更改爲exp_monthexp_year

processCard: -> 
    card = 
    number: $('#card_number').val() 
    cvc: $('#card_code').val() 
    exp_month: $('#card_month').val() 
    exp_year: $('#card_year').val() 
    Stripe.createToken(card, payment.handleStripeResponse) 

,你應該有更好的運氣。

相關問題