Meteor:Stripe不正确的安全代码不会抛出客户端错误

时间:2015-09-16 01:23:38

标签: javascript meteor stripe-payments

我正在做一些测试,只是在我的网站上发现错误。我收集用户付款信息,但我不收取费用。这使他们可以免费试用。

问题是来自meteor(在客户端上)的响应是一个不错的200 OK,它不会抛出任何错误。但在客户端,我确实收到错误,客户没有得到保存。因此,即使没有保存付款信息,此流星接受“付款”并创建帐户。

有没有人碰到这个?任何人都可以让我知道如何解决它将不胜感激!

这是客户端代码:

Stripe.card.createToken({
    number: cardNumber,
    cvc: secCode,
    exp_month: expMonth,
    exp_year: expYear
}, function(status, response) {
  console.log(status, response);
    if (response.error){
      alert(response.error.message);
      throw error
    }
    else {
      stripeToken = response.id;
      createTheUser(stripeToken);
    }
});

服务器端错误:

Unhandled rejection Error: Your card's security code is incorrect.

1 个答案:

答案 0 :(得分:1)

使用Stripe.js Stripe.card.createToken()功能创建令牌时,Stripe不会根据银行网络检查该卡。它只检查卡的详细信息是否公然无效(正确的位数,将来的到期日期等)。

只有在您使用令牌create a chargecustomer时,才能实际检查该卡,并且可能raise an error

避免这种情况的一种方法是使用Checkout而不是您自己的Stripe.js表单。 Checkout将在卡上运行$ 0 / $ 1授权,如果授权失败,则不会返回令牌。