Stripe Connect с несколькими идентификаторами целевых учетных записей

Мы можем создавать платежи и взимать application_fee с помощью Stripe connect в NodeJS следующим образом: :

// Get the credit card details submitted by the form
var token = request.body.stripeToken;

// Create the charge on Stripe's servers - this will charge the user's card
stripe.charges.create(
  {
    amount: 1000, // amount in cents
    currency: "eur",
    source: token,
    description: "Example charge",
    application_fee: 123 // amount in cents
  },
  {stripe_account: CONNECTED_STRIPE_ACCOUNT_ID},
  function(err, charge) {
    // check for `err`
    // do something with `charge`
  }
);

Источник можно получить с помощью собственного обработчика оформления заказов Stripe.

Однако, если у меня есть торговая площадка, и я хочу выполнить проверку нескольких элементов, принадлежащих разным авторам, как мне тогда поступить?

Проблема в том, что мне нужно было бы создать несколько зарядов из одного источника. Но тогда система подумает, что произошла ошибка, поскольку общая сумма (использованная при извлечении источника stripeToken) не соответствует индивидуальным суммам (отдельных элементов).


person JohnAndrews    schedule 23.02.2016    source источник
comment
Для интересующихся вот решение (исходный код): noodl.io/market/product/P201512041604740/   -  person JohnAndrews    schedule 27.06.2017
comment
Этот вопрос по-прежнему актуален для меня в 2020 году.   -  person Jaap Weijland    schedule 07.10.2020


Ответы (2)


Единый платеж не может быть разделен между несколькими учетными записями.

1) Вам нужно будет сохранить токен для клиента в учетной записи платформы. 2) Создайте новый токен для каждой учетной записи, в которой вы хотите создать платеж, используя «Общие клиенты»

// Create a Token from the existing customer on the platform's account
stripe.tokens.create(
  { customer: CUSTOMER_ID, card: CARD_ID },
  { stripe_account: CONNECTED_STRIPE_ACCOUNT_ID }, // id of the connected account
  function(err, token) {
    // callback
  }

3) Используя новый токен, создайте платеж с кодом, который у вас есть в вашем вопросе.

person Matthew Arkin    schedule 23.02.2016
comment
Хорошо, допустим, у вас 4 аккаунта. Затем вы должны сначала сгенерировать stripeToken обычным способом. Затем возьмите этот токен, создайте 4 учетных записи клиентов и затем сохраните этот токен в их учетных записях. Затем вы создаете 1 токен начисления с помощью общих клиентов, который вы можете использовать для создания начисления? - person JohnAndrews; 25.02.2016
comment
вам не нужно создавать клиентов в подключенной учетной записи (хотя для этого могут быть причины). Вам нужно 4 токена из общего кода клиентов (1 токен на подключенную учетную запись) - person Matthew Arkin; 25.02.2016
comment
Пробовал и у вас есть последний вопрос: stackoverflow.com/q/36520164/4262057 - person JohnAndrews; 09.04.2016