我在我的电子商务网站上使用Stripe,我的代码没有错误,但由于某些原因 新客户未在我的Stripe信息中心注册。 < / p>
有一次它正在运作,但现在已经不行了。我按照Stripe网站上的教程进行操作。
以下是代码:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
Stripe.setPublishableKey('pk_test_Zr7oAROGNha5GcEdthCemM0a');
function stripeResponseHandler(status, response) {
var $form = $('#signupform');
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="hidden" name="stripeToken" />').val(token));
// and submit
$form.get(0).submit();
}
};
jQuery(function($) {
$('#signupform').submit(function(event) {
var $form = $(this);
// Disable the submit button to prevent repeated clicks
$form.find('button').prop('disabled', true);
Stripe.card.createToken($form, stripeResponseHandler);
// Prevent the form from submitting with the default action
return false;
});
});
答案 0 :(得分:0)
您在Stripe日志中看到了什么?
https://dashboard.stripe.com/logs?method=not_get
仅成功调用/ v1 / tokens,还是/ v1 / tokens和/ v1 / customers?
通常,这会在您创建令牌时发生,但也不会在客户或后端收费时发生。使用Stripe为客户收费总是分为两个步骤。
步骤1:您使用Checkout或Stripe.js表单收集客户的信用卡信息,将其传递给Stripe,Stripe会为您提供一个令牌。
步骤2:您将此令牌传递给后端,然后告诉Stripe使用它,或将其保存给客户以便稍后收费。您需要服务器上的脚本来处理此问题并从POST参数中获取令牌。这里有一个代码示例,https://stripe.com/docs/tutorials/charges
听起来第二步没有发生 - 如果你已经有了一个后端脚本,可能会有一些错误导致它在信息到达Stripe之前失败。我建议您查看服务器和错误日志,以找到有关具体内容的详细信息。