Ошибка: получен неизвестный параметр: business_type — соединение с полосой узла

#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() функции, из-за чего значение не соответствовало документам.