我正在将客户及其来源保存在我的平台上,并试图为我的关联帐户创建费用。我能够成功创建目标费用,但是在创建直接费用时遇到了麻烦。
我尝试根据以下内容创建令牌:https://stripe.com/docs/connect/shared-customers
如果我仅使用客户创建令牌,则错误为:
'您提供的客户未指定来源。客户的默认来源是来源,无法与现有客户共享。'
即使文档中说您需要“该客户的卡或银行帐户ID,如果您要为特定的卡或银行帐户而不是默认帐户付费”。
我找不到一个可以同时指定来源或代替客户的参数。
我尝试通过以下方式与关联的帐户共享客户选择的来源:https://stripe.com/docs/sources/connect#shared-card-sources 导致错误:
'直接将信用卡号发送到Stripe API通常是不安全的。我们建议您使用映射到您正在使用的测试卡的测试令牌,请参阅https://stripe.com/docs/testing。'
我尝试将测试令牌(tok_visa)附加到我的客户,并为此创建费用,但结果相同。
每次我都取得成功时,即使我只是发送Stripe提供的令牌或源ID,也都会遇到关于发送数字不安全的错误。
我已经尝试过了:
const newToken = await stripe.tokens.create({
customer: customerId,
}, {
stripe_account: stripeAccountId,
}).catch((e) => {
console.log(e);
});
这:
const newToken = await stripe.sources.create({
customer: customerId,
usage: 'single_use',
original_source: sourceId,
}, {
stripe_account: stripeAccountId,
}).catch((e) => {
console.log(e);
});
我唯一获得的成功是使用测试令牌(tok_visa)创建直接计费,完全绕过了令牌/源的共享。没有其他组合似乎起作用。但这使我迷失了如何在需要时获得真实的共享令牌。
答案 0 :(得分:0)
我发现我应该使用来源,而不是令牌。事实证明,我不小心将整个newToken用作收费来源。现在,我正在将newToken.id传递给负责人。