kkt/receipt - Формирование кассового чека
- HTTP-метод:
POST
- URL:
/kkt/receipt
- Форма взаимодействия: Сервер-сервер
- Формат тела запроса:
application/json
- Аутентификация: HTTP Basic Auth (
PublicId / ApiSecret)
- Назначение: формирование и пробитие кассового чека (54-ФЗ) по ранее созданной транзакции. Формат запроса
соответствует объекту
Receipt CloudPayments.
URL
Структура запроса
Верхний уровень
| Поле |
Тип |
Обяз. |
Описание |
Inn |
str |
✔ |
ИНН продавца. |
Type |
str |
✔ |
Признак расчёта: Income, IncomeReturn, Expense, ExpenseReturn. |
CustomerReceipt |
object |
✔ |
Состав чека — см. ниже. |
InvoiceId |
str |
✔* |
Номер заказа/счёта на стороне мерчанта. По нему чек связывается с ранее проведённой транзакцией. |
AccountId |
str |
|
Идентификатор пользователя. |
* Формально необязателен в схеме, но фактически обязателен: сервис ищет транзакцию по InvoiceId, и без неё
чек сформировать не получится.
CustomerReceipt
| Поле |
Тип |
Обяз. |
Описание |
Items |
array |
✔ |
Позиции чека — см. ниже. |
Amounts |
object |
✔ |
Сумма платежа: одно из Electronic, AdvancePayment, Credit, Provision. |
TaxationSystem |
int |
|
Система налогообложения: 0 общая, 1 УСН доход, 2 УСН доход-расход, 3 ЕНВД, 4 ЕСХН, 5 патент. По умолчанию 0. |
Email |
str |
|
E-mail покупателя для отправки чека. |
Phone |
str |
|
Телефон покупателя (формат +71234567890) для отправки ссылки на чек. |
CalculationPlace |
str |
|
Место осуществления расчёта. |
CustomerInfo |
str |
|
Наименование организации или ФИО покупателя. |
CustomerInn |
str |
|
ИНН покупателя. |
isBso |
bool |
|
true, если чек является бланком строгой отчётности. |
CashierName |
str |
|
Имя кассира. Если не передано — берётся из настроек кассира в ЛК. |
AdditionalReceiptInfos |
array |
|
Дополнительная информация общая для чека (многострочная). |
NonCashPayments |
array |
|
Сведения о безналичной оплате (тег ОФД 1234). |
CustomerReceipt поддерживает и остальные реквизиты 54-ФЗ (маркировка, признак агента, отраслевые реквизиты,
данные покупателя для документов старше ФФД 1.2 и т.д.) — полный список соответствует официальной схеме Receipt
CloudPayments.
Items[]
| Поле |
Тип |
Обяз. |
Описание |
Label |
str |
✔ |
Наименование товара или услуги. |
Price |
decimal |
✔ |
Цена за единицу. |
Quantity |
str |
✔ |
Количество. |
Amount |
decimal |
✔ |
Price * Quantity с учётом скидки. |
Vat |
int |
✔ |
Ставка НДС: 0, 5, 7, 10, 20, 22, 105, 110, 120, 122. |
Method |
int |
|
Способ расчёта: 1 предоплата 100%, 2 предоплата, 3 аванс, 4 полный расчёт, 5 частичный расчёт и кредит, 6 передача в кредит, 7 оплата кредита. |
Object |
int |
|
Предмет расчёта: товар, работа, услуга, платёж и т.д. (полный список — тег ОФД 1212). |
MeasurementUnit |
str |
|
Единица измерения. |
Excise |
int |
|
Сумма акциза. |
Позиция также поддерживает поля для маркированного товара (RawMarkCode, MarkPartQuantity,
ProductCodeData), данные агента (AgentSign, AgentData, PurveyorData) и отраслевые реквизиты —
полный список соответствует официальной схеме Item CloudPayments.
Структура ответа
| Поле |
Тип |
Описание |
Success |
bool |
Результат запроса. |
Message |
string |
Описание ошибки. |
Warning |
string |
Предупреждение, если чек пробит с замечаниями. |
WarningCodes |
string |
Коды предупреждений. |
Model.Id |
string |
Идентификатор чека. |
Model.ErrorCode |
int |
Код ошибки, если чек не удалось пробить. |
Model.ReceiptLocalUrl |
string |
Ссылка на PDF чека. |
Пример запроса
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | {
"Inn": "7710140679",
"Type": "Income",
"InvoiceId": "1234567",
"CustomerReceipt": {
"Items": [
{
"Label": "Оплата товаров в example.com",
"Price": 100,
"Quantity": "1",
"Amount": 100,
"Vat": 20
}
],
"TaxationSystem": 0,
"Amounts": {
"Electronic": 100
},
"Email": "user@example.com"
}
}
|
Пример ответов
Примечания
- Транзакция с указанным
InvoiceId должна существовать в системе — чек формируется на основе данных ранее
созданной транзакции, а не как самостоятельный документ.
- Запрос идемпотентен по заголовку
X-Request-ID — см. Обзор.