我正在使用Firebase和Node js中的云函数来使用Stripe 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的地方。有关stripe的文档提供了一个示例,但是使用该示例时出现错误:
'request is not defined
at stripe.accounts.create'
以下是其示例的链接(请参见“指示接受其Stripe帐户”):
https://stripe.com/docs/connect/updating-accounts
我注释掉了我在代码中使用它们的示例的位置。怎么可能出问题了?