正在尝试使用信用卡注册Stripe客户,并使用收到的令牌在Node.js服务器中向该卡收费
我使用示例HTML表单获取条带令牌,提供信用卡信息 作为Stripe的响应,我得到一个包含 条纹标记tok_173MXoHz。。。。。。。。 具有ID卡的卡对象_173MXoHzqz0X。。。。哪个有不同的ID 这些将发布到服务器并创建客户对象正在尝试使用信用卡注册Stripe客户,并使用收到的令牌在Node.js服务器中向该卡收费,node.js,stripe-payments,Node.js,Stripe Payments,我使用示例HTML表单获取条带令牌,提供信用卡信息 作为Stripe的响应,我得到一个包含 条纹标记tok_173MXoHz。。。。。。。。 具有ID卡的卡对象_173MXoHzqz0X。。。。哪个有不同的ID 这些将发布到服务器并创建客户对象 var stripeFormToken = req.body.id; var cardToken = req.body.cardToken; stripe.customers.create({ description: email, s
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保存在数据库中
通过查看位于的仪表板,我看到正在创建customer对象,但没有为其中任何一个添加信用卡
此外,当试图通过以下方式向客户收费时
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”,
stack:'错误:无法向没有活动卡的客户收费\n错误。\u错误
在网上详细查看文档和示例后,我无法解决此问题。您的付款流程有问题。应该是这样的:1。客户端,使用Checkout/Stripe.js将卡信息转换为令牌,并将令牌发送回服务器。2.服务器端,使用令牌创建客户对象,然后使用客户ID创建费用。您的客户对象似乎是在没有令牌的情况下创建的,因此没有附加支付源。为什么客户对象似乎是在没有令牌的情况下创建的?正如代码所示,它是由stripe.customers.create创建的{description:email,source:stripeFormToken}stripeFromToken是使用从客户端获得的令牌创建的。我验证了,并且@Ywain you是正确的。事实上,在创建客户时,令牌没有作为参数传递。谢谢