Skip to Content
FAQПодписки

FAQ — подписки

Как проверить подпись до первого запроса?

Прогоните тест-векторы (subs_sigtest.json) локально: у подписок один проход HMAC — ключ SecretKey, сообщение SubscriptionProjectID + Now. Негативные векторы — обратный порядок конкатенации и MD5-формула старых редакций спеки — обязаны не совпасть. Формула целиком — в разделе Подпись запросов.

Чем подписка отличается от контракта в разовых платежах?

Тем, кто инициирует списание. В подписках график ведёт платформа по расписанию проекта; контракт в разовых платежах только привязывает реквизиты, а каждое списание мерчант запускает сам отдельным CreateInvoice. Подробнее — в разделе Обзор протокола.

Как сделать подписку с оплатой картой или через СБП?

Передайте в CreateSubscription поля CustomerType=Card и CustomerId — в ответе придёт AuthorizeUrl, адрес страницы оплаты; для QR-кода СБП допишите к нему ?useSbpQr=True. Шаг ApproveSubscription в этом сценарии не нужен: подписка активируется по факту оплаты. См. Методы.

Когда придёт коллбек?

При фактической смене статуса: APPROVED после подтверждения PIN-кодом или оплаты, REJECTED при отказе карты, CANCELLED после отмены. Задержка первой отправки — 15 секунд. См. Коллбек.

Пришло повторное уведомление — что делать?

Отвечать 200 и дедуплицировать по заголовку X-Event-Id (он же RequestID): между попытками доставки одного события он не меняется. Ошибка в ответ на дубль заставит платформу повторять снова.

Какой PIN вводить в песочнице?

Фиксированный — 1234, SMS песочница не отправляет. Даётся три попытки, после третьей подписка навсегда переходит в ApprovingFailed. Полный список упрощений — в разделе Отличия Sandbox ↔ Production.

Как перейти из песочницы в Production?

Боевой адрес и креды выдаёт менеджер i-Free; формула подписи и набор методов те же. Что меняется — собрано в разделе Отличия Sandbox ↔ Production.