#node.js #google-cloud-firestore #stripe-payments
#node.js #google-облако-firestore #stripe-платежи
Вопрос:
Итак, я пытаюсь создать учетную запись Stripe Connect, используя триггерную функцию Firestore (onUpdate), но я продолжаю получать сообщение об ошибке: Error: Received unknown parameter: business_type
в моих журналах функций Firebase. Это заставляет меня чувствовать, что я плохо отформатировал stripe.accounts.create()
вызов. Я следил за документами Stripe здесь. У меня получилось, если я просто включил значения type
, country
, и email
, но хотел бы сразу включить все важные значения, но, возможно, мне нужно обновить другие значения после создания учетной записи stripe? Если да, есть ли способ обновить эти дополнительные значения в function(error, account)
вызове ниже? Не так много примеров кода, которые я могу найти для этого, поэтому, если кто-нибудь работал с этим и имеет несколько советов, это было бы здорово!
Фрагмент:
const response = await stripe.accounts.create({
type: 'custom',
country: 'US',
// Optional Values
requested_capabilities: ['platform_payments'],
email: newValue.email,
// tos_acceptance: newValue.stripeTosAcceptance,
business_type: 'individual',
individual: {
//some other options values we could include (see docs)
// address? Gender? default currency? verification docs?
first_name: newValue.firstName,
last_name: newValue.lastName,
ssn_last_4: newValue.ssnLast4,
dob: {
day: newValue.dob.day,
month: newValue.dob.month,
year: newValue.dob.year
}
},
}, function(error, account) {
if(error){
console.log("Error: " error);
} else {
console.log("Writing account.id to user DB...");
admin
.firestore()
.collection("users")
.doc(context.params.userId)
.set({ connect_id: account.id }, { merge: true });
}
});
Комментарии:
1. Когда возникает эта ошибка? Если функции развернуты или во время развертывания?
2. Когда функция развертывается в firebase, но на этой ноте, возможно, есть лучший способ протестировать мою функцию, чем каждый раз развертывать их в firebase?
3. Какую версию Stripe API использует ваша учетная запись? Способ, которым Stripe обрабатывает учетные записи connect, значительно изменился совсем недавно. Я рекомендую обновить вашу учетную запись до последней версии, и я подозреваю, что это устранит проблему. stripe.com/docs/upgrades#2019-02-19
4. Используете ли вы Typescript? Как упоминал @duck, были некоторые недавние изменения, и определения
@types/stripe
типов не обновляются. Вы могли бы попробоватьnpm i @types/stripe
, возможно, они добавили недостающие типы. Или вы должны изменить определение типа самостоятельно. Недавно возникла эта проблема с API намерения платежа.5. Обновление: я зашел на панель управления Stripe, чтобы обновить версию API, и она исправила эту ошибку! Спасибо, ребята! (См stripe.com/docs/upgrades )
Ответ №1:
Как предложили @duck и @Sebe, я зашел на панель инструментов Stripe, чтобы обновить версию API, и она исправила эту ошибку! (См stripe.com/docs/upgrades ) Кажется, Stripe недавно изменил / обновил значения, ожидаемые для stripe.accounts.create()
функции, из-за чего значение не соответствовало документам.