【发布时间】:2020-04-25 09:53:41
【问题描述】:
为什么我会发现这个错误?
我在这里看到过类似的问题,但它们似乎无法解决我的问题。
错误:未找到与有效负载的预期签名匹配的签名。您是否传递了从 Stripe 收到的原始请求正文? https://github.com/stripe/stripe-node#webhook-signing
这是我删除了键的 index.ts。
import * as functions from 'firebase-functions';
import * as Stripe from 'stripe';
const stripe = new Stripe('sk_test_*****************************');
const endpointSecret = 'whsec_******************************';
import * as express from 'express';
import * as cors from 'cors';
const bodyParser = require('body-parser')
const app = express();
app.use(cors({origin: true}));
app.post('/webhook', bodyParser.raw({type: 'application/json'}), async(req, res) => {
const sig = req.headers['stripe-signature'] as string;
let event;
try {
event = stripe.webhooks.constructEvent(req.body, sig, endpointSecret);
} catch (err) {
console.log("ERROR!!!1");
console.log(err);
return res.status(400).send(`Webhook Error: ${err.message}`);
}
console.log('Success:', event.id);
// Handle the checkout.session.completed event
if (event.type === 'checkout.session.completed') {
const session = event.data.object;
console.log("MADE IT!!!");
console.log(session);
return;
// Fulfill the purchase...
//handleCheckoutSession(session);
}
return;
});
export const payments = functions.https.onRequest(app);
【问题讨论】:
-
这可能是一个类似的问题,但可以接受的解决方案。 stackoverflow.com/a/56146244/4957620
标签: typescript firebase stripe-payments