使用测试卡创建客户时出错

时间:2017-09-28 15:29:41

标签: node.js express stripe-payments stripe.js

尝试为新创建的客户开始订阅时,我从Stripe收到以下错误:

  

invalid_request_error   错误:此客户没有附加付款来源

客户似乎创建得很好。我正在使用Stripe Checkout来收集卡片令牌。为了进行测试,我使用Stripe的4242 4242 4242 4242卡号和随机信息。令牌似乎正在创建并传递到我的服务器就好了。以下是我的服务器端代码:

stripe.plans.retrieve(
    "basic-monthly",
    function(err, plan) {
        if (err) {
            console.error(err)
            res.sendStatus(500)
        } else {
            stripe.customers.create({
                email: owner,
                source: token.id,
            }, function(err, customer) {
                if (err) {
                    console.error(err)
                    res.sendStatus(500)
                  } else {
                    stripe.subscriptions.create({
                      customer: customer.id,
                      items: [
                        {
                          plan: "basic-monthly",
                          quantity: 1
                        },
                      ],
                    }, function(err, subscription) {
                      if (err) {
                        console.error(err)
                        console.log('@@@@@ UNABLE TO CREATE SUBSCRIPTION @@@@')
                        res.sendStatus(500)
                      } else {
                         console.log('Subscription created.')
                         console.dir(subscription)
                         res.sendStatus(200);
                      }     
                    });
                  }
                });
              }
            });
记录

@@@@@ UNABLE TO CREATE SUBSCRIPTION @@@@以及上述错误。我理解错误的含义,但我不确定它是如何发生的。如您所见,我在创建客户source: token.id,时传递了令牌ID。

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

这里最可能的原因是token.id为空,因此创建的客户没有来源。我建议记录token的内容,看看你得到了什么。