Сообщение об ошибке Stripe 405 - «добавьте json к URI, чтобы использовать остальные API» - PullRequest
1 голос
/ 03 апреля 2020

Я использую Stripe и пытаюсь отправить тестовый webhook на мой URL и базу данных, размещенную в Firebase. Когда я «отправляю тестовый веб-крючок», я получаю следующее сообщение об ошибке в консоли Stripe:

Ошибка тестового веб-крюка: 405

»добавляется. json в URI вашего запроса для использования остальных API "

Мой код является прямой копией учебника: https://github.com/GaryH21/Stripe-Webhooks-Tutorial/blob/master/functions/index.js

Вот код моего индекса. js:

const functions = require('firebase-functions');
const stripe = require("stripe")(functions.config().keys.webhooks);
const admin = require('firebase-admin')
admin.initializeApp();
const endpointSecret = functions.config().keys.signing;



exports.events = functions.https.onRequest((request, response) => {

    let sig = request.headers["stripe-signature"];
    try {
        let event = stripe.webhooks.constructEvent(request.rawBody, sig, endpointSecret)
        return admin.database().ref('/events').push(event)
            .then((snapshot) => {
                return response.json({ received: true, ref: snapshot.ref.toString() })
            })
            .catch((err) => {
                console.error(err)
                return response.status(500).end() // error saving to database
            })
    } catch (err) {
        return response.status(400).end() // signing signature failed
    }

})


exports.exampleDataBaseTrigger = functions.database.ref('/events/{eventId}').onCreate((snapshot, context) => {
    return console.log({
        eventId: context.params.eventid,
        data: snapshot.val()
    })
})


Единственное время в учебнике и в моем коде, которое используется. json, находится в строке: return response.json({ received: true, ref: snapshot.ref.toString() })

Должен ли я добавлять. json где-то в "запрос", например как в request.RawBody?

Это не проблема с ключами подписи, поскольку это выдает сообщение об ошибке 400, которое я уже исправил и исправил.

Я был бы рад поделиться кодом других файлов в моем приложении, но, насколько я могу судить, ни один из остальных не имеет отношения к проблеме. Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...