我正在使用示例HTML表单来获取Stripe令牌,提供信用卡信息 .

作为Stripe的回应,我得到一个包含的对象

  • 条纹标记("tok_173MXoHz........")

  • 具有ID("card_173MXoHzqz0X....")且具有不同ID的卡对象

这些是发布到服务器并创建客户对象

var stripeFormToken = req.body.id;
var cardToken = req.body.cardToken;

stripe.customers.create({
    description: email,
    source: stripeFormToken // obtained with Stripe.js
},
function(err, customer) {
    if(err){
        console.warn(err);
    });

并将客户ID保存在数据库中 .

通过查看https://dashboard.stripe.com/test/customers处的仪表板,我看到正在创建客户对象,但没有为其中任何一个添加信用卡 .

此外,当试图通过收取客户

stripe.charges.create({
        amount: 500,
        currency: "cad",
        customer: customer.id, // obtained with Stripe.js
        },
        function(err, charge) {
            if(err){
                console.warn(err);
            }else{
                console.log("successfully charged");
            }
        });

但我收回了错误:

[错误:无法为没有活动卡的客户收费]类型:'StripeCardError',堆栈:'错误:无法为没有活动卡的客户收费\ n在Error._Error

在线查看了文档和示例后,我无法解决这个问题 .