2016-09-28 62 views
0

我的條紋碼是不是生成令牌將被髮送到服務器端代碼的用戶收費,而是返回:條狀返回缺少帕拉姆

Missing required param: number. 

我已經通過我的代碼無數次閱讀,閱讀Stripe文檔等。控制檯中返回的唯一錯誤是來自Stripe的400請求錯誤,因爲「缺少參數」,儘管它存在AND使用數據條。

片段的形式爲:

<input type="text" data-stripe="number" class="form-control" placeholder="Card Number"> 

的JavaScript代碼:

<script type="text/javascript" src="https://js.stripe.com/v2/"> </script> 
<script type="text/javascript"> 
Stripe.setPublishableKey('pk_test_6G4sPCuttf9bYhMhs0xM3JEo'); 
</script> 

<script type="text/javascript"> 
$(function() { 
var $form = $('#payment-form'); 
$form.submit(function(event) { 
// Disable the submit button to prevent repeated clicks: 
$form.find('.submit').prop('disabled', true); 

// Request a token from Stripe: 
Stripe.card.createToken($form, stripeResponseHandler); 

// Prevent the form from being submitted: 
return false; 
}); 
}); 

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('.submit').prop('disabled', false); // Re-enable submission 

} else { // Token was created! 

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

// Insert the token ID 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(); 
} 
}; 

+0

在控制檯,檢查哪些數據解析在'POST',當它發射的AJAX令牌 – Poonam

+0

你確定你已經包括jQuery和'$ form'確實含有與該''

元素各種'data-stripe =「...」'字段? – Ywain

回答

1

你不能只從卡號令牌生成。您還需要傳遞以下數據。

  1. 卡號
  2. CVC

  3. exp_month

  4. exp_year

表單應捕獲來自用戶所有這些細節。

<form action="/your-charge-code" method="POST" id="payment-form"> 
    <span class="payment-errors"></span> 

    <div class="form-row"> 
    <label> 
     <span>Card Number</span> 
     <input type="text" size="20" data-stripe="number"> 
    </label> 
    </div> 

    <div class="form-row"> 
    <label> 
     <span>Expiration (MM/YY)</span> 
     <input type="text" size="2" data-stripe="exp_month"> 
    </label> 
    <span>/</span> 
    <input type="text" size="2" data-stripe="exp_year"> 
    </div> 

    <div class="form-row"> 
    <label> 
     <span>CVC</span> 
     <input type="text" size="4" data-stripe="cvc"> 
    </label> 
    </div> 
    <input type="submit" class="submit" value="Submit Payment"> 
</form>