WatBot Help
Search…
Powered By GitBook
Платежные системы
Прием платежей в ботах WhatsApp, Viber, Telegram, ICQ

Общая схема

Чтобы принимать платежи в ботах нужно в разделе Настройки -> Интеграции подключить платежную систему Яндекс.Касса.
Интерфейс подключения Яндекс.Касса
Заполните соответствующие поля во вкладке Основное и нажмите кнопку Сохранить, после чего система сгенерирует webhook (ссылку), который нужно скопировать и сохранить в личном кабинете сервиса Яндекс.Касса в настройках в поле URL для уведомлений.
 Личный кабинет Яндекс.Касса
Во вкладке Оповещения вы можете указать URL для уведомлений (только https), на который будет приходить информация о платежах. Ответ должен содержать код состояния 200. В случае ошибки, система будет пытаться доставить уведомление в течение суток, постепенно увеличивая интервал между запросами.
Настройка оповещений
О каких статусах вы будете получать уведомления:
    pending - платеж создан, но не завершен.
    waiting_for_capture - платеж выполнен и ожидает подтверждения.
    succeeded - платеж успешно завершен.
    canceled - платеж отменен.
Подробнее о статусах сервиса Яндекс.Касса смотрите по ссылке:
Яндекс.Касса → ЮKassa: новый бренд и адрес сайта
Яндекс.Касса → ЮKassa: новый бренд и адрес сайта
Пример оповещения для статуса pending. Платеж на 900 руб.
1
{
2
"id": 1,
3
"provider": "yandex_kassa",
4
"provider_id": "12345678-1234-1234-1234-123456789ab",
5
"currency": "RUB",
6
"amount": 90000,
7
"state": "pending",
8
"created_at": 1554717083,
9
"payload": null,
10
"order": [
11
{
12
"name": "Название товара",
13
"description": "Описание товара",
14
"amount": 900
15
}
16
],
17
"contact": {
18
"id": 1,
19
"name": "Дмитрий",
20
"messenger": "whatsapp",
21
"phone": "79999999999"
22
}
23
}
Copied!
Поле amount содержит сумму в минимальной единице измерения валюты.
Пример оповещения для статуса waiting_for_capture
1
{
2
"id": 1,
3
"provider": "yandex_kassa",
4
"provider_id": "12345678-1234-1234-1234-123456789ab",
5
"currency": "RUB",
6
"amount": 90000,
7
"state": "waiting_for_capture",
8
"created_at": 1554717099,
9
"payload": {
10
"type": "notification",
11
"event": "payment.waiting_for_capture",
12
"object": {
13
"id": "12345678-1234-1234-1234-123456789ab",
14
"status": "waiting_for_capture",
15
"paid": true,
16
"amount": {
17
"value": "900.00",
18
"currency": "RUB"
19
},
20
"authorization_details": {
21
"rrn": "858585858585",
22
"auth_code": "555444"
23
},
24
"created_at": "2019-04-08T09: 51: 35.762Z",
25
"description": "[ID1] Дмитрий +79999999999",
26
"expires_at": "2019-04-15T09: 51: 38.488Z",
27
"metadata": [
28
29
],
30
"payment_method": {
31
"type": "bank_card",
32
"id": "12345678-1234-1234-1234-123456789ab",
33
"saved": false,
34
"card": {
35
"first6": "555555",
36
"last4": "4444",
37
"expiry_month": "12",
38
"expiry_year": "2021",
39
"card_type": "MasterCard"
40
},
41
"title": "Bank card *4444"
42
},
43
"recipient": {
44
"account_id": "123456",
45
"gateway_id": "654321"
46
}
47
}
48
},
49
"order": [
50
{
51
"name": "Название товара",
52
"description": "Описание товара",
53
"amount": 900
54
}
55
],
56
"contact": {
57
"id": 1,
58
"name": "Дмитрий",
59
"messenger": "whatsapp",
60
"phone": "79999999999"
61
}
62
}
Copied!

Настройка приема платежей в Телеграм

Для Телеграм вы можете подключить встроенные платежи, для этого в разделе Опубликовать -> Telegram добавьте платежный токен, выданный ботом @BotFather.
Платежный токен Телеграм
Вы можете указать URL для уведомлений (только https), на который будет приходить информация о платежах. Ответ должен содержать код состояния 200. В случае ошибки, система будет пытаться доставить уведомление в течение суток, постепенно увеличивая интервал между запросами.
О каких статусах вы будете получать уведомления:
    pending - платеж создан, но не завершен.
    pre_checkout_query - система готова принять платеж.
    succeeded - платеж успешно завершен.
    canceled - платеж отменен.
Пример оповещения для статуса pending. Платеж на 900 руб.
1
{
2
"id": 1,
3
"provider": "telegram",
4
"provider_id": null,
5
"currency": "RUB",
6
"amount": 90000,
7
"state": "pending",
8
"created_at": 1554717025,
9
"payload": null,
10
"order": [
11
{
12
"name": "Название товара",
13
"description": "Описание товара",
14
"amount": 900
15
}
16
],
17
"contact": {
18
"id": 1,
19
"name": "Дмитрий Иванов",
20
"messenger": "telegram",
21
"phone": "79999999999",
22
"telegram_id": "1234567",
23
"telegram_username": "superman"
24
}
25
}
Copied!
Поле amount содержит сумму в минимальной единице измерения валюты.
Пример оповещения для статуса pre_checkout_query
1
{
2
"id": 1,
3
"provider": "telegram",
4
"provider_id": null,
5
"currency": "RUB",
6
"amount": 90000,
7
"state": "pre_checkout_query",
8
"created_at": 1554717052,
9
"payload": {
10
"id": "12345678901234567",
11
"from": {
12
"id": 1234567,
13
"is_bot": false,
14
"first_name": "Дмитрий",
15
"last_name": "Иванов",
16
"username": "superman",
17
"language_code": "ru"
18
},
19
"currency": "RUB",
20
"total_amount": 90000,
21
"invoice_payload": "ba9ff39b297685db6102df93f97c8f66"
22
},
23
"order": [
24
{
25
"name": "Название товара",
26
"description": "Описание товара",
27
"amount": 900
28
}
29
],
30
"contact": {
31
"id": 1,
32
"name": "Дмитрий Иванов",
33
"messenger": "telegram",
34
"phone": "79999999999",
35
"telegram_id": "1234567",
36
"telegram_username": "superman"
37
}
38
}
Copied!
Обратите внимание на то, что Телеграм принимает платежи в диапазоне 1-10000$ USD.
Last modified 2yr ago