Stripe Connect создает учетные записи с сервера - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь создать учетную запись Stripe Connect, используя мой бэкэнд функций firebase, когда пользователь регистрируется, но постоянно получаю эту ошибку Express accounts may only be created via the OAuth flow Я знаю, что ошибка кажется самоочевидной, что мне нужно использовать стандартный метод регистрации OAuth, но в Документации говорится, что API могут создавать пользовательские типы, и представление OAuth для каждого пользователя, который просто хочет отправлять средства, а не получать, просто раздражает. Я делаю что-то неправильно, чтобы API не создавал Это? Или есть обходной путь, чтобы не показывать OAuth пользователям, которые просто хотят отправить средства?

exports.createStripeCustomer = functions.auth.user().onCreate(async (user) => {
const customer = await stripe.customers.create({email: user.email});
const account = await stripe.accounts.create({type: 'custom', business_type: 'individual', individual: {email: user.email}, requested_capabilities: ['card_payments', 'transfers'], email: user.email});
return admin.firestore().collection('stripe_customers').doc(user.uid).set({account_id: account.id, customer_id: customer.id});
});

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Кажется, проблема вызвана тем, что я не указал страну в функции stripe.accounts.create. Как только я это сделал, создал учетную запись.

0 голосов
/ 15 апреля 2020

Express Учетные записи и пользовательские учетные записи различаются по типам учетных записей при использовании Connect. Пользовательские учетные записи можно создавать с помощью API , но Express учетные записи должны создаваться через OAuth .

Основное отличие заключается в том, что Express учетные записи имеют доступ к Stripe Dashboard и может каким-то образом обновляться конечным пользователем, тогда как пользовательские учетные записи полностью управляются платформой.

...