Dav*_*vid 5 https webhooks node.js stripe-payments stripe.js
我为 webhook 设置了以下代码:
var express = require('express');
var router = express.Router();
var nodemailer = require('nodemailer');
var middleware = require('../middleware');
var stripe = require("stripe")(process.env.SECRET_KEY);
// router.use(require("body-parser").raw({type: "*/*"}));
router.post("/webhook/all", function(req, res) {
// Retrieve the request's body and parse it as JSON
// var event_json = JSON.parse(req.body);
middleware.sendEmail('Webhook Test', 'event_json');
res.sendStatus(200);
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
当我使用localhostPostman 测试它时,它可以工作,但是当它运行时,它会响应 404 错误:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /webhook/all</pre>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我唯一的猜测是它与我有关HTTPS,因为Stripe 文档是这样说的:
如果您对 Webhook 端点使用 HTTPS URL,Stripe 将在发送 Webhook 数据之前验证与您的服务器的连接是否安全。为此,您的服务器必须正确配置为支持具有有效服务器证书的 HTTPS。
我的 SSL 证书是通过 DO Droplet 上的 Let's Encrypt 设置的,它似乎工作正常,所以我不确定为什么会出现这个问题。
注意:我故意制作了event_json一个字符串,因为我试图删除尽可能多的可能混淆的变量。一旦它作为字符串工作,我将取消注释body-parser并event_json再次切换到变量。
| 归档时间: |
|
| 查看次数: |
1556 次 |
| 最近记录: |