Invoice Client API (2.0.9)

Download OpenAPI specification:Download

+7 (495) 266-69-19 (9): dev@invoice.su

API в качестве основного протокола использует HTTP, подходит для разработки на любом языке программирования, который умеет работать с HTTP-библиотеками (например, cURL). API построено на REST-принципах, работает с реальными объектами и обладает предсказуемым поведением.

Коды ошибок:
0 - Неверный Логин/API ключ
1 - Неверная валюта
2 - Неверная сумма
3 - Неверный айди терминала
4 - Неверный метод оплаты
5 - Неверный адрес успешной оплаты
6 - Неверный адрес ошибочной оплаты
7 - Заказ не найден (оплата не найдена)
8 - Выплата не найдена
9 - Платеж уже оплачен
10 - Платеж уже финализирован с ошибкой
11 - Платеж нельзя отменить, по нему начата оплата | Неверный alias терминала
13 - Неверный alias точки продаж
14 - Неверный ID точки продаж
100 - Ошибка соединения с базой данных

Данные для тестирования:
https://lk.invoice.su/
Логин: demo
Пароль: доступ по запросу
API ключ: 1526fec01b5d11f4df4f2160627ce351
Merchant ID: c24360cfac0a0c40c518405f6bc68cb0

Кассовое API

Уведомление по платежу Webhook

Request Body schema: application/json
notification_type
string

тип уведомления

id
string

ID платежа

object (Order)
status
string (status)
Enum: "init" "process" "successful" "error" "expired" "closed"

Статус платежа

status_description
string (Описание статуса)

Описание статуса/сообщение об ошибке

object (PaymentMethod)
create_date
string <date-time>

Дата создания операции

update_date
string <date-time>

Дата обновления операции

expire_date
string <date-time>

Дата истечения операции

custom_parameters
object or null (CustomParameters)

Можно передать абсолютно любые параметры, например userid.

signature
string

Подпись запроса

md5(id + status + api_key)

Responses

Request samples

Content type
application/json
{
  • "notification_type": "pay",
  • "id": "string",
  • "order": {
    },
  • "status": "init",
  • "status_description": "init",
  • "payment_method": {
    },
  • "create_date": "2021-12-07 20:11:16.466713+03",
  • "update_date": "2021-12-07 20:11:16.466713+03",
  • "expire_date": "2021-12-08 20:11:16.466713+03",
  • "custom_parameters": { },
  • "signature": "string"
}

Создание терминала

Терминал - QR код, cоздать и посмотреть можно в Личном кабинете Терминалы бывают 2х типов:
statical – Статический терминал. QR-код печатается 1 раз и клеится на кассу
dynamical – Динамический терминал. QR-коды генерируется для каждой оплаты и может быть напечатан на пречеке либо передан иным способом.

Authorizations:
API_KEY
Request Body schema: application/json
name
required
string <= 50 characters

Название терминала, отображаемое на платежной странице

alias
string <= 64 characters

Уникальный идентификатор терминала в системе Продавца

description
string <= 256 characters

Описание терминала, отображаемое на платежной странице

type
string
Default: "dynamical"
Enum: "statical" "dynamical"
defaultPrice
number <double> >= 0

Сумма по-умолчанию

pointId
string

ID точки продаж

Responses

Request samples

Content type
application/json
{
  • "name": "Магазин на диване",
  • "alias": "417f12d4-23d3-4b4c-8420-5463d76a1fe2",
  • "description": "Ювелирные украшения и пылесосы",
  • "type": "statical",
  • "defaultPrice": 10
}

Response samples

Content type
application/json
{
  • "id": "6407da4a930953f116aa6481d03cd25b",
  • "name": "Магазин на диване",
  • "description": "Ювелирные украшения и пылесосы, филиал №7",
  • "type": "statical",
  • "defaultPrice": 15
}

Создание точки продаж

Точки продаж бывают 2х типов:
online – интернет-магазин
offline – наземная точка продаж

Authorizations:
API_KEY
Request Body schema: application/json
name
required
string [ 1 .. 128 ] characters

Название точки продаж

address
string <= 512 characters
Default: "{Адрес юр. лица}"

Адрес точки продаж (для онлайн-магазинов юр. адрес)

alias
string [ 1 .. 128 ] characters

Уникальный идентификатор точки продаж в системе Продавца

mail
string <email> [ 1 .. 128 ] characters

Email точки продаж

phone
string non-empty

Контактный телефон точки продаж

type
string non-empty
Default: "offline"
Enum: "offline" "online"

Наземная точка продаж или онлайн-магазин

website
string <uri> [ 1 .. 200 ] characters

Адрес онлайн-магазина (для online точек продаж)

Responses

Request samples

Content type
application/json
{
  • "name": "Кофейня у Артема",
  • "address": "г. Москва, ул. Большая Татарская, дом 11",
  • "alias": "4aeaf805-b0a4-46e8-928f-8432d1568b3a1",
  • "mail": "demo@example.com",
  • "phone": "+79991234567",
  • "type": "online",
  • "website": "https://example.com"
}

Response samples

Content type
application/json
{
  • "id": "e9ba149843bc08b82850be35e92704e4",
  • "name": "Кофейня у Артема",
  • "address": "г. Москва, ул. Большая Татарская, дом 11",
  • "phone": "+79991234567",
  • "mail": "demo@example.com",
  • "alias": "6cb1c62e-f92a-4e2e-b802-ea884651679b",
  • "website": "https://example.com",
  • "type": "online"
}

Получение информации о терминале

Терминал - QR код, cоздать и посмотреть можно в Личном кабинете Терминалы бывают 2х типов:
statical – Статический терминал. QR-код печатается 1 раз и клеится на кассу
dynamical – Динамический терминал. QR-коды генерируется для каждой оплаты и может быть напечатан на пречеке либо передан иным способом.

Authorizations:
API_KEY
Request Body schema: application/json
id
string

ID терминала (обязательно, при отсутствии alias)

alias
string

Уникальный идентификатор терминала в системе Продавца (обязательно, при отсутствии id)

Responses

Request samples

Content type
application/json
{
  • "id": "6407da4a930953f116aa6481d03cd25b"
}

Response samples

Content type
application/json
{
  • "id": "6407da4a930953f116aa6481d03cd25b",
  • "name": "Магазин на диване",
  • "description": "Ювелирные украшения и пылесосы, филиал №7",
  • "type": "statical",
  • "defaultPrice": 15
}

Получение информации о точке продаж

Точки продаж бывают 2х типов:
online – интернет-магазин
offline – наземная точка продаж

Authorizations:
API_KEY
Request Body schema: application/json
id
string

ID точки продаж (обязательно, при отсутствии alias)

alias
string

Уникальный идентификатор точки продаж в системе Продавца (обязательно, при отсутствии id)

Responses

Request samples

Content type
application/json
{
  • "id": "6407da4a930953f116aa6481d03cd25b",
  • "alias": "string"
}

Response samples

Content type
application/json
{
  • "id": "e9ba149843bc08b82850be35e92704e4",
  • "name": "Кофейня у Артема",
  • "address": "г. Москва, ул. Большая Татарская, дом 11",
  • "phone": "+79991234567",
  • "mail": "demo@example.com",
  • "alias": "6cb1c62e-f92a-4e2e-b802-ea884651679b",
  • "website": "https://example.com",
  • "type": "online"
}

Создание платежа

Authorizations:
API_KEY
Request Body schema: application/json
required
object (Order)
required
object (Settings)
custom_parameters
object or null (CustomParameters)

Можно передать абсолютно любые параметры, например userid.

Array of objects (Receipt)
phone
string <= 10 characters

Номер телефона для доставки чека
Используется только при подключенной фискализации
Может быть изменен плательщиком в момент оплаты
Передается без +7

mail
string

E-mail для доставки чека
Используется только при подключенной фискализации
Может быть изменен плательщиком в момент оплаты
При одновременной передаче с полем phone имеет больший приоритет

trtype
string

1 - платеж
4 - платеж с регистрацией рекуррента (доступны только для определенных шлюзов)

Responses

Request samples

Content type
application/json
{
  • "order": {
    },
  • "settings": {},
  • "custom_parameters": { },
  • "receipt": [
    ],
  • "phone": "9991234567",
  • "mail": "string",
  • "trtype": "1"
}

Response samples

Content type
application/json
Example
{
  • "id": "16389017282485",
  • "order": {
    },
  • "status": "init",
  • "status_description": "init",
  • "payment_method": {
    },
  • "custom_parameters": null,
  • "create_date": "2021-12-07 21:28:48.194093+03",
  • "update_date": "2021-12-07 21:28:48.194093+03",
  • "expire_date": "2021-12-08 21:28:48.194093+03",
}

Запрос статуса

Authorizations:
API_KEY
Request Body schema: application/json
id
required
string

ID платежа

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
Example
{
  • "id": "16389017282485",
  • "order": {
    },
  • "status": "init",
  • "status_description": "init",
  • "payment_method": {
    },
  • "custom_parameters": null,
  • "create_date": "2021-12-07 21:28:48.194093+03",
  • "update_date": "2021-12-07 21:28:48.194093+03",
  • "expire_date": "2021-12-08 21:28:48.194093+03",
}

Запрос статуса по ID клиента

Authorizations:
API_KEY
Request Body schema: application/json
id
required
string

ID заказа в системе Продавца

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
Example
{
  • "id": "16389017282485",
  • "order": {
    },
  • "status": "init",
  • "status_description": "init",
  • "payment_method": {
    },
  • "custom_parameters": null,
  • "create_date": "2021-12-07 21:28:48.194093+03",
  • "update_date": "2021-12-07 21:28:48.194093+03",
  • "expire_date": "2021-12-08 21:28:48.194093+03",
}

Отмена платежа

В случае успешной Отмены платежа вернется ответ со статусом closed

Authorizations:
API_KEY
Request Body schema: application/json
id
required
string

ID платежа

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
Example
{
  • "id": "16389017282485",
  • "order": {
    },
  • "status": "init",
  • "status_description": "init",
  • "payment_method": {
    },
  • "custom_parameters": null,
  • "create_date": "2021-12-07 21:28:48.194093+03",
  • "update_date": "2021-12-07 21:28:48.194093+03",
  • "expire_date": "2021-12-08 21:28:48.194093+03",
}

Оформление возврата средств

Authorizations:
API_KEY
Request Body schema: application/json
id
required
string

ID платежа или ID заказа

object (Refund)
Array of objects (Receipt)

Responses

Request samples

Content type
application/json
{
  • "id": "16354413735121",
  • "refund": {
    },
  • "receipt": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "2163888358294",
  • "order": {
    },
  • "refund": {
    },
  • "payment_id": "1638883504812",
  • "payment_method": {
    },
  • "date_insert": "2021-12-07 16:26:22.420448+03",
  • "date_update": "2021-12-07 16:26:22.420448+03",
  • "status": "successful"
}

Просмотр информации о возврате средств

Authorizations:
API_KEY
Request Body schema: application/json
id
string

ID возврата

Responses

Request samples

Content type
application/json
{
  • "id": "2163888358294"
}

Response samples

Content type
application/json
{
  • "id": "2163888358294",
  • "order": {
    },
  • "refund": {
    },
  • "payment_id": "1638883504812",
  • "payment_method": {
    },
  • "date_insert": "2021-12-07 16:26:22.420448+03",
  • "date_update": "2021-12-07 16:26:22.420448+03",
  • "status": "successful"
}

Проведение рекуррентного платежа

Рекуррентные платежи доступны только для определенных шлюзов

Authorizations:
API_KEY
Request Body schema: application/json
object (Order)
object
custom_parameters
object or null (CustomParameters)

Можно передать абсолютно любые параметры, например userid.

Array of objects (Receipt)
trtype
integer

4 - рекуррентный платеж

Responses

Request samples

Content type
application/json
{
  • "order": {
    },
  • "settings": {
    },
  • "custom_parameters": { },
  • "receipt": [
    ],
  • "trtype": 4
}

Response samples

Content type
application/json
Example
{
  • "id": "16389017282485",
  • "order": {
    },
  • "status": "init",
  • "status_description": "init",
  • "payment_method": {
    },
  • "custom_parameters": null,
  • "create_date": "2021-12-07 21:28:48.194093+03",
  • "update_date": "2021-12-07 21:28:48.194093+03",
  • "expire_date": "2021-12-08 21:28:48.194093+03",
}