Работа с заказами на оплату из внешних систем
Протокол позволяет создавать заказы, отслеживать их статусы и получать информацию о платежах.
Созданный заказ может быть оплачен следующими способами:
1) На терминале Wizarpos, Kozen с установленным приложением Justpay POS
2) На платежной странице по ссылке сгенерированный в ЛК Justpay.

Заказы могут быть сформированы в простом виде для оплаты товаров и услуг, а также в расширенном с указанием данных плательщика и получателя платежа.

1. Общее описание
Протокол предназначен для:
  • Создания заказов на оплату.
  • Обработки платежей через терминалы, приложения или сайты.
  • Мониторинга статусов заказов и платежей.
Основные возможности:
  • Фискализация платежей на онлайн-кассе привязанной к точке.
  • Поддержка оплаты банковскими картами и СБП.
  • Интеграция с внешними CRM-системами и кассовыми программами для оплаты по кассовым ссылкам.
Общий принцип функционирования на терминале:
  1. Внешняя система выполняет запрос на создание заказа на сервере JustPay.
  2. POS-терминал опрашивает сервер на предмет наличия заказа.
  3. После получения заказа POS-терминал выполняет проведение платежа.
  4. Внешняя система ожидает циклически формирует запрос о статусе заказа и ожидает финального статуса (оплачен\отмена).
  5. При необходимости, внешняя информационная система запрашивает список платежей или информацию по платежу.
Требования к интеграции
  1. Аккаунт в Justpay.pro.
  2. API-токен точки обслуживания (получается в личном кабинете).
  3. Поддержка HTTPS
Аутентификация
Все запросы к API требуют токена доступа в заголовке:
Authorization: Bearer {ваш_токен}
Content-Type: application/json
Токен для запросов формируется на странице “Токен доступа” в настройка конкретной точки.
Пример тестового токена:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxYTVmNWU2OTEzMTljMTYzOGVhNTg4NiIsInNlcmlhbCI6IjExMTIyMjMzMyIsImVxdWlwbWVudCI6IjYxYTVmNjVlOTEzMTljMTYzOGVhNTg4YiIsIm5iZiI6MTYzODI2NjUwMywiZXhwIjoxNjY5ODAyNTAzLCJpc3MiOiJNeUF1dGhTZXJ2ZXIiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjUxODg0LyJ9.PkPWgl2e86rFoHMTmv3m_0hCCvhr4bj7J5ffZPf6xWE
Методы API

Создание заказа
Эндпоинт: POST https://lk.justpay.pro/api/order/create
Пример запроса:
{
  "date": "2021-12-17T12:00:00+03:00",
  "cashier": {
    "name": "test cashier",
    "inn": "024242424"
  },
  "external_id": "X00001",
  "need_fiscal": true,
  "need_print": false,
  "vending_number": "00001",
  "payment_sum": 150.0,
  "items": [
    {
      "type": 0,
      "price": 75,
      "amount": 150.0,
      "count": 2,
      "name": "Сок",
      "article": "00001",
      "agent": {
        "phonesListOperatorTransaction": ["9209999999"],
        "phonesListOperatorReceivePayments": ["74959670220"],
        "phonesListPaymentAgent": ["9208783210"],
        "phonesListProvider": ["88005500500"],
        "nameOperatorTransaction": "ООО КБ ПЛАТИНА",
        "innOperatorTransaction": "7705012216",
        "addressOperatorTransaction": "г.Москва, ЦМТ-2, Краснопресненская набережная, д.",
        "operationPaymentAgent": "перевод денежных средств",
        "innSupplier": "",
        "supplierName": "ПАО МТС",
        "type": "AGENT"
      }
    }
  ],
  "payer": {
    "fio": "fdfdf",
    "address": "111",
    "doc_type": "2323",
    "doc_series": "111",
    "doc_number": "111",
    "phone": "1111",
    "email": "1111"
  },
  "operation_type": 1,
  "payment_method": 1
}

Body JSON (POST https://lk.justpay.pro/api/order/create)

Переменная

Название

Формат данных

Примечание

date

Дата создания заказа

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

Cashier

Кассир\оператор

List <Cashier>

Обязательно

external_id

Идентификатор заказа во внешней системе

string

Обязательно

need_fiscal

Необходимо ли фискализировать

bool

Обязательно

need_print

Необходимо ли печать чек на фискальном регистратора

bool

Необязательно

true или отсутствие параметра - печатать чек

false- не печатать

vending_number

Номер автомата

string

Необязательно

payment_sum

Сумма заказа

decimal

Обязательно (сумма должна быть равна стоимости товаров в блоке Items)

items

Состав заказа

List<Item>

Обязательно

payer

Информация о плательщике

Payer

Обязательно

operation_type

Тип операции, 0 - сверка, 1 - оплата, 2 - возвра

int

Обязательно

payment_method

Тип оплаты, 0 - не указано, будет предложено выбрать, 1 - банковская карта,2 - СБП

int

 

Cashier

name

Имя кассира

string

Обязательно

inn

ИНН кассира

string

Обязательно

Item

Переменная

Название

Формат данных

Примечание

type

Тип записи

bool

0- товар

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

price

Цена за единицу товара

decimal (18:2)

 

amount

Цена позиции заказа

decimal (18:2)

 

count

Количество товара

int

Обязательно

name

Название

string

Обязательно, если не заполнен product_id

tax_type

Ставка налога

 

 

article

Артикул товара в бухгалтерской учетной системе

string

Обязательно, если не заполнен product_id

agent

Данные агента

List<Agent>

Обязательно

attributes

Дополнительные атрибуты записи

 

Необязательно

Agent

type

Тип агента

AgentType

Необязательно

operationPaymentAgent

Наименование операции платежного агента

string

Необязательно

phonesListOperatorTransaction

Телефон оператора 

List<string>

Необязательно

phonesListOperatorReceivePayments

Телефон оператора для возврата 

List<string>

Необязательно

phonesListPaymentAgent

Телефон платежного агента

List<string>

Необязательно

phonesListProvider

Телефон провайдера

List<string>

Необязательно

nameOperatorTransaction

Наименование оператора

string

Необязательно

innOperatorTransaction

ИНН Оператора

string

Необязательно

addressOperatorTransaction

Адрес оператора

string

Необязательно

innSupplier

ИНН Поставщика

string

Необязательно

supplierName

Наименование поставщика

string

Необязательно

AgentType

ATTORNEY_AGENT

Поверенный

BANK_PAYING_AGENT

Банковский платежный агент

BANK_PAYING_SUBAGENT

Банковский платежный субагент

COMMISSION_AGENT

Комиссионер

PAYING_AGENT

Платежный агент

PAYING_SUBAGENT

Платежный субагент

AGENT

Агент

Аttribute - параметры атрибутов определяются в рамках сервиса приема платежей

recipient_name

Наименование получателя

string

Необязательно

recipient_inn

ИНН Получателя

string

Необязательно

recipient_kpp

КПП Получателя

string

Необязательно

bank_name

Наименование банка получателя

string

Необязательно

bank_bic

БИК Банка получателя

string

Необязательно

bank_ks

Корреспондентский счет банка получателя

string

Необязательно

recipient_rs

Расчетный счет получателя

string

Необязательно

oktmo

ОКТМО

string

Необязательно

kbk

КБК

string

Необязательно

dest

Назначение платежа

string

Необязательно

uin

Уникальный идентификатор начисления(УИН)

string

Необязательно

Payer

payer_fio

ФИО плательщика

string

Необязательно

payer_address

Адрес плательщика

string

Необязательно

doc_type

Тип документа плательщика

Справочник типов ГИС ГМП

Необязательно

payer_doc_series

Серия документа

string

Необязательно

payer_doc_number

Номер документа

string

Необязательно

payer_phone

Номер телефона

string

Необязательно

payer_email

Адрес электронной почты для отправки квитанции

string

Необязательно

Описание полей:
  • external_id – уникальный ID заказа из вашей системы.
  • items – список товаров/услуг (обязательно: name, price, count).
  • operation_type – тип операции:
  • 0 – сверка,
  • 1 – оплата,
  • 2 – возврат.
  • payment_method – способ оплаты:
  • 1 – банковская карта,
  • 2 – СБП.
Пример ответа:
{
  "error": false,
  "data": {
    "ID": "61c0201c0906f561b41c8584",
    "external_id": "CRM12345",
    "number": "00001",
    "state": "Новый",
    "sum": 2500.0
  }
}

Body JSON

Переменная

Название

Формат данных

Примечание

ID

Идентификатор, присвоенный в системе JustPay

string (GUID)

Обязательно

created

Дата создания заказа

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

updated

Дата обновления заказа

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

date_state

Дата статуса

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

external_id

Идентификатор заказа во внешней системе

string

Обязательно

number

Номер заказа в системе JustPay

string

Обязательно

state

Статус 

 

 

sum

Сумма заказа

decimal

Обязательно (сумма должна быть равна стоимости товаров в блоке Items)

Получение списка заказов

Эндпоинт: POST /api/order/list
Параметры запроса:
{
  "id": "61c0201c0906f561b41c8584" // Или фильтр по дате:
  // "date": { "from": "2023-10-01", "to": "2023-10-10" }
}

POST /api/order/list

Переменная

Название

Формат данных

Примечание

id

Идентификатор заказа

string (GUID)

Используется для получения информации по конкретному заказу

date

Период получения списка заказов

List<date>

Необязательно. при отсутствии блока date, автоматически применяется фильтр по статусу “Новый”

Date

Переменная

Название

Формат данных

Примечание

from

Дата начала интервала

yyyy-MM-dd

Обязательно

to

Дата окончания интервала

yyyy-MM-dd

Обязательно

Пример ответа:
{
  "error": false,
  "data": [
    {
      "ID": "61c0201c0906f561b41c8584",
      "external_id": "CRM12345",
      "state": "Оплачен",
      "sum": 2500.0
    }
  ]
}
data - массив заказов, каждый заказ представляет собой следующую структуру

Body JSON

Переменная

Название

Формат данных

Примечание

ID

Идентификатор заказа, присвоенный в системе JustPay

string (GUID)

Обязательно

date

Дата создания заказа

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

date_state

Дата статуса

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

external_id

Идентификатор заказа во внешней системе

string

Обязательно

number

Номер заказа в системе JustPay

string

Обязательно

state

Текущий статус заказа

List <State>

Обязательно

items

Состав заказа

List<Item>

Обязательно

payer

Информация о плательщике

List<Payer>

Обязательно

payments

Информация о платежах по заказу

List<Payments>

Обязательно

Item

Переменная

Название

Формат данных

Примечание

type

Тип записи

bool

0- товар

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

product_id

Идентификатор продукта 

string

Необязательно если передается информация о продукте

name

Название товара

string

Обязательно, если не заполнен product_id

count

Количество 

int

Обязательно

name

Название

string

Обязательно, если не заполнен product_id

tax_type

Ставка налога

 

 

article_number

Артикул товара в бухгалтерской учетной системе

string

Обязательно, если не заполнен product_id

agent

Данные агента

List<Agent>

Обязательно

attributes

Дополнительные атрибуты записи

 

Необязательно

Agent

type

Тип агента

AgentType

Необязательно

operationPaymentAgent

Наименование операции платежного агента

string

Необязательно

phonesListOperatorTransaction

Телефон оператора 

List<string>

Необязательно

phonesListOperatorReceivePayments

Телефон оператора для возврата 

List<string>

Необязательно

phonesListPaymentAgent

Телефон платежного агента

List<string>

Необязательно

phonesListProvider

Телефон провайдера

List<string>

Необязательно

nameOperatorTransaction

Наименование оператора

string

Необязательно

innOperatorTransaction

ИНН Оператора

string

Необязательно

addressOperatorTransaction

Адрес оператора

string

Необязательно

innSupplier

ИНН Поставщика

string

Необязательно

supplierName

Наименование поставщика

string

Необязательно

AgentType

ATTORNEY_AGENT

Поверенный

BANK_PAYING_AGENT

Банковский платежный агент

BANK_PAYING_SUBAGENT

Банковский платежный субагент

COMMISSION_AGENT

Комиссионер

PAYING_AGENT

Платежный агент

PAYING_SUBAGENT

Платежный субагент

AGENT

Агент

Аttribute - параметры атрибутов определяются в рамках сервиса приема платежей

recipient_name

Наименование получателя

string

Необязательно

recipient_inn

ИНН Получателя

string

Необязательно

recipient_kpp

КПП Получателя

string

Необязательно

bank_name

Наименование банка получателя

string

Необязательно

bank_bic

БИК Банка получателя

string

Необязательно

bank_ks

Корреспондентский счет банка получателя

string

Необязательно

recipient_rs

Расчетный счет получателя

string

Необязательно

oktmo

ОКТМО

string

Необязательно

kbk

КБК

string

Необязательно

dest

Назначение платежа

string

Необязательно

uin

Уникальный идентификатор начисления(УИН)

string

Необязательно

Payer

payer_fio

ФИО плательщика

string

Необязательно

payer_address

Адрес плательщика

string

Необязательно

doc_type

Тип документа плательщика

Справочник типов

Необязательно

payer_doc_series

Серия документа

string

Необязательно

payer_doc_number

Номер документа

string

Необязательно

payer_phone

Номер телефона

string

Необязательно

payer_emai

Адрес электронной почты для отправки квитанции

string

Обязательно

Payments

Переменная

Название

Формат данных

Примечание

ID

Идентификатор платежа

string

 

date

Дата создания заказа

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

date_state

Дата статуса

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

sum

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

 

 

state

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

 

 

comment

Комментарий к статус

 

 

Получение списка платежей

Эндпоинт: POST /api/payment/list

Пример запроса:
{
  "id": "61c0201c0906f561b41c8584",
  "date": { "from": "2023-10-01", "to": "2023-10-10" }
}

 

Переменная

Название

Формат данных

Примечание

id

Идентификатор платежа (полученный в списке платежей по заказу)

string (GUID)

Используется для получения информации по конкретному платежу

date

Период получения списка заказов по времени точки обслуживания

List<date>

Необязательно. При задании периода выполняется фильтрация платежей по поиск по времени точки обслуживания

created

Период получения списка заказов по времени сервера

List<created>

Необязательно. При задании периода выполняется фильтрация платежей по поиск по времени сервера

Date

Переменная

Название

Формат данных

Примечание

from

Дата начала интервала

yyyy-MM-dd

Обязательно

to

Дата окончания интервала

yyyy-MM-dd

Обязательно

created

Переменная

Название

Формат данных

Примечание

from

Дата начала интервала

yyyy-MM-dd

Обязательно

to

Дата окончания интервала

yyyy-MM-dd

Обязательно

Пример ответа:
{
  "error": false,
  "data": [
    {
      "ID": "pay_123456",
      "sum": 2500.0,
      "state": "Успешно",
      "date": "2023-10-10T12:00:00+03:00"
    }
  ]
}

Body JSON

 

Переменная

Название

Формат данных

Примечание

ID

Идентификатор платежа, присвоенный в системе JustPay

string (GUID)

Обязательно

created

Серверная дата платежа

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

updated

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

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

date

Дата создания платежа точки обслуживания

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

date_state

Дата статуса

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Обязательно

number

Номер платежа

string

Обязательно

point

Данные точки

List<point>

Обязательно

client

Уникальный идентификатор клиента

string (GUID)

Обязательно

state

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

Идентификатор статуса согласно справочнику

Обязательно

state_comment

Комментарий к статусу

string 

Обязательно

sum

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

Decimal (18.2)

Обязательно

fiscal

Идентификатор фискальной операции

string (GUID)

Обязательно

need_fiscal

Признак наличия фискализации по платежу

True\False

Обязательно

Payer

Данные плательщика

List<point>

Обязательно

fiscal_data

Фискальные данные по платежу

List<fiscal_data>

Обязательно

Meansofpayment

Параметры средств платежа

List<Meansofpayment>

Обязательно

cheque_text

Содержание кассового чека в формате HTML

 

 

url

Ссылка на кассовый чек в рамках сервиса Justpay

 

 

qr

QR-код фискальной операции

 

 

Point

id

Идентификатор точки обслуживания

string (GUID)

Обязательно

place

Идентификатор места обслуживания

string (GUID)

Обязательно

name

Название точки

string

Обязательно

Payer

payer_fio

ФИО плательщика

string

Необязательно

payer_address

Адрес плательщика

string

Необязательно

doc_type

Тип документа плательщика

Справочник типов

Необязательно

payer_doc_series

Серия документа

string

Необязательно

payer_doc_number

Номер документа

string

Необязательно

payer_phone

Номер телефона

string

Необязательно

payer_emai

Адрес электронной почты для отправки квитанции

string

Обязательно

Meansofpayment

type

Тип средства платежа

0- наличные

1- банковская карта

2- Система быстрых платежей

Обязательно

sum

Сумма денежных средств данного средства платежа

Decimal (18.2)

Обязательно

data_card

Данные операции по банковской карте 

List<data_card>

Необязательно

data_sbp

Дата транзакции по СБП

List<data_sbp>

Необязательно

data_card

tid

Идентификатор POS терминала

string

Необязательно

rrn

Уникальный номер операции

string

Необязательно

auth_code

Код авторизации

string

Необязательно

date

Дата транзакции

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Необязательно

time

Время транзакции

HH:mm:ss

Необязательно

card_number

Маскированный номер карты 

string

Необязательно

holdername

Имя держателя карты

string

Необязательно

hash

HASH карты 

string

Необязательно

data_sbp

bank

Наименования банка

string

Необязательно

prn

Уникальный номер операции

string

Необязательно

auth_code

Код авторизации

string

Необязательно

date

Дата транзакции

yyyy-MM-ddTHH:mm:ss+ZZ:ZZ

Необязательно

time

Время транзакции

HH:mm:ss

Необязательно

fiscal_data

owner

Данные владельца ККТ

List <owner>

Необязательно

cashier

Данные кассира

List <cashier>

Необязательно

ofd

Данные ОФД

List <ofd>

Необязательно

tax

Дополнительные данные

List <tax>

Необязательно

device

Параметры ККТ

List <device>

Необязательно

cheque

Параметры чека

List <cheque>

 

owner

name

Наименование пользователя ККТ

string

Обязательно

inn

ИНН пользователя ККТ

string

Обязательно

address

Адрес места расчетов

string

Обязательно

place

Наименование места расчетов

string

Обязательно


cashier

name

Наименования кассира

string

Обязательно

inn

ИНН Кассира

string

Необязательно



ofd

name

Наименование ОФД

string

Обязательно

inn

ИНН ОФД

string

Обязательно

server

Адрес сервера

string

Обязательно

port

Порт подключения

string

Обязательно

email

Адрес для отправки чеков

string

Обязательно