Я использую облачные функции из firebase и узла js, чтобы использовать API полосы.Код для создания пользователя отлично работает:
exports.createStripeCustomerOnUserCreate = functions.auth.user().onCreate((user) => {
return stripe.accounts.create({
type: 'custom',
country: 'US',
email: user.email
}, (err, account) => {
// asynchronously called
if(err){
console.log("ERROR" + err.message)
return admin.database().ref(`/users/${user.uid}/stripeConnected`).set(false);
}else{
// success
const accountID = `${account["id"]}`
console.log("account ID: " + accountID)
return stripe.accounts.update(
accountID,
{
metadata: {internal_id:42},
// tos_acceptance: {
// date: Math.floor(Date.now() / 1000),
// ip: request.connection.remoteAddress // Assumes you're not using a proxy
// },
}
).then((account) => {
admin.database().ref(`/users/${user.uid}/stripeConnectId`).set(accountID);
return admin.database().ref(`/users/${user.uid}/stripeConnected`).set(true);
})
.catch((error) =>{
return console.log(error)
})
}
});
});
Строка, включающая stripe.accounts.update, - это то место, где я хотел бы принять T / C от имени моего пользователя.В документации по полосе приведен пример этого, однако я получаю сообщение об ошибке при использовании этого примера:
'request is not defined
at stripe.accounts.create'
Вот ссылка на их пример (см. Раздел «Указание о принятии на их учетную запись Stripe»):
https://stripe.com/docs/connect/updating-accounts
Я прокомментировал, где я использую их пример в своем коде.Что может быть не так ??