Stripe account.create возвращает customer_id вместо account_id - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь реализовать следующий поток в Stripe Connect:

  1. Клиент -> Моя платформа -> 2. Клиент.

Поэтому я посмотрел документацию и использовал API-интерфейс Connect. Итак, я узнал, что я должен создать учетную запись, чтобы сделать перевод. Проблема в том, что метод account.create возвращает customer_id вместо account_id. Похоже, что он все еще использует stripe.customers.create вместо stripe.accounts.create

Вот как я создаю учетную запись:

// When a user is created, register them with Stripe
exports.createStripeAccount = functions.auth.user().onCreate(async (user) => {
  const account = await stripe.accounts.create({type: 'express', requested_capabilities: ['card_payments', 'transfers'], email: user.email});
  return admin.firestore().collection('stripe_customers').doc(user.uid).set({account_id: account.id});
});

В этом случае account.id начинается с " cus_ ", что указывает на то, что это клиент, а не аккаунт. Поправьте меня, если я ошибаюсь.

Я не смог найти никаких вопросов по этому поводу при поиске в Интернете. Кто-нибудь может сказать мне, что я делаю неправильно?

1 Ответ

3 голосов
/ 03 октября 2019

Stripe API doc указывает для аргумента type, что «в данный момент (it) должно быть custom, так как через API могут создаваться только пользовательские учетные записи».

В вашем случае вы передавали type из express:

const account = await stripe.accounts.create({type: 'express'....})

Как вы подтвердили (см. Комментарии выше) при прохождении type из custom Вы"получите право id, поскольку теперь оно начинается с acct_ вместо cus_".

...