Ошибка StripeSignatureVerificationError: не найдено подписей, соответствующих ожидаемой подписи для полезной нагрузки

#stripe-payments #webhooks

#stripe-платежи #webhooks

Вопрос:

 router.post(
  "/",
  bodyParser.raw({ type: "application/json" }),
  async (req, res) => {
    // Retrieve the event by verifying the signature using the raw body and secret.
    let event;
    const signature = req.headers["stripe-signature"]
    const endPointSecret = "whsec_***"
    console.log(signature)
    console.log(req.body)
    try {
      event = stripe.webhooks.constructEvent(
        req.body,
        signature,
        endPointSecret
      );
    } catch (err) {
      console.log(err);
      return res.sendStatus(400);
    }
    // Extract the object from the event.
    const dataObject = event.data.object;
    console.log(dataObject)
    res.sendStatus(200)
  }
);
  
Я тестирую Webhook на локальном хосте, прослушивая и пересылая событие из 

Интерфейс командной строки Stripe

на локальный хост. И я использую endpoint secret (из командной строки командной строки stripe, предоставленной после команды "stripe listen").

Все еще ошибка проверки подписи!!

введите описание изображения здесь

Комментарии:

1. Настроено ли у вас какое-либо другое bodyParser промежуточное программное обеспечение? Вам необходимо убедиться, что ваш маршрут webhook использует только синтаксический анализатор исходного текста, как в этом примере: github.com/stripe/stripe-node/blob/master/examples /…

2. app.use((req, res, next) => { if (req.originalUrl === ‘/stripe-webhook’) { next(); } else { express.json()(req , res , next) } });