Обновление: код теперь работает, я думаю, что было тонна непроверенных транзакций, которые должны были вернуться в систему после того, как я добавил res.send ('on') в код.
Редактировать: добавление res.send('on')
исправило ошибку шлюза 502, но повторная отправка продолжается.
Я успешно настроил веб-хуки и получаю их от слушателя. Документация о том, как проверить, не очень ясна, но я запускаю код для get_and_ verify.js
, указанный в документации SDK узла. Каждый веб-крючок, отправленный PayPal, проходит через этот код, который последовательно возвращает true
.
Моя проблема в том, что PayPal повторно отправляет один и тот же веб-крючок снова и снова, казалось бы, бесконечно. Что-то я не сделал в конфигурации, или это просто так?
код слушателя:
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"
}
],
Любая помощь приветствуется.