Skip to main content
POST
Выставить счёт

Authorizations

Authorization
string
header
required

Ключ партнёра vgo_live_…, его выдаёт платформа. Хранится только на сервере партнёра.

Headers

Idempotency-Key
string
required

Ключ повтора, обычно номер заказа в вашей системе, до 200 символов. Повтор с тем же ключом и теми же полями не выставит второй счёт. Нет ключа — 400 IDEMPOTENCY_KEY_REQUIRED, длиннее — 400 IDEMPOTENCY_KEY_TOO_LONG

Required string length: 1 - 200

Body

application/json

Тело POST /payments. Неизвестные поля отклоняются — 422 VALIDATION_ERROR.

client_id
string
required

Id клиента в вашей системе: 1–128 символов A–Z a–z 0–9 . _ : @ + -, не . и не .., регистр различается. Нового клиента счёт заводит сам

Required string length: 1 - 128
Pattern: ^[A-Za-z0-9._:@+-]*[A-Za-z0-9_:@+-][A-Za-z0-9._:@+-]*$
Example:

"user-42"

purpose
enum<string>
required

subscription — подписка или её продление, devices — доп. устройства

Available options:
subscription,
devices
method
string
required

Способ оплаты из GET /payment-methods

Required string length: 1 - 32
Example:

"sbp"

plan_id
integer | null

Id тарифа из GET /plans — только при purpose: subscription

Required range: 1 <= x <= 2147483647
Example:

3

devices
integer | null

Сколько устройств добавить, от 1 — только при purpose: devices

Required range: x >= 1
return_url
string | null

Куда вернуть клиента после оплаты: только https, до 500 символов. Поддерживается не каждым способом оплаты

Maximum string length: 500

Response

Повтор по тому же Idempotency-Key: счёт первого запроса, replayed: true

payment_id
string<uuid>
required

Id счёта

status
enum<string>
required

pending — ждёт оплаты; succeeded — оплачен, доступ выдан; expired — срок оплаты вышел, но статус не окончательный: поздняя оплата переводит счёт в succeeded; failed — оплата не прошла, бывает и после succeeded, если банк отозвал платёж

Available options:
pending,
succeeded,
failed,
expired
purpose
enum<string>
required

Что оплачивается

Available options:
subscription,
devices
client_id
string
required

Id клиента в вашей системе

Example:

"user-42"

plan_id
integer | null
required

Тариф — у purpose: subscription

devices
integer | null
required

Сколько устройств — у purpose: devices

method
string
required

Способ оплаты

Example:

"sbp"

amount
string
required

Сумма к оплате клиентом

Example:

"150.00"

platform_amount
string
required

Часть платформы

Example:

"100.00"

partner_share
string
required

Наценка партнёра: после оплаты ложится на его баланс

Example:

"50.00"

currency
string
required

Валюта

Example:

"RUB"

payment_url
string | null
required

Страница оплаты для клиента; есть только у pending

created_at
string<date-time>
required

Когда счёт выставлен, UTC

expires_at
string<date-time>
required

Ориентир срока оплаты, UTC: статус меняется с задержкой до часа, поздняя оплата проходит

paid_at
string<date-time> | null
required

Когда счёт оплачен, UTC

client
ApiClient · object | null
required

Клиент со ссылкой подписки; заполнен у succeeded

replayed
boolean
required

true — повтор по тому же Idempotency-Key: в ответе счёт, выставленный первым запросом