PayPal正在发送同一Webhook(节点)的许多倍数

时间:2019-01-15 03:39:54

标签: node.js paypal sdk webhooks paypal-rest-sdk

更新:代码现在可以正常工作,我认为在向代码中添加“ res.send('on')”之后,有大量未验证的事务不得不通过系统重新工作。

编辑:添加res.send('on')修复了502网关错误,但重新发送仍在继续。

我已经成功配置了Webhooks,并且正在我的侦听器中接收它们。关于如何验证的文档不是很清楚,但是我正在运行节点SDK文档中提供的get_and_ verify.js的代码。 PayPal发送的每个Webhook均通过此代码运行,该代码始终返回true

我的问题是,PayPal似乎无休止地反复发送相同的Webhook。我在配置中没有做过什么,还是这只是这些工作的方式?

收听者代码:

app.post('/paymentauthed', (req,res) => {
        res.status(200);
        console.log(req.body);

paypal.configure({
  mode: "sandbox", //sandbox or live
  client_id:
    "...",
  client_secret:
    "..."
});

const eventBody = `{"id": "${req.body.id}"}`
paypal.notification.webhookEvent.getAndVerify(eventBody, function (error, response) {
   if (error) {
        console.log(error);
        throw error;
    } else {
        console.log(response);
    }
});

});
app.listen(3000, () => console.log('Server Started'))

此响应也可能是相关的,它说存在502错误的网关,不确定为什么...

"transmissions": [
        {
            "webhook_url": "https://cloudhookstester.net/paymentauthed",
            "response_headers": {
                "SERVER_INFO": "",
                "Strict-Transport-Security": "“max-age=15768000”",
                "HTTP/1.1 502 Bad Gateway": "",
                "Server": "nginx/1.14.2",
                "Connection": "keep-alive",
                "Content-Length": "173",
                "Date": "Tue, 15 Jan 2019 03:38:43 GMT",
                "Content-Type": "text/html"
            },
            "transmission_id": "74323070-1874-11e9-8941-d953a11868e8",
            "status": "PENDING",
            "timestamp": "2019-01-15T03:20:05Z"
        }
    ],

感谢您的帮助。

0 个答案:

没有答案