条纹连接 - 共享客户,无法收费

时间:2018-02-20 01:18:42

标签: node.js stripe-connect

您好我正在尝试实施条带连接,其中平台需要申请费,但连接的用户需要支付大部分费用。

以下为我的向导 https://stripe.com/docs/connect/shared-customers

我将此作为我的代码。用户在另一个视图中使用默认信用卡来源保存。

    Parse.Cloud.define("chargeCard", function(req, res){
      stripe.tokens.create({
        customer: req.params.customer,
      }, {
        stripe_account: req.params.stripeAccount,
      }).then((token) => {
        console.log("successfully created token");
        stripe.charges.create({
          amount: req.params.amount,
          currency: req.params.currency,
          source: token.id,
          application_fee: req.params.fee,
        }, {
          stripe_account: req.params.stripeAccount,
        }).then((charge) => {
          console.log("successfully charged card");
          res.success(charge);
        }).catch((error) => {
          console.log(error);
          res.error(error.message);
        });
      }).catch((error) => {
        console.log(error);
        res.error(error.message);
      });
    });

但收到错误:

"您提供的客户未指定来源。客户的默认来源是来源,无法与现有客户共享"。

我无法在创建令牌主体中指定其默认来源。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

此问题与用户来源有关。虽然用户有信用卡来源,但它不是“可共享的”(因为错误有点说明),您需要在使用条带连接时创建共享源。

https://stripe.com/docs/sources/connect#creating-direct-charges

您希望在stripe-connect中使用此代替上述tokens.create进行直接收费。

stripe.sources.create({
  customer: "cus_AFGbOSiITuJVDs",
  usage: "reusable",
  original_source: "src_19YP2AAHEMiOZZp1Di4rt1K6",
}, {
  stripe_account: "{CONNECTED_STRIPE_ACCOUNT_ID}",
}).then(function(token) {
  // asynchronously called
});

仅供参考:我不保存或附加这个新来源,保留主要来源并为每次购买重新生成新令牌,因为我的申请是1到多个卖家。