Что такое Webhook?
Webhook — это способ автоматической передачи данных между приложениями. Представьте, что у вас есть платный канал. И доступ в него должны получить только те, кто оплатил подписку. Вместо того, чтобы отслеживать такие оплаты вручную, можно настроить интеграцию и автоматизировать выдачу доступов.
Как создать Webhook?
Шаг 1. Создайте API-ключ и подтвердите, что вы его сохранили.
Шаг 2. Нажмите на кнопку «Добавить Webhook».
Шаг 3. Заполните поля:
● URL — это ссылка на сервис, куда будут отправляться вебхуки;
● «Тип события»: результат платежа — обычная покупка или регулярный платёж — покупка подписки.
Шаг 4. Выберите тип аутентификации.
Для Basic введите логин и пароль от сервиса, куда будут отправляться вебхуки, для их аутентификации на эндпоинте (URL).
Для API key введите API-ключ от сервиса, куда будут отправляться вебхуки, для их аутентификации на эндпоинте (URL).
Как добавить вебхуки для созданных ключей
Для этого нажмите на три точки рядом с нужным ключом и выберите «Добавить Webhook».
Когда и как приходят вебхуки?
Вебхуки приходят после ответа от банка об успешном или неуспешном платеже. Когда банк присылает ответ, мы отправляем результат на URL-адрес, который вы указывали, когда создавали вебхуки методом POST.
Какую информацию получают по API?
Все методы работы с API описаны в отдельном разделе. Авторизуйтесь, чтобы начать работу.
Как принимать платежи по API?
Оплаты принимаются через метод POST — /api/v2/invoice. Вот что надо сделать, чтобы создать ссылку на оплату (создать invoice):
Шаг 1. Получить список продуктов методом GET v2/products.
Шаг 2. Выбрать продукт, который хотим продавать.
Шаг 3. Скопировать offer_id продукта, по которому хотим получать платежи.
Шаг 4. Отправить запрос на создание invoice методом POST v2/invoice. Для этого укажите в запросе:
● email покупателя;
● offer_id продукта;
● currency — валюту в которой будет покупка;
● language — язык, на котором будут отправляться письма клиенту об успешной покупке;
Шаг 5. Покупатель получит ссылку на оплату.
Как выглядит json Webhook?
Успешная оплата подписки
{ "product": { "id": "72d53efb-3696-469f-b856-f0d815748dd6", "title": "Subscription 3085107274" }, "buyer": { "email": "[email protected]" }, "contractId": "c5a0cacc-3453-44b0-9532-aa492f1ba191", "amount": 2049.85, "currency": "RUB", "timestamp": "2024-02-05T08:44:32.42176Z", "status": "subscription-active", "errorMessage": "" } |
Ошибка при совершении оплаты продукта, пользователь не подписан
{ "product": { "id": "d31384b8-e412-4be5-a2ec-297ae6666c8f", "title": "Тестовый продукт для cs 1.3" }, "buyer": { "email": "[email protected]" }, "contractId": "7ea82675-4ded-4133-95a7-a6efbaf165cc", "amount": 40254.19, "currency": "RUB", "timestamp": "2024-02-05T09:38:27.33277Z", "status": " failed", "errorMessage": "Payment window is opened but not completed" }
|
Обязательно вводить почту при оплате?
Да, почту указывать обязательно. Заменить её чем-то другим не получится.
Клиент купил продукт, но я не получил Webhook. Почему?
Скорее всего, клиент купил продукт через платформу, а не через настроенную интеграцию. Такие платежи не видны при запросе по API, их можно отслеживать в личном кабинете в разделе «Мои продажи».