【问题标题】:Stripe connect share card source not working条纹连接共享卡源不起作用
【发布时间】:2019-06-05 02:56:42
【问题描述】:

我正在我的平台上保存客户及其来源,并尝试为我的关联帐户创建费用。我能够成功创建目的地费用,但无法创建直接费用。

我已经尝试创建一个令牌: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) 创建直接收费,完全绕过令牌/来源的共享。似乎没有其他组合有效。但这让我不知道如何在需要时获得真正的共享令牌。

【问题讨论】:

    标签: node.js stripe-payments


    【解决方案1】:

    我发现我应该使用来源,而不是令牌。事实证明,我不小心使用了整个 newToken 作为收费的来源。现在我正在将 newToken.id 传递给费用。

    【讨论】:

    • 我经历了完全相同的过程。如果其他人经历过这一点,还有一个注意事项:不要在费用参数中包含客户参数。你只需要 source=token.id
    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 2020-09-01
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 2019-11-17
    • 2019-12-25
    • 1970-01-01
    相关资源
    最近更新 更多