Datagio Finance API — Платёжные ссылки
Создание и чтение платёжных ссылок. Поддерживается два способа авторизации:
- JWT-токен (дашборд):
- API-ключи (сервер-сервер): заголовки
Поля и поведение обоих вариантов идентичны.
- JWT-токен (дашборд):
Authorization: Bearer <token> (роуты /api/v1/...)- API-ключи (сервер-сервер): заголовки
X-API-Key и X-API-Secret (роуты /merchant/v1/...)Поля и поведение обоих вариантов идентичны.
Base URL:
https://api.datagio.financeСоздать платёжную ссылку (JWT)
POST
/api/v1/payment-linksСоздаёт ссылку на оплату. Магазин должен быть в статусе
approved. Покупателю отдаётся checkout_url — страница оплаты (СБП / крипта).Тело запроса (Request Body)
shop_idstringrequired
Магазин (должен быть approved)
amountnumber | stringrequired
Цена товара в рублях (>0, не более 2 знаков после точки). Число или строка.
Пример:
1000order_idstring
Ваш внешний ID заказа (вернётся в вебхуке)
descriptionstring
Описание — видит покупатель
expires_in_minutesinteger
Срок жизни ссылки в минутах
Ответы (Responses)
201Ссылка создана
400Некорректный запрос (нет shop_id, amount ≤ 0 или дробнее копейки)
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
401Нет/неверная авторизация
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
403Ресурс принадлежит другому мерчанту
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
404Не найдено
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
422Магазин не прошёл модерацию
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
cURL
curl -X POST https://api.datagio.finance/api/v1/payment-links \
-H "Authorization: Bearer <your_jwt_token>" \
-H "Content-Type: application/json" \
-d '{
"shop_id": "b79ffcef-5f6e-4adf-aa5f-e885b4d282d9",
"amount": 1000,
"order_id": "ORDER-1",
"description": "Товар",
"expires_in_minutes": 60
}'Список платёжных ссылок (JWT)
GET
/api/v1/payment-linksДо 100 последних ссылок мерчанта, новые сверху.
Ответы (Responses)
200Список ссылок (до 100, новые сверху)
payment_linksarray
Элементы массива:
Платёжная ссылка. Все суммы — строки в рублях.
idstring
shop_idstring
merchant_idstring
order_idstring | null
Ваш внешний ID заказа
descriptionstring | null
currencystring
amountstring
Цена товара, ₽
Пример:
"1000.00"fee_percent_bpinteger
Комиссия в basis points (100 = 1%)
fee_payerstring
payer_amountstring
Сколько платит покупатель (с учётом комиссии), ₽
Пример:
"1000.00"merchant_creditstring
Сколько зачислится мерчанту, ₽
Пример:
"1000.00"platform_revenuestring
Комиссия платформы, ₽
Пример:
"1000.00"statusstring
gateway_providerstring | null
Провайдер после выбора способа (напр. paritypay)
gateway_payment_idstring | null
to_currencystring | null
Крипта (USDT/BTC/…) или RUB для СБП
networkstring | null
Сеть крипты или «СБП»
deposit_addressstring | null
Крипто-адрес или ссылка НСПК (СБП)
payer_currencystring | null
payer_crypto_amountstring | null
Сумма к отправке (строка)
qrstring | null
QR как data:image/png;base64,…
expires_atstring | null
paid_atstring | null
created_atstring
updated_atstring
401Нет/неверная авторизация
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
cURL
curl -X GET https://api.datagio.finance/api/v1/payment-links \
-H "Authorization: Bearer <your_jwt_token>" \Создать платёжную ссылку (API-ключ)
POST
/merchant/v1/payment-linksТо же, что
POST /api/v1/payment-links, но с авторизацией по API-ключу.Тело запроса (Request Body)
shop_idstringrequired
Магазин (должен быть approved)
amountnumber | stringrequired
Цена товара в рублях (>0, не более 2 знаков после точки). Число или строка.
Пример:
1000order_idstring
Ваш внешний ID заказа (вернётся в вебхуке)
descriptionstring
Описание — видит покупатель
expires_in_minutesinteger
Срок жизни ссылки в минутах
Ответы (Responses)
201Ссылка создана
400Некорректный запрос (нет shop_id, amount ≤ 0 или дробнее копейки)
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
401Нет/неверная авторизация
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
403Ресурс принадлежит другому мерчанту
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
404Не найдено
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
422Магазин не прошёл модерацию
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
cURL
curl -X POST https://api.datagio.finance/merchant/v1/payment-links \
-H "X-API-Key: pk_live_your_key" \
-H "X-API-Secret: sk_live_your_secret" \
-H "Content-Type: application/json" \
-d '{
"shop_id": "b79ffcef-5f6e-4adf-aa5f-e885b4d282d9",
"amount": 1000,
"order_id": "ORDER-1",
"description": "Товар",
"expires_in_minutes": 60
}'Список платёжных ссылок (API-ключ)
GET
/merchant/v1/payment-linksОтветы (Responses)
200Список ссылок (до 100, новые сверху)
payment_linksarray
Элементы массива:
Платёжная ссылка. Все суммы — строки в рублях.
idstring
shop_idstring
merchant_idstring
order_idstring | null
Ваш внешний ID заказа
descriptionstring | null
currencystring
amountstring
Цена товара, ₽
Пример:
"1000.00"fee_percent_bpinteger
Комиссия в basis points (100 = 1%)
fee_payerstring
payer_amountstring
Сколько платит покупатель (с учётом комиссии), ₽
Пример:
"1000.00"merchant_creditstring
Сколько зачислится мерчанту, ₽
Пример:
"1000.00"platform_revenuestring
Комиссия платформы, ₽
Пример:
"1000.00"statusstring
gateway_providerstring | null
Провайдер после выбора способа (напр. paritypay)
gateway_payment_idstring | null
to_currencystring | null
Крипта (USDT/BTC/…) или RUB для СБП
networkstring | null
Сеть крипты или «СБП»
deposit_addressstring | null
Крипто-адрес или ссылка НСПК (СБП)
payer_currencystring | null
payer_crypto_amountstring | null
Сумма к отправке (строка)
qrstring | null
QR как data:image/png;base64,…
expires_atstring | null
paid_atstring | null
created_atstring
updated_atstring
401Нет/неверная авторизация
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
cURL
curl -X GET https://api.datagio.finance/merchant/v1/payment-links \
-H "X-API-Key: pk_live_your_key" \
-H "X-API-Secret: sk_live_your_secret" \Одна платёжная ссылка по id (API-ключ)
GET
/merchant/v1/payment-links/{id}Параметры (Parameters)
idstringrequired
Ответы (Responses)
200Платёжная ссылка
Платёжная ссылка. Все суммы — строки в рублях.
idstring
shop_idstring
merchant_idstring
order_idstring | null
Ваш внешний ID заказа
descriptionstring | null
currencystring
amountstring
Цена товара, ₽
Пример:
"1000.00"fee_percent_bpinteger
Комиссия в basis points (100 = 1%)
fee_payerstring
payer_amountstring
Сколько платит покупатель (с учётом комиссии), ₽
Пример:
"1000.00"merchant_creditstring
Сколько зачислится мерчанту, ₽
Пример:
"1000.00"platform_revenuestring
Комиссия платформы, ₽
Пример:
"1000.00"statusstring
gateway_providerstring | null
Провайдер после выбора способа (напр. paritypay)
gateway_payment_idstring | null
to_currencystring | null
Крипта (USDT/BTC/…) или RUB для СБП
networkstring | null
Сеть крипты или «СБП»
deposit_addressstring | null
Крипто-адрес или ссылка НСПК (СБП)
payer_currencystring | null
payer_crypto_amountstring | null
Сумма к отправке (строка)
qrstring | null
QR как data:image/png;base64,…
expires_atstring | null
paid_atstring | null
created_atstring
updated_atstring
401Нет/неверная авторизация
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
403Ресурс принадлежит другому мерчанту
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
404Не найдено
errorstring
Машиночитаемый код
messagestring
Человекочитаемое описание
cURL
curl -X GET https://api.datagio.finance/merchant/v1/payment-links/{id} \
-H "X-API-Key: pk_live_your_key" \
-H "X-API-Secret: sk_live_your_secret" \Уведомление об успешной оплате
Webhook
payment.succeededОтправляется на
Заголовки:
Доставка: до 8 попыток с экспоненциальным бэкоффом (до 1 часа между попытками). Успех — любой ответ 2xx. Обрабатывайте идемпотентно по
webhook_url магазина, когда платёж по ссылке подтверждён и баланс мерчанта пополнен.Заголовки:
X-Webhook-Event: payment.succeeded; при заданном webhook_secret — X-Webhook-Signature = hex(HMAC-SHA256(тело запроса, webhook_secret)).Доставка: до 8 попыток с экспоненциальным бэкоффом (до 1 часа между попытками). Успех — любой ответ 2xx. Обрабатывайте идемпотентно по
payment_link_id.Содержимое (Payload)
Пример:
{"event":"payment.succeeded","data":{"payment_link_id":"9c0526fe-0e45-423d-91ca-368e98b8ea96","shop_id":"b79ffcef-5f6e-4adf-aa5f-e885b4d282d9","order_id":"ORDER-1","amount":"1000.00","merchant_credit":"1000.00","status":"paid","paid_at":"2026-07-15T20:08:54Z"}}eventstring
dataobject
payment_link_idstring
shop_idstring
order_idstring | null
Ваш внешний ID заказа
amountstring
Цена товара, ₽
Пример:
"1000.00"merchant_creditstring
Зачислено мерчанту, ₽
Пример:
"1000.00"statusstring
paid_atstring
Ожидаемый ответ (Response)
200Подтверждение приёма (любой 2xx). Иначе — повторная доставка.
Пример Payload
{
"event": "payment.succeeded",
"data": {
"payment_link_id": "9c0526fe-0e45-423d-91ca-368e98b8ea96",
"shop_id": "b79ffcef-5f6e-4adf-aa5f-e885b4d282d9",
"order_id": "ORDER-1",
"amount": "1000.00",
"merchant_credit": "1000.00",
"status": "paid",
"paid_at": "2026-07-15T20:08:54Z"
}
}