Вебхуки
Вебхуки позволяют получать уведомления о событиях, происходящих в системе Love&Pay. Это полезно для автоматической обработки событий, например, подтверждения платежей или изменений статуса транзакций.
Конфигурация вебхуков#
Для управления вебхуками доступны следующие операции:
Получить конфигурацию вебхука#
Используйте этот запрос для получения текущих настроек вебхука.
curl -X GET https://api.bill.loveandpay.io/v1/webhook \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET"
Настроить вебхук#
Этот запрос позволяет установить URL и события для вебхука, а также включить или выключить его.
curl -X PUT https://api.bill.loveandpay.io/v1/webhook \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET" \
-H "Content-Type: application/json" \
-d '{
"url": "https://yourdomain.com/webhook",
"events": ["payment.success", "payment.failed"],
"enabled": true
}'
Отправить тестовый вебхук#
Отправляет тестовое событие на указанный URL вебхука для проверки интеграции.
curl -X POST https://api.bill.loveandpay.io/v1/webhook/test \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET" \
-H "Content-Type: application/json" \
-d '{
"event": "payment.success"
}'
Перевыпустить секрет вебхука#
Создаёт новый секрет для подписи вебхуков, что повышает безопасность.
curl -X POST https://api.bill.loveandpay.io/v1/webhook/rotate-secret \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET"
Получить журнал доставок вебхуков#
Возвращает журнал доставленных вебхуков для отладки и проверки успешности доставок.
curl -X GET https://api.bill.loveandpay.io/v1/webhook/deliveries \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-API-Secret: YOUR_API_SECRET"
Формат payload#
Payload вебхуков содержит информацию о событии. Пример payload для события payment.success:
{
"id": "evt_123456789",
"object": "event",
"type": "payment.success",
"data": {
"object": {
"id": "txn_987654321",
"amount": 1000,
"currency": "USDT",
"status": "succeeded"
}
}
}
Проверка подписи#
Каждый вебхук подписывается с использованием секрета, чтобы вы могли убедиться в его подлинности. Подпись передаётся в заголовке X-Signature.
Ретраи#
Если ваш сервер не отвечает с кодом 2xx, вебхук будет автоматически повторно отправлен несколько раз с увеличивающимися интервалами.
Пример обработчика на Node.js#
Пример простого обработчика вебхуков на Node.js:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.post('/webhook', (req, res) => {
const signature = req.headers['x-signature'];
const event = req.body;
// Проверка подписи и обработка события
if (verifySignature(signature, event)) {
switch (event.type) {
case 'payment.success':
// Обработка успешного платежа
console.log('Payment succeeded:', event.data.object);
break;
// Обработка других типов событий
default:
console.log(`Unhandled event type ${event.type}`);
}
res.status(200).end();
} else {
res.status(400).send('Invalid signature');
}
});
function verifySignature(signature, event) {
// Реализуйте проверку подписи
return true;
}
app.listen(3000, () => {
console.log('Webhook server is listening on port 3000');
});
Информация
Для более подробной информации о настройке вебхуков и обработке событий, обратитесь к разделам Аутентификация и Обработка ошибок.
Обновлено 21 сентября 2026 г.