Раздел API
Продажа
Продажа или возврат целиком: оплата на терминале → чек на ККТ → слип. Если чек не вышел, агент сам отменяет оплату (PAYMENT_CANCELLED).
| POST | /api/v1/checkouts | Продажа или возврат с чеком |
Порядок: операция по карте на терминале (если есть оплата CARD) → чек на ККТ → слип на ККТ. Если чек не напечатался после оплаты картой, оплата отменяется на терминале (ошибка PAYMENT_CANCELLED); если и отмена не прошла — PAYMENT_NOT_CANCELLED с данными оплаты в error.details. Результат: { receipt: фискальный документ, payment: операция по карте }.
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
Idempotency-Keyобязательный | header | string | |
Prefer | header | string |
Тело запроса application/json обязательное
Поля · CheckoutRequest
registerIdinteger int32terminalIdinteger int3211 полей · Receipt
typestringобязательноезначения:SELLSELL_RETURNBUYBUY_RETURNtaxationstringзначения:OSNUSN_INCOMEUSN_INCOME_OUTCOMEESHNPATENToperatorOperator2 поля · Operator
namestringобязательноеот 1innstring
customerCustomer3 поля · Customer
contactstringnamestringinnstring
headerмассив TextLine4 поля · TextLine
kindstringобязательноезначения:TEXTPAIRSEPARATORtextstringrightstringalignstringзначения:LEFTCENTERRIGHT
- от 1
9 полей · ReceiptItem
namestringобязательноеот 1priceinteger int64от 0quantitynumberобязательноеamountinteger int64от 0vatstringобязательноезначения:NONEVAT0VAT5VAT7VAT10VAT20VAT22VAT105VAT107VAT110VAT120VAT122paymentMethodstringобязательноезначения:FULL_PREPAYMENTPREPAYMENTADVANCEFULL_PAYMENTPARTIAL_PAYMENTCREDITCREDIT_PAYMENTpaymentObjectstringобязательноезначения:COMMODITYEXCISEJOBSERVICEGAMBLING_BETGAMBLING_PRIZELOTTERYLOTTERY_PRIZEINTELLECTUAL_ACTIVITYPAYMENTAGENT_COMMISSIONCOMPOSITEANOTHERdepartmentinteger int32markingMarking4 поля · Marking
codestringобязательноеот 1fractionstringшаблон:\d+/\d+measurestringзначения:PIECEGRAMKILOGRAMTONCENTIMETERDECIMETERMETERSQUARE_CENTIMETERSQUARE_DECIMETERSQUARE_METERMILLILITERLITERCUBIC_METERKILOWATT_HOURGKALDAYHOURMINUTESECONDKILOBYTEMEGABYTEGIGABYTETERABYTEOTHERindustryPropsstring
- от 1
2 поля · ReceiptPayment
typestringобязательноезначения:CASHCARDPREPAIDCREDITOTHERamountinteger int64
footerмассив TextLine4 поля · TextLine
kindstringобязательноезначения:TEXTPAIRSEPARATORtextstringrightstringalignstringзначения:LEFTCENTERRIGHT
electronicbooleansenderEmailstringsettlementPlacestring
originalPaymentRefstringprintSlipboolean
JSON
{
"registerId": 1,
"terminalId": 1,
"receipt": {
"type": "SELL",
"taxation": "OSN",
"operator": {
"name": "string",
"inn": "string"
},
"customer": {
"contact": "string",
"name": "string",
"inn": "string"
},
"header": [
{}
],
"items": [
{}
],
"payments": [
{}
],
"footer": [
{}
],
"electronic": false,
"senderEmail": "string",
"settlementPlace": "string"
},
"originalPaymentRef": "string",
"printSlip": false
}Ответ 200 application/json
Поля · Operation
idstring uuidtypestringidempotencyKeystringresourcesмассив stringstatusstringзначения:QUEUEDRUNNINGSUCCEEDEDFAILEDUNKNOWNstagestringcreatedAtstring date-timestartedAtstring date-timefinishedAtstring date-timeresultлюбое значениеerrorOperationError3 поля · OperationError
codestringmessagestringdetailsлюбое значение
warningsмассив string
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl
curl -X POST 'http://localhost:7790/api/v1/checkouts' \
-H 'Idempotency-Key: $(uuidgen)' \
-H 'Prefer: wait=30' \
-H 'Content-Type: application/json' \
--data '{"registerId":1,"terminalId":1,"receipt":{"type":"SELL","taxation":"OSN","operator":{"name":"string","inn":"string"},"customer":{"contact":"string","name":"string","inn":"string"},"header":[{}],"items":[{}],"payments":[{}],"footer":[{}],"electronic":false,"senderEmail":"string","settlementPlace":"string"},"originalPaymentRef":"string","printSlip":false}'curl
curl -X POST 'https://cloud.hw-connector.ru/agent/api/v1/checkouts' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42' \
-H 'Idempotency-Key: $(uuidgen)' \
-H 'Prefer: wait=30' \
-H 'Content-Type: application/json' \
--data '{"registerId":1,"terminalId":1,"receipt":{"type":"SELL","taxation":"OSN","operator":{"name":"string","inn":"string"},"customer":{"contact":"string","name":"string","inn":"string"},"header":[{}],"items":[{}],"payments":[{}],"footer":[{}],"electronic":false,"senderEmail":"string","settlementPlace":"string"},"originalPaymentRef":"string","printSlip":false}'