我用django开发了一个web应用程序,我试图用stripe处理支付,我在创建令牌时遇到了问题(我认为这是个问题)。这是我的结帐页面的html/javascript代码
<head>
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
</head>
<body>
<form action="{% url 'checkout:p' %}" id="payment-form" method="post">
{% csrf_token %}
number:<input class="card-number" type='text'>
cvc:<input class="card-cvc" type='text'>
month:<input class="card-expiry-month" type='text'>
year:<input class="card-expiry-year" type='text'>
<script type="text/javascript">
$('form').submit((fucnction(){
var $form = $('#payment-form');
Stripe.setPublishableKey('pk_test_KaWOobBc2ELxFoSoqmS1gtz2');
Stripe.card.createToken({
number: $('.card-number').val(),
cvc: $('.card-cvc').val(),
exp_month: $('.card-expiry-month').val(),
exp_year: $('.card-expiry-year').val()
}, stripeResponseHandler);
function stripeResponseHandler(status, response) {
if (response.error) {
// Show the errors on the form
$form.find('.payment-errors').text(response.error.message);
$form.find('button').prop('disabled', false);
} else {
// response contains id and card, which contains additional card details
var token = response.id;
// Insert the token into the form so it gets submitted to the server
$form.append($('<input type="text" name="stripeToken" />').val(token));
// and submit
$form.get(0).submit();
}
}
});
</script>
<input type="text" name="life" value=42>
<button type="submit">Submit</button>
</form>
</body>
下面是我使用的视图。在
^{pr2}$我得到的错误消息是“您为'card'传递了一个空白字符串。您应该从您的请求中删除'card'参数或提供一个非空值。“我认为这只是意味着我没有正确创建信用卡令牌,但我可能错了。任何帮助都很好,谢谢。在
card
参数不应该是stripeToken
,应该是这样的您可以签出the stripe documentation中的其余参数。在
您应该在视图中传递
card={'id': stripeToken}
。在相关问题 更多 >
编程相关推荐