Подключение подписки¶
Как дать пользователю доступ к подписке MEGOGO после того, как он купил ее у вас.
Перед началом¶
Убедитесь, что:
- У вас есть ID партнера, ключи и ID услуг ваших подписок. См. Учетные данные.
- MEGOGO добавил IP-адреса ваших серверов в список вашего ID партнера.
- Ваш код правильно вычисляет подпись. См. Подпись запроса.
- Вы знаете режим продления каждой услуги. См. Жизненный цикл подписки.
Схема¶
sequenceDiagram
participant User as Пользователь
participant Server as Ваш сервер
participant API as MEGOGO Terminals API
User->>Server: Покупает подписку
Server->>Server: Проверяет формат номера
Server->>API: subscription/subscribe (phone, serviceId)
API-->>Server: "successful": true
Server->>Server: Списывает оплату
Server-->>User: Сообщение: как войти в MEGOGO
Шаг 1. Проверьте номер телефона¶
Номер должен состоять только из цифр в международном формате: код страны
и номер, например 380000000001. В начале допускается +.
ОСТОРОЖНО
MEGOGO не проверяет длину номера. Для ошибочного номера будет создан пользователь MEGOGO. Проверяйте номер на своей стороне.
При желании: чтобы узнать, есть ли у пользователя учетная запись MEGOGO,
отправьте user/phone:
GET https://billing.megogo.net/terminals/{partner_id}/user/phone?phone={phone}&sign={sign}
{"successful": true} означает, что учетная запись есть. Подписка будет
добавлена в нее, рядом с другими услугами пользователя.
Шаг 2. Подключите подписку¶
GET https://billing.megogo.net/terminals/{partner_id}/subscription/subscribe?phone={phone}&serviceId={service_id}&sign={sign}
| Параметр | Описание |
|---|---|
partner_id |
Ваш ID партнера |
phone |
Номер телефона пользователя |
serviceId |
ID услуги подписки |
sign |
Подпись. См. Подпись запроса |
Ожидаемый ответ:
{"successful": true}
Если пользователя с таким номером в MEGOGO нет, запрос его создаст.
Шаг 3. Спишите оплату¶
Списывайте оплату с пользователя только после "successful": true. При
любом другом ответе не списывайте. См. Ошибки.
Шаг 4. Сообщите пользователю, как войти¶
MEGOGO не отправляет пользователю сообщений. Отправьте сообщение сами, например SMS. Пример текста:
Пример сообщения
MEGOGO «Легкая» подключена. Чтобы смотреть, установите приложение MEGOGO или откройте megogo.net. Выберите вход по номеру телефона, введите этот номер и код из SMS или Viber.
Шаг 5. Проверьте подписку¶
GET https://billing.megogo.net/terminals/{partner_id}/subscriptions?phone={phone}&sign={sign}
Ожидаемый ответ (сокращенно):
[
{
"serviceId": "example_light_30d",
"serviceName": "Light (partner)",
"dateFinish": 1796221882,
"dateFinishString": "2026-12-02 14:31:22"
}
]
dateFinish— конец текущего периода, Unix-время (секунды).dateFinishString— тот же момент в UTC.- Не вычисляйте дату окончания сами, берите ее из этого ответа.
Ошибки¶
| Ответ | Причина | Что делать |
|---|---|---|
"successful": false, код 2023 |
Подписка уже активна, а услуга с автоматическим продлением. Или дата окончания вышла бы дальше чем 15 лет от текущего момента | Ничего делать не нужно |
"message": "Service is not configured for this partner" |
ID услуги не настроен для вашего ID партнера | Проверьте, что используете ID услуги от менеджера MEGOGO |
"message": "General error" |
В номере телефона есть не только цифры | Повторите шаг 1 |
"successful": false, код 40009 |
Эта подписка не продается через партнеров | Обратитесь к своему менеджеру MEGOGO |
HTTP 401 Not Authorized |
Подпись, ключи или IP-адрес | См. Решение проблем |
| Таймаут, HTTP 5xx | Временная проблема | См. Повторные запросы |
Все ошибки — в Каталоге ошибок.
Что дальше¶
Версия руководства 1.1.0, 2026-11-02 · Сообщить о проблеме на этой странице