Stripe Connect - общий клиент, не может взимать плату

Привет, я пытаюсь внедрить 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 ответ

Эта проблема была с источником пользователей. Несмотря на то, что у пользователя был источник кредитной карты, он не "доступен для совместного использования" (как говорится в сообщении об ошибке), при использовании stripe-connect необходимо создать общий источник.

https://stripe.com/docs/sources/connect

Вы хотите использовать это вместо вышеупомянутого tokens.create для прямых платежей в Stripe-Connect.

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

К вашему сведению: я не сохраняю и не присоединяю этот новый источник, сохраняю основной и регенерирую новый токен для каждой покупки, так как мое приложение - 1 для многих продавцов.

Другие вопросы по тегам