Прослушивание Stripe Webhooks с использованием функций Firebase Node.js - PullRequest
0 голосов
/ 02 мая 2018

Я пытался слушать веб-крюки Stripe с функциями Firebase:

вот мой код:

import * as bodyParser from 'body-parser'
import * as express from 'express';
const app = express();
app.use(bodyParser.raw({ type: '*/*' }));
const stripe = new stripeM("test_token");;
const stripeWHEndpointSecret = 'secret';


app.post('*', (req, res) => {
    const sig = req.headers["stripe-signature"];
    console.log(sig);
    try {
        const event = stripe.webhooks.constructEvent(req.body, sig, stripeWHEndpointSecret);
        console.log(event);

    }
    catch (err) {
        console.log(util.inspect(err));
        res.status(400).end();
    }   
    res.json({received: true});
});
export const stripeWebhooksListener = functions.https.onRequest(app);

и я продолжаю получать эту ошибку: SyntaxError: Неожиданный токен o в JSON в позиции 1

Теперь я понимаю, что проблема с синтаксическим анализом req.body, поскольку он, вероятно, поступает кусками. но я думал, что использование Express с body-parser должно решить эту проблему.

Любая помощь будет оценена

Полоса официальной документации о том, как это сделать: https://stripe.com/docs/webhooks/signatures

1 Ответ

0 голосов
/ 02 мая 2018

У меня работает следующее, с req.rawBody:

const event = stripe.webhooks.constructEvent(req.rawBody, sig, stripeWHEndpointSecret);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...