Что такое 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, их можно отслеживать в личном кабинете в разделе «Мои продажи».