Цена для клиента
Тарифы у платформы одни на все каналы продаж. Цена для клиента — цена платформы плюс ваша наценка (markup_percent в GET /account). В GET /plans все три числа уже посчитаны:
Суммы — строки с двумя знаками после точки. Показывайте их клиенту как есть: пересчёт на своей стороне с плавающей точкой даёт копеечные расхождения со счётом.
Как проходит оплата
1
Счёт
Ваш сервер вызывает
POST /payments и получает payment_url.2
Оплата
Клиент оплачивает на странице сервиса оплаты. Если передан
return_url, после оплаты клиент вернётся на ваш адрес — если это поддерживает выбранный способ оплаты.3
Выдача
Платформа выдаёт доступ сама — ничего вызывать не нужно. Счёт становится
succeeded, в поле client появляется ссылка подписки.4
Наценка
partner_share ложится на ваш баланс партнёра. Баланс и вывод — в кабинете партнёра.Статусы счёта
expires_at — ориентир: статус меняется с задержкой до часа, поэтому pending может держаться дольше срока.
Продление
Продление — тот жеPOST /payments с purpose: subscription на тот же client_id. Срок прибавляется к текущему, ссылка подписки не меняется: клиенту ничего не нужно переподключать. Если подписка уже истекла, новый срок идёт с момента оплаты.
Дополнительные устройства
В подписку входитdevices.included устройств. Докупить ещё — POST /payments с purpose: devices и числом devices:
- Нужна действующая подписка — иначе
400 NO_ACTIVE_SUBSCRIPTION. - Больше
devices.maxна клиента не бывает — иначе400 DEVICE_SLOT_LIMIT_EXCEEDED. - На тарифе без ограничения устройств счёт не выставится —
400 DEVICE_SLOTS_NOT_APPLICABLE. devices: nullвGET /plans— доп. устройства сейчас не продаются (409 DEVICES_NOT_FOR_SALE).
Способы оплаты
Список —GET /payment-methods: код method для счёта и название для клиента. Список меняется, поэтому перечитывайте его перед показом, а не храните у себя. Способ, который стал недоступен, отвечает 400 UNSUPPORTED_PAYMENT_METHOD.
