Naudodami funkciją
- POST /api/v1/transactions/cancelDocument
transakcijos atšaukimas perduodamas fiskaliniam paslaugų teikėjui ir ten išsaugomas. Ji naudojama transakcijai atšaukti prieš ją užbaigiant. Pavyzdžiui:
- Klientas nori įsigyti keletą prekių parduotuvėje
- kasininkas pradeda nuskaityti prekes (kasos aparatas siunčia: PUT /api/v1/transactions/createDocument)
- Klientas pastebi, kad pametė piniginę ir todėl negali atlikti pirkimo
- kasininkas nutraukia sandorį ir ištrina visus nuskaitytus prekių kodus (kasos aparatas siunčia POST /api/v1/transactions/cancelDocument, kad užbaigtų sandorį, kuris anksčiau buvo pradėtas su PUT /api/v1/transactions/createDocument)
Rezultatas
Sėkmingai apdorojus (200), atitinkamas fiskalinės paslaugos klientas atsako su fiscalResponse ir išsaugo sandorio nutraukimą.
Naudojimas
- Kiekvieną kartą, kai dokumentas elektroninėje apskaitos sistemoje užbaigiamas nutraukimu.
Reikalavimai
- Prieš „cancelDocument“ turi būti iškviestas galinis taškas PUT /api/v1/transactions/createDocument
- Duomenys iš createDocument atsakymo turi būti integruoti į cancelDocument JSON struktūrą. Žr. toliau pateiktą skyrių.
Perdavimo procesas
Kaip aprašyta, „cancelDocument“ reikalauja, kad prieš tai būtų atliktas „createDocument“. „createDocument“ „fiscalResponse“ apima šiuos laukus:
"fiscalisationDocumentNumber": 0,
"fiscalisationDocumentRevision": 0,
"fiscalDocumentStartTime": 0,
šių laukų informacija turi būti įtraukta į JSON struktūrą, kuri perduodama naudojant „cancelDocument“. Šiuose laukuose yra reikšmės, kurias sukuria reikalinga fiskalinė įranga (techninė saugumo įranga „TSE“ Vokietijoje) ir kurios naudojamos sandorių grandinei sukurti.
Dėmesio: atkreipkite dėmesį į šias ypatybes:
„createDocument“ funkcijos „fiscalResponse“ grąžina laukus „fiscalisationDocumentNumber“ ir „fiscalisationDocumentRevision“. Tačiau „cancelDocument“ funkcijoje šie laukai turi būti perduoti su
"fiscalDocumentNumber": 24,
"fiscalDocumentRevision": 1,
, t. y. be „isation“! Taip pat atkreipkite dėmesį: „Given transaction not started“
Pavyzdys:
Toliau pateiktame pavyzdyje parodytas paprastas kasos kvitas Vokietijai (documentType = [0] = receipt), kuris siunčiamas į galinį tašką POST /api/v1/transactions/cancelDocument.
{
"uniqueClientId": "c1062c55-57c4-4ed2-9c53-aff1762326a4",
"documentGuid": "7d4a7761-e9e9-4759-8591-ed147a581da4",
"documentId": "HAM01-00010329",
"documentNumber": "00010329",
"createDate": "2023-04-18T21:34:45",
"bookDate": "2023-04-18T21:34:46",
"cancellationDocument": false,
"isTraining": false,
"documentType": 0,
"user": {
"id": "1234",
"caption": "1234"
},
"fiscalDocumentNumber": 2853,
"fiscalDocumentStartTime": 1681803100,
"fiscalDocumentRevision": 1,
"Positions": [
{
"positionNumber": 0,
"netValue": 10.66,
"grossvalue": 12.90,
"taxValue": 2.24,
"quantity": 1,
"itemId": "1101202930050",
"itemCaption": "Pizza Margherita",
"cancellationPosition": "false",
"type": "0",
"businessTransactionType": 0,
"vatPercent": 19,
"vatIdentification": 1,
}
],
"Payments": [
{
"Amount": 12.90,
"paymentType": "cash",
"uniqueReadablePaymentIdentifier": "Cash",
"caption": "Bar+Euro",
"currencyIsoCode": "EUR"
}
]
}
Pavyzdys: minimalūs duomenys „cancelDocument“:
{
"uniqueClientId": "c1062c55-57c4-4ed2-9c53-aff1762326a4",
"documentGuid": "{bdf8b5e9-5634-4c02-afad-543a7c480111}",
"documentId": "100001",
"documentNumber": "00002",
"createDate": "2022-12-22T10:06:03",
"bookDate": "2022-12-22T10:06:03",
"user": {
"id": "1234",
"caption": "1234"
},
"fiscalDocumentNumber": 2938,
"fiscalDocumentStartTime": "1671699962",
"fiscalDocumentRevision": 1
}
}
fiscalResponse
Atsakymas (fiscalResponse) naudojant „cancelDocument“ turėtų būti išsaugotas kasos sistemos duomenų bazėje referenciniais tikslais.
fiscalResponse apima:
- bendrąją informaciją
- šaliai būdingą informaciją
„fiscalResponse“ pavyzdys:
{
"fiscalCountry": "[0] = Germany",
"fiscalisationDocumentNumber": 52,
"fiscalisationDocumentRevision": 2,
"fiscalDocumentStartTime": 1674819139,
"processStartTime": 0,
"errorDescription": null,
"cashRegisterId": "00345-00345",
"signature": "pCeGi98gNNhshcGJkbw0DwtSzuJkaawON8l5QwsFDEaDHOyYK2aNVO4ZAlpkYYnub7oxM/2R1/KB36UzmOQwew==",
"userMessage": null,
"printMessage": "***Test***",
"requestTime": "2023-01-27T12:34:21.3088836+01:00",
"requestCompletionTime": "2023-01-27T12:34:22.4379009+01:00",
"AdditionalFields": {
"QrCodeDataString": "V0;00345-00345;Kassenbeleg-V1;Beleg^13.90_0.00_0.00_0.00_0.00^13.90:Unbar;52;197;2023-01-27T11:32:19.000Z;2023-01-27T11:34:20.000Z;ecdsa-plain-SHA256;unixTime;pCeGi98gNNhshcGJkbw0DwtSzuJkaawON8l5QwsFDEaDHOyYK2aNVO4ZAlpkYYnub7oxM/2R1/KB36UzmOQwew==;BNHckCuXF2fEktIp8qwtnMLLgvpJDX6wEOqFENlHXZpekBHxHniQh9gbigjWS9UbCwZSrOTJTMK7WiV5owAfXkk=",
"TransactionStartTime": 1674819139,
"TransactionEndTime": 1674819260,
"ProcessData": "Beleg^13.90_0.00_0.00_0.00_0.00^13.90:Unbar",
"ProcessType": "Kassenbeleg-V1",
"TseSerial": "e5f5836a57c50c526d4bed37f18823608f2f44e2c98cab73278a7676c5ea0885",
"TseTimeFormat": "unixTime",
"TseHashAlgorithm": "ecdsa-plain-SHA256",
"TsePublicKey": "BNHckCuXF2fEktIp8qwtnMLLgvpJDX6wEOqFENlHXZpekBHxHniQh9gbigjWS9UbCwZSrOTJTMK7WiV5owAfXkk=",
"TseSignatureCounter": 197,
"TseCertificate": "MIIB0jCCAVmgAwIBAgIhAOX1g2pXxQxSbUvtN/GII2CPL0TiyYyrcyeKdnbF6giFMAoGCCqGSM49BAMDMDExFTATBgNVBAoTDGZpc2thbHkgR21iSDEYMBYGA1UEAxMPZmlza2FseSBUZXN0IENBMB4XDTIyMTAzMDEyMjgzMloXDTIzMTAzMDEyMjgzMlowMjEVMBMGA1UEChMMZmlza2FseSBHbWJIMRkwFwYDVQQDExBmaXNrYWx5IFRlc3QgVFNFMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0dyQK5cXZ8SS0inyrC2cwsuC+kkNfrAQ6oUQ2Uddml6QEfEeeJCH2BuKCNZL1RsLBlKs5MlMwrtaJXmjAB9eSaNBMD8wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUlllBymQBup6ldKGojZVpZtWG5tQwCgYIKoZIzj0EAwMDZwAwZAIwEFsoSON9cIBqA5d9vsGI2jSjDlZxHokDvJ4yBmayvigrDbdhMYe3hw3HyQbO2B/FAjBXSVNbYR6Wg2TVzL9BhCla+tewRDGcs6vnetJ4i3VRtya1+ejt+vRjWnb/RUyo0Uw="
}
}
Bendroji informacija
Ji pateikiama „fiscalResponse“ antraštės dalyje.
Atkreipkite dėmesį:
- Lauko „fiscalisationDocumentNumber“ turinys turi būti atspausdintas ant dokumento (DE).
- Lauko „printMessage“ turinys turi būti atspausdintas ant dokumento.
Šaliai būdinga informacija
Šaliai būdinga informacija pateikiama srityje „AdditionalFields“ ir apima informaciją, kuri turi būti atspausdinta ant dokumento. (pvz., QR kodas arba, alternatyviai, TSE duomenys Vokietijoje)
Atkreipkite dėmesį į atitinkamos šalies dokumento pavyzdžius.
Pastaba: jei „cancelDocument“ fiskalinėje atsakymo lauke
"fiscalDocumentNumber": -1,
grąžinama reikšmė „-1“, tai reiškia, kad klientas atitinkamą dokumentą atpažino kaip ne fiskalinį.
Atsakymas
Galimi atsakymai:
| Kodas | Aprašymas | Pavyzdys |
| 200 |
Sandorio nutraukimas buvo sėkmingai ir be klaidų perduotas bei išsaugotas documentStore |
fiscalResponse |
| 404 |
Vokietija: nurodyto fiscalDocumentNumber rasti nepavyko. Sandoris su nurodytu fiscalDocumentNumber dar nebuvo sukurtas (pradėtas). Klaidų šalinimas:
|
- |
| 406 |
Pateiktas dokumento tipas nepalaikomas Klaidos šalinimas:
|
- |
| 422 |
Dokumento turinys tuščias arba klaidingas Klaidų šalinimas:
|
- |
Komentarai
0 komentarų
Tam, kad paliktumėte komentarus prisijunkite