Create

https://{Environment}.payture.com/apicheque/Create

Запрос Create используется для создания чека без платежа.

Создание чека — асинхронный запрос, после которого чек оказывается в очереди на обработку. Помимо данных чека Продавец передает уникальный идентификатор документа, используя который впоследствии, он сможет запросить статус чека. Данный идентификатор должен быть уникальным в пределах организации. Для передачи чека необходимо сформировать структуру данных в виде JSON.

Запрос

Пример тела запроса (максимальный набор параметров)(ФФД 1.2) [JSON]:

{
  "Key":"Merchant",
  "Password":"123",
  "Message":"Чек Payture",
  "TemplateTag":"Default",
  "TemplateLang":"Default",
  "AdditionalMessages":[
    {
      "Key":"Name",
      "Value":"Value"
    }
  ],
  "Cheque":{
    "Id":"{{$timestamp}}",
    "INN":"7701870710",
    "Group":"main",
    "Content":{
      "Type":2,
      "Positions":[
        {
          "Quantity":1,
          "Price":11,
          "Tax":1,
          "Text":"Пирожок",
          "AdditionalAttribute":"Дополнительный реквизит предмета расчета",
          "AgentType":2,
          "CustomsDeclarationNumber":"1271",
          "Excise":1.00,
          "ManufacturerCountryCode":"643",
          "PaymentMethodType":7,
          "PaymentSubjectType":1,         "ItemCode":"010460406000600021N4N57RSCBUZTQ\u001d2403004002910161218\u001d1724010191ffd0\u001d92tIAF/YVoU4roQS3M/m4z78yFq0fc/WsSmLeX5QkF/YVWwy8IMYAeiQ91Xa2z/fFSJcOkb2N+uUUmfr4n0mOX0Q==",
          "SupplierINN":"7701870710",
          "SupplierInfo":{
            "Name":"Наименование поставщика",
            "PhoneNumbers":["+79990000009"]
          },
          "QuantityMeasurementUnit": 10
        }
      ],
      "CheckClose":{
        "Payments":[
          {
            "Type":1,
            "Amount":11
          }
        ],
     "TaxationSystem":1
      },
      "CustomerContact":"roman@test.com",
      "AdditionalAttribute":"Доп.реквиз.чека",
      "AdditionalUserAttribute":{
        "Name":"Наименование дополнительного реквизита пользователя",
        "Value":"Значение дополнительного реквизита пользователя"
      },
      "AutomatNumber":"1258",
      "Customer":"Иванов Иван Иванович",
      "CustomerINN":"142702309610",
      "PaymentAgentOperation":"Операция плат. агента",
      "PaymentAgentPhoneNumbers":["+79260000003"],
      "PaymentOperatorName":"ООО \"Ромашка\"",
      "PaymentOperatorAddress":"Москва, Дурова 10",
      "PaymentOperatorINN":"9715225506",
      "PaymentOperatorPhoneNumbers":["+79260000002"],
      "PaymentTransferOperatorPhoneNumbers":["+79260000001"],
      "SettlementAddress":"Москва, Золотая 72",
      "SettlementPlace":"https://site.ru/",
      "SupplierPhoneNumbers":["+74957870004"]
    }
  }
}
ПараметрОписаниеФорматOrange DataАТОЛБухта
KeyНаименование Терминала
Предоставляется с параметрами тестового/рабочего доступа
String
Mandatory
+++
PasswordПароль для выполнения запросов apiecheque
Предоставляется с параметрами тестового/рабочего доступа
String
Mandatory
+++
ChequeПараметры чека
Описание структуры Cheque см. ниже
Object
Mandatory
+++
MessageТема письма или строка в сообщении СМСString [1..50]
Optional
+++
TemplateTagНазвание используемого шаблона чека
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется шаблон с названием «Default»
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String
Optional
+++
TemplateLangЯзык шаблона чека
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется язык «Default»
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String
Optional
+++
AdditionalMessagesПозволяет добавить любые параметры на шаблон чека в плейсхолдер с названием из Key
Описание элемента AdditionalMessages см. ниже. Общая длина максимум 1000 символов
Array of objects
Optional
+++

Пример тела запроса (минимальный набор параметров) [JSON]:

{
  "Key":"Merchant",
  "Password":"1234",
  "Cheque":{
    "Id":"6363901578517681941",
    "INN":"7702684259",
    "Content":{
      "Type":1,
      "Positions":[
        {
          "Quantity":1,
          "Price":27.25,
          "Tax":1,
          "Text":"Пирожок"
        }
      ],
      "CheckClose":{
        "Payments":[
          {
            "Type":2,
            "Amount":27.25
          }
        ]
      },
      "CustomerContact":"user@mail.com"
    }
  }
}

Состав элемента массива Cheque.AdditionalMessages

ПараметрОписаниеФорматOrange DataАТОЛБухта
KeyНазвание параметраString
Mandatory
+++
ValueЗначение параметраString
Mandatory
+++

Состав Cheque

ПараметрОписаниеФорматOrange DataАТОЛБухта
IdУникальный идентификатор чекаString [1..64]
Mandatory
+++
INNИНН организации, для которой формируется чекString [10..12]
Mandatory
+++
ContentДанные чека
Описание структуры Content см. ниже
Object
Mandatory
+++
GroupГруппа устройств, с помощью которых будет сформирован чек
По умолчанию «main»
String [1..32]
Optional
+++
CallbackUrlURL для отправки результатов обработки чека POST запросомString
Optional
++-
OriginalChequeIdID оригинального чека прихода для операции возврата (для Type=2)String
Optional
--+

Состав Cheque.Content

ПараметрОписание (тег)ФорматOrange DataАТОЛБухта
TypeТип документа (1054).
Orange Data / АТОЛ:
1 — Приход
2 — Возврат прихода
3 — Расход
4 — Возврат расхода
Бухта:
1 — Приход
2 — Возврат прихода
Integer
Mandatory
+++
PositionsСписок позиций чека (1059)
Описание элемента Positions см. ниже
Array of objects
Mandatory
+++
CheckCloseКонтейнер с информацией о системе налогообложения и параметрах закрытия чека
Описание структуры CheckClose см. ниже
Object
Mandatory
+++
CustomerContactEmail Покупателя для отправки чека или телефон в формате 79995554444 или +79995554444 (1008)String [1..32]
Mandatory
+++
AgentTypeПризнак агента (1057). Используется только для ФФД 1.05.
Число от 1 до 127 (битовое поле), где номер бита обозначает, что Продавец:
0 — Банковский платежный агент
1 — Банковский платежный субагент
2 — Платежный агент
3 — Платежный субагент
4 — Поверенный
5 — Комиссионер
6 — Иной агент
Integer
Optional
++-
AdditionalUserAttributeДополнительный реквизит пользователя (1084)
Описание структуры AdditionalUserAttribute см. ниже
Object
Optional
+--
AdditionalAttributeДополнительный реквизит чека (1192)String [1..16]
Optional
+--
AutomatNumberНомер автомата (1036)String [1..20]
Optional
+--
CustomerПокупатель (клиент) (1227)String [1..243]
Optional
+--
CustomerINNИНН покупателя (клиента) (1228)String [10..12]
Optional
+--
PaymentAgentOperationОперация платежного агента (1044)String [1..24]
Optional
++-
PaymentAgentPhoneNumbersТелефоны платежного агента в формате +79995554444 (1073)Array of strings [1..19]
Optional
++-
PaymentOperatorNameНаименование оператора перевода (1026)String [1..64]
Optional
++-
PaymentOperatorAddressАдрес оператора перевода (1005)String [1..243]
Optional
++-
PaymentOperatorINNИНН оператора перевода (1016)String [10..12]
Optional
++-
PaymentOperatorPhoneNumberТелефоны оператора по приему платежей в формате +79995554444 (1074)Array of strings [1..19]
Optional
++-
PaymentTransferOperatorPhoneNumbersТелефоны оператора перевода в формате +79995554444 (1075)Array of strings [1..19]
Optional
++-
SettlementAddressАдрес расчетов (1009)String [1..243]
Optional
+--
SettlementPlaceМесто расчетов (1187)
Параметр может использоваться для указания сайта, на котором формируется чек
String [1..243]
Optional
+--
SupplierPhoneNumbersТелефоны поставщика в формате +79995554444 (1171)Array of strings [1..19]
Optional
+--

Состав Cheque.Content.AdditionalUserAttribute

ПараметрОписание (тег)ФорматOrange DataАТОЛБухта
NameНаименование дополнительного реквизита пользователя (1085)String [1..64]
Mandatory
+--
ValueЗначение дополнительного реквизита пользователя (1086)String [1..175]
Mandatory
++-

Состав элемента массива Cheque.Content.Positions

ПараметрОписание (тег)ФорматOrange DataАТОЛБухта
QuantityКоличество предмета расчета (товара, услуги и т.д.) (1023)
Десятичное число с точностью до 3 цифр после точки
Float
Mandatory
+++
PriceЦена в рублях за единицу предмета расчета с учетом скидок и наценок (1079)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
+++
TaxСтавка НДС (1199).
Orange Data / АТОЛ:
1 — Ставка НДС 22%
2 — Ставка НДС 10%
3 — Ставка НДС расч. 22/122
4 — Ставка НДС расч. 10/110
5 — Ставка НДС 0%
6 — НДС не облагается
7 — ставка НДС 5%
8 — ставка НДС 7%
9 — ставка НДС расч. 5/105
10 — ставка НДС расч. 7/107
11 — Ставка НДС 20%
12 — Ставка НДС расч. 20/120
Бухта:
1 — Ставка НДС 20%
2 — Ставка НДС 10%
6 — Без НДС
1000 — Ставка НДС 12%
Integer
Mandatory
+++
TextНаименование предмета расчета (название товара, услуги и т.д.) (1030)String [1..128]
Mandatory
+++
AdditionalAttributeДополнительный реквизит предмета расчета (1191)String [1..64]
Optional
++-
AgentTypeПризнак агента по предмету расчета (1222).
Число от 1 до 127 (битовое поле), где номер бита обозначает, что оказывающий услугу Покупателю (клиенту) пользователь является:
0 — Банковский платежный агент
1 — Банковский платежный субагент
2 — Платежный агент
3 — Платежный субагент
4 — Поверенный
5 — Комиссионер
6 — Иной агент
Integer
Optional
+--
AgentInfoДанные агента (1223)
Описание структуры AgentInfo см. ниже
Object
Optional
+--
CustomsDeclarationNumberНомер таможенной декларации (1231)String [1..32]
Optional
+--
ExciseАкциз (1229)
Десятичное число с точностью до 2 цифр после точки
Float
Optional
+--
ManufacturerCountryCodeКод страны происхождения товара (1230)String [1..3]
Optional
+++
PaymentMethodTypeСпособ расчета (1214).
Число от 1 до 7:
1 — Предоплата 100%
2 — Частичная предоплата
3 — Предварительная оплата (Аванс)
4 — Полный расчет
5 — Частичный расчет и кредит
6 — Передача в кредит
7 — Оплата кредита
Integer
Optional
+++
PaymentSubjectTypeПредмет расчета (1212).
Число от 1 до 33:
1 — Товар
2 — Подакцизный товар
3 — Работа
4 — Услуга
5 — Ставка азартной игры
6 — Выигрыш азартной игры
7 — Лотерейный билет
8 — Выигрыш лотереи
9 — Предоставление РИД
10 — Платеж
11 — Агентское вознаграждение
12 — Составной предмет расчета
13 — Иной предмет расчета
14 — Имущественное право
15 — Внереализационный доход
16 — Иные платежи и взносы
17 — Торговый сбор
18 — Курортный сбор
19 — Залог
20 — Расход
21 — Взносы на обязательное пенсионное страхование ИП
22 — Взносы на обязательное пенсионное страхование
23 — Взносы на обязательное медицинское страхование ИП
24 — Взносы на обязательное медицинское страхование
25 — Взносы на обязательное социальное страхование
26 — Платеж казино
27 — Выдача денежных средств
30 — АТНМ (не имеющем кода маркировки)
31 — АТМ (имеющем код маркировки)
32 — ТНМ
33 — ТМ
Integer
Optional
+++
NomenclatureCodeКод товарной номенклатуры (1162) (base64 кодированный массив от 1 до 32 байт). Используется только для ФФД 1.05String
Optional
+++
ItemCodeКод маркировки (2000) (значение, считанное сканером). Используется только для ФФД 1.2String
Optional
++-
SupplierINNИНН поставщика (1226)String [10..12]
Optional
++-
SupplierInfoДанные поставщика (1224)
Описание структуры SupplierInfo см. ниже
Object
Optional
++-
UnitOfMeasurementЕдиница измерения предмета расчета (1197). Используется только для ФФД 1.05String [1..16]
Optional
+--
QuantityMeasurementUnitЕдиница измерения предмета расчета (2108) (число от 0 до 255, 0 если не передано). Используется только для ФФД 1.2Integer
Optional
++-

Состав Cheque.Content.Positions.AgentInfo

ПараметрОписание (тег)ФорматOrange DataАТОЛБухта
PaymentAgentOperationОперация платежного агента (1044)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..24]
Optional
+--
PaymentAgentPhoneNumbersТелефоны платежного агента в формате +79995554444 (1073)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
+--
PaymentOperatorNameНаименование оператора перевода (1026)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..64]
Optional
+--
PaymentOperatorAddressАдрес оператора перевода (1005)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..243]
Optional
+--
PaymentOperatorINNИНН оператора перевода (1016)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [10..12]
Optional
+--
PaymentOperatorPhoneNumberТелефоны оператора по приему платежей в формате +79995554444 (1074)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
+--
PaymentTransferOperatorPhoneNumbersТелефоны оператора перевода в формате +79995554444 (1075)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
+--

Состав Cheque.Content.Positions.SupplierInfo

ПараметрОписание (тег)ФорматOrange DataАТОЛБухта
NameНаименование поставщика (1225)
Строка длиной до (239 – N) символов, где N — это количество символов в телефонных номерах поля PhoneNumbers + 4 символа на каждый номер
String
Mandatory
++-
PhoneNumbersТелефоны поставщика в формате +79995554444 (1171)Array of strings [1..19]
Optional
++-

Состав Cheque.Content.CheckClose

ПараметрОписание (тег)ФорматOrange DataАТОЛБухта
PaymentsОплаты
Описание элемента Payments см. ниже
Array of objects
Mandatory
+++
TaxationSystemНомер системы налогообложения (1055).
Число от 0 до 5:
0 — Общая, ОСН
1 — Упрощенная доход, УСН доход
2 — Упрощенная доход минус расход, УСН
3 — Единый налог на вмененный доход, ЕНВД
4 — Единый сельскохозяйственный налог, ЕСН
5 — Патентная система налогообложения
Integer
Optional
++-

Состав элемента массива Cheque.Content.CheckClose.Payments

Внимание!

Сумма по всем типам оплат должна совпадать с итоговой стоимостью всех позиций чека.

ПараметрОписание (тег)ФорматOrange DataАТОЛБухта
TypeТип оплаты.
Число от 1 до 16:
1 — Наличными (1031)
2 — Безналичными (1081)
14 — Предварительная оплата (аванс) (1215)
15 — Последующая оплата (в кредит) (1216)
16 — Встречное предоставление (1217)
Integer
Mandatory
+++
AmountСумма оплаты в рублях
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
+++

Ответ

ПараметрОписаниеФормат
SuccessПризнак успешности выполнения операции в платежном шлюзе. Принимает значения:
true — операция успешна
false — операция неуспешна
Boolean
Mandatory
ErrCodeКод ошибки платежного шлюзаString
Mandatory
StatusСтатус чека. См. статусы чековString
Mandatory
ErrMessagesСообщения об ошибках, полученные от сервиса онлайн-касс
Передаются, если получены от сервиса онлайн-касс
Array of strings
Optional

Пример успешного ответа [JSON]:

{ 
  "Success":true,
  "ErrCode":"NONE",
  "ErrMessages":null,
  "Status":"Accepted"
}

Пример ответа при получении ошибки от сервиса онлайн-касс [JSON]:

{
  "Success":true,
  "ErrCode":"NONE",
  "ErrMessages":[
    "Неизвестная группа"
  ],
  "Status":"BadRequest"
}