@kreiseck/kasseneck-api 0.31.0 → 1.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +317 -0
- package/README.de.md +11 -7
- package/README.md +509 -126
- package/dist/cjs/client/api.d.ts +7 -6
- package/dist/cjs/client/api.js +2 -2
- package/dist/cjs/client/aufrufe.d.ts +29 -5
- package/dist/cjs/client/aufrufe.js +114 -2
- package/dist/cjs/client/auth.d.ts +2 -0
- package/dist/cjs/client/auth.js +17 -1
- package/dist/cjs/client/cashregisters.d.ts +1 -1
- package/dist/cjs/client/cashregisters.js +2 -2
- package/dist/cjs/client/errors.d.ts +94 -19
- package/dist/cjs/client/errors.js +132 -28
- package/dist/cjs/client/fehlercodes.d.ts +9 -0
- package/dist/cjs/client/fehlercodes.js +36 -0
- package/dist/cjs/client/index.d.ts +5 -5
- package/dist/cjs/client/index.js +11 -3
- package/dist/cjs/client/receipts.d.ts +131 -124
- package/dist/cjs/client/receipts.js +196 -137
- package/dist/cjs/client/reports.d.ts +26 -4
- package/dist/cjs/client/reports.js +37 -4
- package/dist/cjs/client/status.d.ts +3 -3
- package/dist/cjs/client/status.js +7 -7
- package/dist/cjs/client/transport.d.ts +56 -4
- package/dist/cjs/client/transport.js +234 -25
- package/dist/cjs/enums/vat-rate.d.ts +2 -2
- package/dist/cjs/enums/vat-rate.js +1 -1
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.js +42 -13
- package/dist/{esm/rechnung → cjs/invoice}/api.d.ts +18 -17
- package/dist/cjs/{rechnung → invoice}/api.js +6 -6
- package/dist/{esm/rechnung → cjs/invoice}/auth.d.ts +2 -2
- package/dist/cjs/{rechnung → invoice}/auth.js +5 -5
- package/dist/{esm/rechnung/rechnen.d.ts → cjs/invoice/calc.d.ts} +27 -27
- package/dist/cjs/{rechnung/rechnen.js → invoice/calc.js} +54 -54
- package/dist/{esm/rechnung → cjs/invoice}/endpunkte.d.ts +23 -21
- package/dist/cjs/{rechnung → invoice}/endpunkte.js +52 -42
- package/dist/cjs/invoice/fehler.d.ts +31 -0
- package/dist/cjs/invoice/fehler.js +39 -0
- package/dist/cjs/invoice/index.d.ts +21 -0
- package/dist/cjs/invoice/index.js +86 -0
- package/dist/cjs/{rechnung → invoice}/summen.d.ts +12 -12
- package/dist/cjs/{rechnung → invoice}/summen.js +14 -14
- package/dist/cjs/invoice/texte.d.ts +224 -0
- package/dist/cjs/invoice/texte.js +425 -0
- package/dist/{esm/rechnung → cjs/invoice}/typen.d.ts +32 -11
- package/dist/cjs/{rechnung → invoice}/vertrag.d.ts +97 -71
- package/dist/cjs/{rechnung → invoice}/vertrag.js +144 -82
- package/dist/cjs/models/cancellation.d.ts +43 -24
- package/dist/cjs/models/cancellation.js +94 -46
- package/dist/cjs/models/hobex-receipt.d.ts +3 -3
- package/dist/cjs/models/hobex-receipt.js +35 -35
- package/dist/cjs/models/index.d.ts +6 -5
- package/dist/cjs/models/index.js +22 -2
- package/dist/cjs/models/payment-errors.d.ts +32 -15
- package/dist/cjs/models/payment-errors.js +80 -32
- package/dist/cjs/models/receipt-company.d.ts +6 -5
- package/dist/cjs/models/receipt-company.js +4 -4
- package/dist/cjs/models/receipt-email.d.ts +32 -18
- package/dist/cjs/models/receipt-email.js +69 -24
- package/dist/cjs/models/receipt-errors.d.ts +39 -0
- package/dist/cjs/models/receipt-errors.js +94 -0
- package/dist/cjs/models/receipt-item.d.ts +9 -1
- package/dist/cjs/models/receipt-item.js +3 -0
- package/dist/cjs/models/receipt-summary.d.ts +10 -4
- package/dist/cjs/models/receipt-summary.js +10 -4
- package/dist/cjs/models/receipt.d.ts +31 -2
- package/dist/cjs/models/receipt.js +12 -1
- package/dist/cjs/models/voucher.d.ts +7 -6
- package/dist/cjs/models/voucher.js +2 -7
- package/dist/cjs/partner/ablauf.d.ts +10 -10
- package/dist/cjs/partner/ablauf.js +29 -29
- package/dist/cjs/partner/api.d.ts +26 -23
- package/dist/cjs/partner/api.js +11 -13
- package/dist/cjs/partner/auth.d.ts +1 -1
- package/dist/cjs/partner/auth.js +2 -2
- package/dist/cjs/partner/betrieb.d.ts +7 -7
- package/dist/cjs/partner/betrieb.js +10 -10
- package/dist/cjs/partner/endpunkte.d.ts +27 -14
- package/dist/cjs/partner/endpunkte.js +80 -39
- package/dist/cjs/partner/fehler.d.ts +60 -30
- package/dist/cjs/partner/fehler.js +99 -43
- package/dist/cjs/partner/index.d.ts +13 -12
- package/dist/cjs/partner/index.js +35 -22
- package/dist/cjs/partner/secret.d.ts +3 -3
- package/dist/cjs/partner/secret.js +6 -6
- package/dist/cjs/partner/typen.d.ts +129 -71
- package/dist/cjs/partner/typen.js +76 -3
- package/dist/cjs/partner/webhook-signatur.d.ts +2 -2
- package/dist/cjs/partner/webhook-signatur.js +12 -12
- package/dist/cjs/partner/webhooks.d.ts +60 -32
- package/dist/cjs/partner/webhooks.js +40 -34
- package/dist/cjs/payments/hobex.d.ts +11 -3
- package/dist/cjs/payments/hobex.js +17 -5
- package/dist/cjs/payments/stripe.d.ts +5 -2
- package/dist/cjs/payments/stripe.js +10 -5
- package/dist/cjs/pos/artikel.d.ts +90 -0
- package/dist/cjs/pos/artikel.js +89 -0
- package/dist/cjs/pos/client.d.ts +27 -0
- package/dist/cjs/pos/client.js +144 -0
- package/dist/cjs/pos/drucker.d.ts +86 -0
- package/dist/cjs/pos/drucker.js +78 -0
- package/dist/cjs/pos/errors.d.ts +36 -0
- package/dist/cjs/pos/errors.js +95 -0
- package/dist/cjs/pos/index.d.ts +15 -0
- package/dist/cjs/pos/index.js +102 -0
- package/dist/cjs/pos/settings.d.ts +313 -0
- package/dist/cjs/pos/settings.js +376 -0
- package/dist/cjs/pos/texte.d.ts +883 -0
- package/dist/cjs/pos/texte.js +489 -0
- package/dist/cjs/{kasse → pos}/trinkgeld.d.ts +1 -1
- package/dist/cjs/{kasse → pos}/trinkgeld.js +2 -2
- package/dist/cjs/printing/escpos.d.ts +29 -29
- package/dist/cjs/printing/escpos.js +61 -61
- package/dist/cjs/printing/index.d.ts +2 -2
- package/dist/cjs/printing/index.js +17 -17
- package/dist/cjs/printing/qr-groesse.d.ts +38 -38
- package/dist/cjs/printing/qr-groesse.js +47 -47
- package/dist/cjs/printing/webusb.d.ts +2 -2
- package/dist/cjs/printing/webusb.js +4 -4
- package/dist/cjs/react/index.d.ts +21 -21
- package/dist/cjs/react/index.js +40 -30
- package/dist/cjs/receipt/bild.d.ts +4 -4
- package/dist/cjs/receipt/bild.js +11 -11
- package/dist/cjs/receipt/blatt.d.ts +46 -46
- package/dist/cjs/receipt/blatt.js +59 -59
- package/dist/cjs/receipt/discount.d.ts +1 -1
- package/dist/cjs/receipt/discount.js +8 -8
- package/dist/cjs/receipt/due.d.ts +86 -0
- package/dist/cjs/receipt/due.js +261 -0
- package/dist/cjs/receipt/epos.d.ts +22 -22
- package/dist/cjs/receipt/epos.js +45 -45
- package/dist/cjs/receipt/grid.d.ts +10 -10
- package/dist/cjs/receipt/grid.js +20 -20
- package/dist/cjs/receipt/index.d.ts +9 -8
- package/dist/cjs/receipt/index.js +26 -23
- package/dist/cjs/receipt/layout-escpos.d.ts +24 -24
- package/dist/cjs/receipt/layout-escpos.js +49 -49
- package/dist/cjs/receipt/layout.d.ts +28 -23
- package/dist/cjs/receipt/layout.js +45 -21
- package/dist/cjs/receipt/marke-daten.d.ts +8 -8
- package/dist/cjs/receipt/marke-daten.js +8 -8
- package/dist/cjs/receipt/marke.d.ts +7 -7
- package/dist/cjs/receipt/marke.js +10 -10
- package/dist/cjs/register/errors.d.ts +61 -0
- package/dist/cjs/register/errors.js +112 -0
- package/dist/cjs/register/index.d.ts +14 -1
- package/dist/cjs/register/index.js +20 -1
- package/dist/cjs/register/pairing.d.ts +55 -36
- package/dist/cjs/register/pairing.js +33 -29
- package/dist/cjs/register/session.d.ts +5 -5
- package/dist/cjs/register/session.js +7 -7
- package/dist/cjs/stored/draht.d.ts +45 -0
- package/dist/cjs/stored/draht.js +220 -0
- package/dist/cjs/stored/einstellungen.d.ts +23 -0
- package/dist/cjs/stored/einstellungen.js +200 -0
- package/dist/cjs/stored/index.d.ts +109 -0
- package/dist/cjs/stored/index.js +225 -0
- package/dist/cjs/stored/vokabular.d.ts +18 -0
- package/dist/cjs/stored/vokabular.js +389 -0
- package/dist/cjs/version.d.ts +7 -0
- package/dist/cjs/version.js +10 -0
- package/dist/cjs/vienna-time.d.ts +1 -1
- package/dist/cjs/vienna-time.js +2 -2
- package/dist/esm/client/api.d.ts +7 -6
- package/dist/esm/client/api.js +4 -4
- package/dist/esm/client/aufrufe.d.ts +29 -5
- package/dist/esm/client/aufrufe.js +111 -1
- package/dist/esm/client/auth.d.ts +2 -0
- package/dist/esm/client/auth.js +16 -1
- package/dist/esm/client/cashregisters.d.ts +1 -1
- package/dist/esm/client/cashregisters.js +2 -2
- package/dist/esm/client/errors.d.ts +94 -19
- package/dist/esm/client/errors.js +129 -27
- package/dist/esm/client/fehlercodes.d.ts +9 -0
- package/dist/esm/client/fehlercodes.js +32 -0
- package/dist/esm/client/index.d.ts +5 -5
- package/dist/esm/client/index.js +5 -5
- package/dist/esm/client/receipts.d.ts +131 -124
- package/dist/esm/client/receipts.js +195 -140
- package/dist/esm/client/reports.d.ts +26 -4
- package/dist/esm/client/reports.js +36 -4
- package/dist/esm/client/status.d.ts +3 -3
- package/dist/esm/client/status.js +7 -7
- package/dist/esm/client/transport.d.ts +56 -4
- package/dist/esm/client/transport.js +233 -24
- package/dist/esm/enums/vat-rate.d.ts +2 -2
- package/dist/esm/enums/vat-rate.js +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +4 -3
- package/dist/{cjs/rechnung → esm/invoice}/api.d.ts +18 -17
- package/dist/esm/{rechnung → invoice}/api.js +6 -6
- package/dist/{cjs/rechnung → esm/invoice}/auth.d.ts +2 -2
- package/dist/esm/{rechnung → invoice}/auth.js +4 -4
- package/dist/{cjs/rechnung/rechnen.d.ts → esm/invoice/calc.d.ts} +27 -27
- package/dist/esm/{rechnung/rechnen.js → invoice/calc.js} +45 -45
- package/dist/{cjs/rechnung → esm/invoice}/endpunkte.d.ts +23 -21
- package/dist/esm/{rechnung → invoice}/endpunkte.js +52 -42
- package/dist/esm/invoice/fehler.d.ts +31 -0
- package/dist/esm/invoice/fehler.js +33 -0
- package/dist/esm/invoice/index.d.ts +21 -0
- package/dist/esm/invoice/index.js +20 -0
- package/dist/esm/{rechnung → invoice}/summen.d.ts +12 -12
- package/dist/esm/{rechnung → invoice}/summen.js +12 -12
- package/dist/esm/invoice/texte.d.ts +224 -0
- package/dist/esm/invoice/texte.js +421 -0
- package/dist/{cjs/rechnung → esm/invoice}/typen.d.ts +32 -11
- package/dist/esm/{rechnung → invoice}/vertrag.d.ts +97 -71
- package/dist/esm/{rechnung → invoice}/vertrag.js +143 -81
- package/dist/esm/models/cancellation.d.ts +43 -24
- package/dist/esm/models/cancellation.js +90 -45
- package/dist/esm/models/hobex-receipt.d.ts +3 -3
- package/dist/esm/models/hobex-receipt.js +35 -35
- package/dist/esm/models/index.d.ts +6 -5
- package/dist/esm/models/index.js +6 -5
- package/dist/esm/models/payment-errors.d.ts +32 -15
- package/dist/esm/models/payment-errors.js +77 -32
- package/dist/esm/models/receipt-company.d.ts +6 -5
- package/dist/esm/models/receipt-company.js +4 -4
- package/dist/esm/models/receipt-email.d.ts +32 -18
- package/dist/esm/models/receipt-email.js +65 -23
- package/dist/esm/models/receipt-errors.d.ts +39 -0
- package/dist/esm/models/receipt-errors.js +87 -0
- package/dist/esm/models/receipt-item.d.ts +9 -1
- package/dist/esm/models/receipt-item.js +3 -0
- package/dist/esm/models/receipt-summary.d.ts +10 -4
- package/dist/esm/models/receipt-summary.js +9 -3
- package/dist/esm/models/receipt.d.ts +31 -2
- package/dist/esm/models/receipt.js +12 -2
- package/dist/esm/models/voucher.d.ts +7 -6
- package/dist/esm/models/voucher.js +2 -7
- package/dist/esm/partner/ablauf.d.ts +10 -10
- package/dist/esm/partner/ablauf.js +27 -27
- package/dist/esm/partner/api.d.ts +26 -23
- package/dist/esm/partner/api.js +13 -15
- package/dist/esm/partner/auth.d.ts +1 -1
- package/dist/esm/partner/auth.js +2 -2
- package/dist/esm/partner/betrieb.d.ts +7 -7
- package/dist/esm/partner/betrieb.js +8 -8
- package/dist/esm/partner/endpunkte.d.ts +27 -14
- package/dist/esm/partner/endpunkte.js +79 -39
- package/dist/esm/partner/fehler.d.ts +60 -30
- package/dist/esm/partner/fehler.js +91 -35
- package/dist/esm/partner/index.d.ts +13 -12
- package/dist/esm/partner/index.js +12 -11
- package/dist/esm/partner/secret.d.ts +3 -3
- package/dist/esm/partner/secret.js +5 -5
- package/dist/esm/partner/typen.d.ts +129 -71
- package/dist/esm/partner/typen.js +75 -2
- package/dist/esm/partner/webhook-signatur.d.ts +2 -2
- package/dist/esm/partner/webhook-signatur.js +12 -12
- package/dist/esm/partner/webhooks.d.ts +60 -32
- package/dist/esm/partner/webhooks.js +38 -32
- package/dist/esm/payments/hobex.d.ts +11 -3
- package/dist/esm/payments/hobex.js +18 -6
- package/dist/esm/payments/stripe.d.ts +5 -2
- package/dist/esm/payments/stripe.js +11 -6
- package/dist/esm/pos/artikel.d.ts +90 -0
- package/dist/esm/pos/artikel.js +79 -0
- package/dist/esm/pos/client.d.ts +27 -0
- package/dist/esm/pos/client.js +137 -0
- package/dist/esm/pos/drucker.d.ts +86 -0
- package/dist/esm/pos/drucker.js +71 -0
- package/dist/esm/pos/errors.d.ts +36 -0
- package/dist/esm/pos/errors.js +88 -0
- package/dist/esm/pos/index.d.ts +15 -0
- package/dist/esm/pos/index.js +20 -0
- package/dist/esm/pos/settings.d.ts +313 -0
- package/dist/esm/pos/settings.js +367 -0
- package/dist/esm/pos/texte.d.ts +883 -0
- package/dist/esm/pos/texte.js +481 -0
- package/dist/esm/{kasse → pos}/trinkgeld.d.ts +1 -1
- package/dist/esm/{kasse → pos}/trinkgeld.js +2 -2
- package/dist/esm/printing/escpos.d.ts +29 -29
- package/dist/esm/printing/escpos.js +56 -56
- package/dist/esm/printing/index.d.ts +2 -2
- package/dist/esm/printing/index.js +2 -2
- package/dist/esm/printing/qr-groesse.d.ts +38 -38
- package/dist/esm/printing/qr-groesse.js +42 -42
- package/dist/esm/printing/webusb.d.ts +2 -2
- package/dist/esm/printing/webusb.js +4 -4
- package/dist/esm/react/index.d.ts +21 -21
- package/dist/esm/react/index.js +39 -29
- package/dist/esm/receipt/bild.d.ts +4 -4
- package/dist/esm/receipt/bild.js +11 -11
- package/dist/esm/receipt/blatt.d.ts +46 -46
- package/dist/esm/receipt/blatt.js +55 -55
- package/dist/esm/receipt/discount.d.ts +1 -1
- package/dist/esm/receipt/discount.js +7 -7
- package/dist/esm/receipt/due.d.ts +86 -0
- package/dist/esm/receipt/due.js +257 -0
- package/dist/esm/receipt/epos.d.ts +22 -22
- package/dist/esm/receipt/epos.js +47 -47
- package/dist/esm/receipt/grid.d.ts +10 -10
- package/dist/esm/receipt/grid.js +18 -18
- package/dist/esm/receipt/index.d.ts +9 -8
- package/dist/esm/receipt/index.js +9 -8
- package/dist/esm/receipt/layout-escpos.d.ts +24 -24
- package/dist/esm/receipt/layout-escpos.js +51 -51
- package/dist/esm/receipt/layout.d.ts +28 -23
- package/dist/esm/receipt/layout.js +44 -20
- package/dist/esm/receipt/marke-daten.d.ts +8 -8
- package/dist/esm/receipt/marke-daten.js +7 -7
- package/dist/esm/receipt/marke.d.ts +7 -7
- package/dist/esm/receipt/marke.js +10 -10
- package/dist/esm/register/errors.d.ts +61 -0
- package/dist/esm/register/errors.js +104 -0
- package/dist/esm/register/index.d.ts +14 -1
- package/dist/esm/register/index.js +13 -0
- package/dist/esm/register/pairing.d.ts +55 -36
- package/dist/esm/register/pairing.js +33 -29
- package/dist/esm/register/session.d.ts +5 -5
- package/dist/esm/register/session.js +7 -7
- package/dist/esm/stored/draht.d.ts +45 -0
- package/dist/esm/stored/draht.js +208 -0
- package/dist/esm/stored/einstellungen.d.ts +23 -0
- package/dist/esm/stored/einstellungen.js +196 -0
- package/dist/esm/stored/index.d.ts +109 -0
- package/dist/esm/stored/index.js +217 -0
- package/dist/esm/stored/vokabular.d.ts +18 -0
- package/dist/esm/stored/vokabular.js +386 -0
- package/dist/esm/version.d.ts +7 -0
- package/dist/esm/version.js +7 -0
- package/dist/esm/vienna-time.d.ts +1 -1
- package/dist/esm/vienna-time.js +2 -2
- package/fixtures/{erwartet/storno-rabatt.lines.json → expected/cancellation-discount.lines.json} +2 -2
- package/fixtures/expected/cancellation-discount.sheet32.json +248 -0
- package/fixtures/{erwartet/storno-rabatt.blatt48.json → expected/cancellation-discount.sheet48.json} +119 -119
- package/fixtures/{erwartet/storno-voll.lines.json → expected/cancellation-full.lines.json} +2 -2
- package/fixtures/expected/cancellation-full.sheet32.json +218 -0
- package/fixtures/{erwartet/storno-voll.blatt48.json → expected/cancellation-full.sheet48.json} +107 -107
- package/fixtures/{erwartet/storno-teil.lines.json → expected/cancellation-partial.lines.json} +2 -2
- package/fixtures/expected/cancellation-partial.sheet32.json +206 -0
- package/fixtures/{erwartet/storno-teil.blatt48.json → expected/cancellation-partial.sheet48.json} +101 -101
- package/fixtures/{erwartet/storno-split-voll.lines.json → expected/cancellation-split-full.lines.json} +2 -2
- package/fixtures/expected/cancellation-split-full.sheet32.json +320 -0
- package/fixtures/{erwartet/storno-split-voll.blatt48.json → expected/cancellation-split-full.sheet48.json} +158 -158
- package/fixtures/{erwartet/storno-split-teil.lines.json → expected/cancellation-split-partial.lines.json} +2 -2
- package/fixtures/expected/cancellation-split-partial.sheet32.json +230 -0
- package/fixtures/{erwartet/storno-split-teil.blatt48.json → expected/cancellation-split-partial.sheet48.json} +113 -113
- package/fixtures/{erwartet/karte-eigener.lines.json → expected/card-custom.lines.json} +1 -1
- package/fixtures/expected/card-custom.sheet32.json +158 -0
- package/fixtures/{erwartet/karte-eigener.blatt48.json → expected/card-custom.sheet48.json} +80 -80
- package/fixtures/{erwartet/karte-gptom-ios.lines.json → expected/card-gptom-ios.lines.json} +1 -1
- package/fixtures/expected/card-gptom-ios.sheet32.json +230 -0
- package/fixtures/{erwartet/karte-gptom-ios.blatt48.json → expected/card-gptom-ios.sheet48.json} +116 -116
- package/fixtures/{erwartet/karte-gptom.lines.json → expected/card-gptom.lines.json} +1 -1
- package/fixtures/expected/card-gptom.sheet32.json +230 -0
- package/fixtures/{erwartet/karte-gptom.blatt48.json → expected/card-gptom.sheet48.json} +116 -116
- package/fixtures/{erwartet/karte-hobex-cloud.lines.json → expected/card-hobex-cloud.lines.json} +1 -1
- package/fixtures/expected/card-hobex-cloud.sheet32.json +200 -0
- package/fixtures/{erwartet/karte-hobex-cloud.blatt48.json → expected/card-hobex-cloud.sheet48.json} +101 -101
- package/fixtures/{erwartet/karte-hobex-hps.lines.json → expected/card-hobex-hps.lines.json} +1 -1
- package/fixtures/expected/card-hobex-hps.sheet32.json +224 -0
- package/fixtures/{erwartet/karte-hobex-hps.blatt48.json → expected/card-hobex-hps.sheet48.json} +113 -113
- package/fixtures/{erwartet/karte-mypos.lines.json → expected/card-mypos.lines.json} +1 -1
- package/fixtures/expected/card-mypos.sheet32.json +254 -0
- package/fixtures/{erwartet/karte-mypos.blatt48.json → expected/card-mypos.sheet48.json} +122 -122
- package/fixtures/{erwartet/karte-stripe-eps.lines.json → expected/card-stripe-eps.lines.json} +1 -1
- package/fixtures/expected/card-stripe-eps.sheet32.json +194 -0
- package/fixtures/{erwartet/karte-stripe-eps.blatt48.json → expected/card-stripe-eps.sheet48.json} +98 -98
- package/fixtures/{erwartet/karte-stripe.lines.json → expected/card-stripe.lines.json} +1 -1
- package/fixtures/expected/card-stripe.sheet32.json +212 -0
- package/fixtures/{erwartet/karte-stripe.blatt48.json → expected/card-stripe.sheet48.json} +107 -107
- package/fixtures/{erwartet/karte-sumup.lines.json → expected/card-sumup.lines.json} +1 -1
- package/fixtures/expected/card-sumup.sheet32.json +218 -0
- package/fixtures/{erwartet/karte-sumup.blatt48.json → expected/card-sumup.sheet48.json} +104 -104
- package/fixtures/{erwartet/rabattzeilen.lines.json → expected/discount-lines.lines.json} +1 -1
- package/fixtures/expected/discount-lines.sheet32.json +200 -0
- package/fixtures/{erwartet/rabattzeilen.blatt48.json → expected/discount-lines.sheet48.json} +98 -98
- package/fixtures/{erwartet/rabatt-chef-trinkgeld.lines.json → expected/discount-owner-tip.lines.json} +1 -1
- package/fixtures/expected/discount-owner-tip.sheet32.json +212 -0
- package/fixtures/{erwartet/rabatt-chef-trinkgeld.blatt48.json → expected/discount-owner-tip.sheet48.json} +104 -104
- package/fixtures/{erwartet/rabatt-einfach.lines.json → expected/discount-simple.lines.json} +1 -1
- package/fixtures/expected/discount-simple.sheet32.json +182 -0
- package/fixtures/{erwartet/rabatt-einfach.blatt48.json → expected/discount-simple.sheet48.json} +89 -89
- package/fixtures/{erwartet/rabatt-trinkgeld.lines.json → expected/discount-tip.lines.json} +1 -1
- package/fixtures/expected/discount-tip.sheet32.json +212 -0
- package/fixtures/{erwartet/rabatt-trinkgeld.blatt48.json → expected/discount-tip.sheet48.json} +104 -104
- package/fixtures/{erwartet/rabatt-wertgutschein.lines.json → expected/discount-value-voucher.lines.json} +1 -1
- package/fixtures/expected/discount-value-voucher.sheet32.json +218 -0
- package/fixtures/{erwartet/rabatt-wertgutschein.blatt48.json → expected/discount-value-voucher.sheet48.json} +107 -107
- package/fixtures/{erwartet/langer-artikelname.lines.json → expected/long-item-name.lines.json} +1 -1
- package/fixtures/expected/long-item-name.sheet32.json +176 -0
- package/fixtures/{erwartet/langer-artikelname.blatt48.json → expected/long-item-name.sheet48.json} +86 -86
- package/fixtures/{erwartet/verkauf-karte.lines.json → expected/sale-card.lines.json} +1 -1
- package/fixtures/expected/sale-card.sheet32.json +176 -0
- package/fixtures/{erwartet/verkauf-karte.blatt48.json → expected/sale-card.sheet48.json} +86 -86
- package/fixtures/{erwartet/verkauf-bar.lines.json → expected/sale-cash.lines.json} +1 -1
- package/fixtures/expected/sale-cash.sheet32.json +176 -0
- package/fixtures/{erwartet/verkauf-bar.blatt48.json → expected/sale-cash.sheet48.json} +86 -86
- package/fixtures/{erwartet/verkauf-kleinunternehmer.lines.json → expected/sale-small-business.lines.json} +1 -1
- package/fixtures/expected/sale-small-business.sheet32.json +182 -0
- package/fixtures/{erwartet/verkauf-kleinunternehmer.blatt48.json → expected/sale-small-business.sheet48.json} +89 -89
- package/fixtures/{erwartet/signaturausfall-verkauf.lines.json → expected/signature-outage-sale.lines.json} +1 -1
- package/fixtures/expected/signature-outage-sale.sheet32.json +194 -0
- package/fixtures/{erwartet/signaturausfall-verkauf.blatt48.json → expected/signature-outage-sale.sheet48.json} +92 -92
- package/fixtures/{erwartet/split-karte-karte-bar.lines.json → expected/split-card-card-cash.lines.json} +1 -1
- package/fixtures/expected/split-card-card-cash.sheet32.json +356 -0
- package/fixtures/{erwartet/split-karte-karte-bar.blatt48.json → expected/split-card-card-cash.sheet48.json} +170 -170
- package/fixtures/{erwartet/split-bar-rueckgeld.lines.json → expected/split-cash-change.lines.json} +1 -1
- package/fixtures/expected/split-cash-change.sheet32.json +194 -0
- package/fixtures/{erwartet/split-bar-rueckgeld.blatt48.json → expected/split-cash-change.sheet48.json} +92 -92
- package/fixtures/{erwartet/split-langer-betrag.lines.json → expected/split-long-amount.lines.json} +1 -1
- package/fixtures/expected/split-long-amount.sheet32.json +266 -0
- package/fixtures/{erwartet/split-langer-betrag.blatt48.json → expected/split-long-amount.sheet48.json} +131 -131
- package/fixtures/{erwartet/split-eine-karte-trinkgeld.lines.json → expected/split-one-card-tip.lines.json} +1 -1
- package/fixtures/expected/split-one-card-tip.sheet32.json +242 -0
- package/fixtures/{erwartet/split-eine-karte-trinkgeld.blatt48.json → expected/split-one-card-tip.sheet48.json} +113 -113
- package/fixtures/{erwartet/split-tischrunde-trinkgeld.lines.json → expected/split-table-round-tip.lines.json} +1 -1
- package/fixtures/expected/split-table-round-tip.sheet32.json +470 -0
- package/fixtures/{erwartet/split-tischrunde-trinkgeld.blatt48.json → expected/split-table-round-tip.sheet48.json} +218 -218
- package/fixtures/{erwartet/split-trinkgeld-karte.lines.json → expected/split-tip-card.lines.json} +1 -1
- package/fixtures/expected/split-tip-card.sheet32.json +272 -0
- package/fixtures/{erwartet/split-trinkgeld-karte.blatt48.json → expected/split-tip-card.sheet48.json} +128 -128
- package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.lines.json → expected/split-two-cards-same-provider.lines.json} +1 -1
- package/fixtures/expected/split-two-cards-same-provider.sheet32.json +326 -0
- package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.blatt48.json → expected/split-two-cards-same-provider.sheet48.json} +149 -149
- package/fixtures/{erwartet/testkasse-verkauf.lines.json → expected/test-cashregister-sale.lines.json} +3 -3
- package/fixtures/expected/test-cashregister-sale.sheet32.json +224 -0
- package/fixtures/{erwartet/testkasse-verkauf.blatt48.json → expected/test-cashregister-sale.sheet48.json} +110 -110
- package/fixtures/{erwartet/testsignatur-verkauf.lines.json → expected/test-signature-sale.lines.json} +3 -3
- package/fixtures/expected/test-signature-sale.sheet32.json +236 -0
- package/fixtures/{erwartet/testsignatur-verkauf.blatt48.json → expected/test-signature-sale.sheet48.json} +110 -110
- package/fixtures/{erwartet → expected}/training.lines.json +2 -2
- package/fixtures/expected/training.sheet32.json +236 -0
- package/fixtures/{erwartet/training.blatt48.json → expected/training.sheet48.json} +110 -110
- package/fixtures/{erwartet/null-jahr.lines.json → expected/zero-annual.lines.json} +2 -2
- package/fixtures/expected/zero-annual.sheet32.json +212 -0
- package/fixtures/{erwartet/null-jahr.blatt48.json → expected/zero-annual.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-schluss.lines.json → expected/zero-final.lines.json} +2 -2
- package/fixtures/expected/zero-final.sheet32.json +206 -0
- package/fixtures/{erwartet/null-schluss.blatt48.json → expected/zero-final.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-pruef.lines.json → expected/zero-manual.lines.json} +2 -2
- package/fixtures/expected/zero-manual.sheet32.json +206 -0
- package/fixtures/{erwartet/null-pruef.blatt48.json → expected/zero-manual.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-monat.lines.json → expected/zero-monthly.lines.json} +2 -2
- package/fixtures/expected/zero-monthly.sheet32.json +206 -0
- package/fixtures/{erwartet/null-monat.blatt48.json → expected/zero-monthly.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-ausfall.lines.json → expected/zero-outage-end.lines.json} +2 -2
- package/fixtures/expected/zero-outage-end.sheet32.json +206 -0
- package/fixtures/{erwartet/null-ausfall.blatt48.json → expected/zero-outage-end.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-start.lines.json → expected/zero-start.lines.json} +2 -2
- package/fixtures/expected/zero-start.sheet32.json +206 -0
- package/fixtures/{erwartet/null-start.blatt48.json → expected/zero-start.sheet48.json} +95 -95
- package/fixtures/hobex-hps-codes.json +12 -12
- package/fixtures/invoice-api-examples/brands-ok.json +8 -0
- package/fixtures/{rechnung-api-beispiele/credit-fehler-grund.json → invoice-api-examples/credit-error-reason.json} +6 -6
- package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/credit-ok.json +6 -6
- package/fixtures/{rechnung-api-beispiele/customer-fehler-uid.json → invoice-api-examples/customer-error-vat-id.json} +4 -4
- package/fixtures/invoice-api-examples/customer-get-error-both.json +15 -0
- package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/customer-ok.json +4 -4
- package/fixtures/{rechnung-api-beispiele/customer-search-fehler-leer.json → invoice-api-examples/customer-search-error-empty.json} +4 -4
- package/fixtures/{rechnung-api-beispiele/issue-rabatt.json → invoice-api-examples/issue-discount.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-englisch.json → invoice-api-examples/issue-english.json} +7 -7
- package/fixtures/{rechnung-api-beispiele/issue-fehler-cent.json → invoice-api-examples/issue-error-cent.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-sprache.json → invoice-api-examples/issue-error-language.json} +5 -5
- package/fixtures/{rechnung-api-beispiele/issue-fehler-negativ.json → invoice-api-examples/issue-error-negative.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-zahlungsart.json → invoice-api-examples/issue-error-payment-method.json} +8 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-beide.json → invoice-api-examples/issue-error-price-both.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-fehlt.json → invoice-api-examples/issue-error-price-missing.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-menge.json → invoice-api-examples/issue-error-quantity.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-satz.json → invoice-api-examples/issue-error-rate.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-einheit.json → invoice-api-examples/issue-error-unit.json} +5 -5
- package/fixtures/{rechnung-api-beispiele/issue-fehler-unbekannt.json → invoice-api-examples/issue-error-unknown.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-brutto-20.json → invoice-api-examples/issue-gross-20.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-mikropreis.json → invoice-api-examples/issue-micro-price.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-gemischt.json → invoice-api-examples/issue-mixed.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-netto-20.json → invoice-api-examples/issue-net-20.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-bezahlt.json → invoice-api-examples/issue-paid.json} +7 -7
- package/fixtures/{rechnung-api-beispiele/issue-kleinunternehmer.json → invoice-api-examples/issue-small-business.json} +6 -6
- package/fixtures/invoice-api-examples/payment-error-on-site.json +17 -0
- package/fixtures/invoice-api-examples/payment-error-without-key.json +16 -0
- package/fixtures/invoice-api-examples/payment-recorded-later.json +14 -0
- package/fixtures/{rechnung-api-beispiele/setup-status-fehler-feld.json → invoice-api-examples/setup-status-error-field.json} +4 -4
- package/fixtures/invoice-api-examples/setup-status-ok.json +8 -0
- package/fixtures/{rechnung-api.schema.json → invoice-api.schema.json} +24 -24
- package/fixtures/{rechnung-rechnen-zufall.json → invoice-calc-random.json} +828 -828
- package/fixtures/{rechnung-rechnen.json → invoice-calc.json} +47 -47
- package/fixtures/invoice-texts.json +464 -0
- package/fixtures/{rechnung-summen.json → invoice-totals.json} +25 -25
- package/fixtures/{position-aus-euro.json → item-from-euro.json} +26 -26
- package/fixtures/manifest.json +252 -252
- package/fixtures/pos-message-cases.json +32 -0
- package/fixtures/pos-settings-defaults.json +149 -0
- package/fixtures/{kasse-texte.json → pos-texts.json} +416 -416
- package/fixtures/receipt-due-generated.json +1218 -0
- package/fixtures/{belege/storno-rabatt.json → receipts/cancellation-discount.json} +3 -3
- package/fixtures/{belege/storno-voll.json → receipts/cancellation-full.json} +3 -3
- package/fixtures/{belege/storno-teil.json → receipts/cancellation-partial.json} +3 -3
- package/fixtures/{belege/storno-split-voll.json → receipts/cancellation-split-full.json} +3 -3
- package/fixtures/{belege/storno-split-teil.json → receipts/cancellation-split-partial.json} +3 -3
- package/fixtures/{belege/karte-eigener.json → receipts/card-custom.json} +2 -2
- package/fixtures/{belege/karte-gptom-ios.json → receipts/card-gptom-ios.json} +2 -2
- package/fixtures/{belege/karte-gptom.json → receipts/card-gptom.json} +2 -2
- package/fixtures/{belege/karte-hobex-cloud.json → receipts/card-hobex-cloud.json} +2 -2
- package/fixtures/{belege/karte-hobex-hps.json → receipts/card-hobex-hps.json} +2 -2
- package/fixtures/{belege/karte-mypos.json → receipts/card-mypos.json} +2 -2
- package/fixtures/{belege/karte-stripe-eps.json → receipts/card-stripe-eps.json} +2 -2
- package/fixtures/{belege/karte-stripe.json → receipts/card-stripe.json} +2 -2
- package/fixtures/{belege/karte-sumup.json → receipts/card-sumup.json} +2 -2
- package/fixtures/{belege/rabattzeilen.json → receipts/discount-lines.json} +2 -2
- package/fixtures/{belege/rabatt-chef-trinkgeld.json → receipts/discount-owner-tip.json} +2 -2
- package/fixtures/{belege/rabatt-einfach.json → receipts/discount-simple.json} +2 -2
- package/fixtures/{belege/rabatt-trinkgeld.json → receipts/discount-tip.json} +2 -2
- package/fixtures/{belege/rabatt-wertgutschein.json → receipts/discount-value-voucher.json} +2 -2
- package/fixtures/{belege/langer-artikelname.json → receipts/long-item-name.json} +2 -2
- package/fixtures/{belege/verkauf-karte.json → receipts/sale-card.json} +2 -2
- package/fixtures/{belege/verkauf-bar.json → receipts/sale-cash.json} +2 -2
- package/fixtures/{belege/verkauf-kleinunternehmer.json → receipts/sale-small-business.json} +1 -1
- package/fixtures/{belege/signaturausfall-verkauf.json → receipts/signature-outage-sale.json} +2 -2
- package/fixtures/{belege/split-karte-karte-bar.json → receipts/split-card-card-cash.json} +2 -2
- package/fixtures/{belege/split-bar-rueckgeld.json → receipts/split-cash-change.json} +2 -2
- package/fixtures/{belege/split-langer-betrag.json → receipts/split-long-amount.json} +2 -2
- package/fixtures/{belege/split-eine-karte-trinkgeld.json → receipts/split-one-card-tip.json} +2 -2
- package/fixtures/{belege/split-tischrunde-trinkgeld.json → receipts/split-table-round-tip.json} +2 -2
- package/fixtures/{belege/split-trinkgeld-karte.json → receipts/split-tip-card.json} +2 -2
- package/fixtures/{belege/split-zwei-karten-gleicher-anbieter.json → receipts/split-two-cards-same-provider.json} +2 -2
- package/fixtures/{belege/testsignatur-verkauf.json → receipts/test-cashregister-sale.json} +3 -3
- package/fixtures/{belege/testkasse-verkauf.json → receipts/test-signature-sale.json} +3 -3
- package/fixtures/{belege → receipts}/training.json +2 -2
- package/fixtures/{belege/null-jahr.json → receipts/zero-annual.json} +5 -5
- package/fixtures/{belege/null-schluss.json → receipts/zero-final.json} +5 -5
- package/fixtures/{belege/null-pruef.json → receipts/zero-manual.json} +5 -5
- package/fixtures/{belege/null-monat.json → receipts/zero-monthly.json} +5 -5
- package/fixtures/{belege/null-ausfall.json → receipts/zero-outage-end.json} +5 -5
- package/fixtures/{belege/null-start.json → receipts/zero-start.json} +5 -5
- package/fixtures/renames-1.0.json +1490 -0
- package/fixtures/{kasse-settings-standard.json → stored/pos-settings-defaults.json} +7 -7
- package/fixtures/surface.json +877 -0
- package/fixtures/v3/README.md +125 -0
- package/fixtures/v3/antworten/belege.json +4738 -0
- package/fixtures/v3/antworten/belegmail.json +154 -0
- package/fixtures/v3/antworten/kasse-belege.json +4304 -0
- package/fixtures/v3/antworten/kasse.json +12716 -0
- package/fixtures/v3/antworten/rechnungen.json +1712 -0
- package/fixtures/v3/antworten/storno.json +737 -0
- package/fixtures/v3/stored/belege.json +502 -0
- package/fixtures/v3/stored/kasse.json +3461 -0
- package/fixtures/v3/stored/rechnungen.json +750 -0
- package/fixtures/v3/v3-vokabular.json +3375 -0
- package/fixtures/v3/zahlbetrag-faelle.json +794 -0
- package/package.json +32 -18
- package/dist/cjs/kasse/artikel.d.ts +0 -83
- package/dist/cjs/kasse/artikel.js +0 -79
- package/dist/cjs/kasse/client.d.ts +0 -10
- package/dist/cjs/kasse/client.js +0 -38
- package/dist/cjs/kasse/drucker.d.ts +0 -59
- package/dist/cjs/kasse/drucker.js +0 -50
- package/dist/cjs/kasse/index.d.ts +0 -13
- package/dist/cjs/kasse/index.js +0 -83
- package/dist/cjs/kasse/settings.d.ts +0 -229
- package/dist/cjs/kasse/settings.js +0 -172
- package/dist/cjs/kasse/texte.d.ts +0 -868
- package/dist/cjs/kasse/texte.js +0 -474
- package/dist/cjs/rechnung/fehler.d.ts +0 -21
- package/dist/cjs/rechnung/fehler.js +0 -44
- package/dist/cjs/rechnung/index.d.ts +0 -21
- package/dist/cjs/rechnung/index.js +0 -82
- package/dist/cjs/rechnung/texte.d.ts +0 -222
- package/dist/cjs/rechnung/texte.js +0 -425
- package/dist/esm/kasse/artikel.d.ts +0 -83
- package/dist/esm/kasse/artikel.js +0 -70
- package/dist/esm/kasse/client.d.ts +0 -10
- package/dist/esm/kasse/client.js +0 -33
- package/dist/esm/kasse/drucker.d.ts +0 -59
- package/dist/esm/kasse/drucker.js +0 -45
- package/dist/esm/kasse/index.d.ts +0 -13
- package/dist/esm/kasse/index.js +0 -18
- package/dist/esm/kasse/settings.d.ts +0 -229
- package/dist/esm/kasse/settings.js +0 -168
- package/dist/esm/kasse/texte.d.ts +0 -868
- package/dist/esm/kasse/texte.js +0 -466
- package/dist/esm/rechnung/fehler.d.ts +0 -21
- package/dist/esm/rechnung/fehler.js +0 -39
- package/dist/esm/rechnung/index.d.ts +0 -21
- package/dist/esm/rechnung/index.js +0 -20
- package/dist/esm/rechnung/texte.d.ts +0 -222
- package/dist/esm/rechnung/texte.js +0 -421
- package/fixtures/erwartet/karte-eigener.blatt32.json +0 -158
- package/fixtures/erwartet/karte-gptom-ios.blatt32.json +0 -230
- package/fixtures/erwartet/karte-gptom.blatt32.json +0 -230
- package/fixtures/erwartet/karte-hobex-cloud.blatt32.json +0 -200
- package/fixtures/erwartet/karte-hobex-hps.blatt32.json +0 -224
- package/fixtures/erwartet/karte-mypos.blatt32.json +0 -254
- package/fixtures/erwartet/karte-stripe-eps.blatt32.json +0 -194
- package/fixtures/erwartet/karte-stripe.blatt32.json +0 -212
- package/fixtures/erwartet/karte-sumup.blatt32.json +0 -218
- package/fixtures/erwartet/langer-artikelname.blatt32.json +0 -176
- package/fixtures/erwartet/null-ausfall.blatt32.json +0 -206
- package/fixtures/erwartet/null-jahr.blatt32.json +0 -212
- package/fixtures/erwartet/null-monat.blatt32.json +0 -206
- package/fixtures/erwartet/null-pruef.blatt32.json +0 -206
- package/fixtures/erwartet/null-schluss.blatt32.json +0 -206
- package/fixtures/erwartet/null-start.blatt32.json +0 -206
- package/fixtures/erwartet/rabatt-chef-trinkgeld.blatt32.json +0 -212
- package/fixtures/erwartet/rabatt-einfach.blatt32.json +0 -182
- package/fixtures/erwartet/rabatt-trinkgeld.blatt32.json +0 -212
- package/fixtures/erwartet/rabatt-wertgutschein.blatt32.json +0 -218
- package/fixtures/erwartet/rabattzeilen.blatt32.json +0 -200
- package/fixtures/erwartet/signaturausfall-verkauf.blatt32.json +0 -194
- package/fixtures/erwartet/split-bar-rueckgeld.blatt32.json +0 -194
- package/fixtures/erwartet/split-eine-karte-trinkgeld.blatt32.json +0 -242
- package/fixtures/erwartet/split-karte-karte-bar.blatt32.json +0 -356
- package/fixtures/erwartet/split-langer-betrag.blatt32.json +0 -266
- package/fixtures/erwartet/split-tischrunde-trinkgeld.blatt32.json +0 -470
- package/fixtures/erwartet/split-trinkgeld-karte.blatt32.json +0 -272
- package/fixtures/erwartet/split-zwei-karten-gleicher-anbieter.blatt32.json +0 -326
- package/fixtures/erwartet/storno-rabatt.blatt32.json +0 -248
- package/fixtures/erwartet/storno-split-teil.blatt32.json +0 -230
- package/fixtures/erwartet/storno-split-voll.blatt32.json +0 -320
- package/fixtures/erwartet/storno-teil.blatt32.json +0 -206
- package/fixtures/erwartet/storno-voll.blatt32.json +0 -218
- package/fixtures/erwartet/testkasse-verkauf.blatt32.json +0 -224
- package/fixtures/erwartet/testsignatur-verkauf.blatt32.json +0 -236
- package/fixtures/erwartet/training.blatt32.json +0 -236
- package/fixtures/erwartet/verkauf-bar.blatt32.json +0 -176
- package/fixtures/erwartet/verkauf-karte.blatt32.json +0 -176
- package/fixtures/erwartet/verkauf-kleinunternehmer.blatt32.json +0 -182
- package/fixtures/kasse-meldungen-faelle.json +0 -32
- package/fixtures/oberflaeche.json +0 -558
- package/fixtures/rechnung-api-beispiele/brands-ok.json +0 -8
- package/fixtures/rechnung-api-beispiele/customer-get-fehler-beide.json +0 -15
- package/fixtures/rechnung-api-beispiele/setup-status-ok.json +0 -8
- package/fixtures/rechnung-api-beispiele/zahlung-fehler-ohne-schluessel.json +0 -14
- package/fixtures/rechnung-api-beispiele/zahlung-fehler-vor-ort.json +0 -15
- package/fixtures/rechnung-api-beispiele/zahlung-nachtrag.json +0 -14
- package/fixtures/rechnung-texte.json +0 -464
- /package/dist/cjs/{rechnung → invoice}/typen.js +0 -0
- /package/dist/esm/{rechnung → invoice}/typen.js +0 -0
- /package/fixtures/{erwartet/storno-rabatt.grid32.txt → expected/cancellation-discount.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-rabatt.grid48.txt → expected/cancellation-discount.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-voll.grid32.txt → expected/cancellation-full.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-voll.grid48.txt → expected/cancellation-full.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-teil.grid32.txt → expected/cancellation-partial.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-teil.grid48.txt → expected/cancellation-partial.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-voll.grid32.txt → expected/cancellation-split-full.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-voll.grid48.txt → expected/cancellation-split-full.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-teil.grid32.txt → expected/cancellation-split-partial.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-teil.grid48.txt → expected/cancellation-split-partial.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-eigener.grid32.txt → expected/card-custom.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-eigener.grid48.txt → expected/card-custom.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom-ios.grid32.txt → expected/card-gptom-ios.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom-ios.grid48.txt → expected/card-gptom-ios.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom.grid32.txt → expected/card-gptom.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom.grid48.txt → expected/card-gptom.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-cloud.grid32.txt → expected/card-hobex-cloud.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-cloud.grid48.txt → expected/card-hobex-cloud.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-hps.grid32.txt → expected/card-hobex-hps.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-hps.grid48.txt → expected/card-hobex-hps.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-mypos.grid32.txt → expected/card-mypos.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-mypos.grid48.txt → expected/card-mypos.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe-eps.grid32.txt → expected/card-stripe-eps.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe-eps.grid48.txt → expected/card-stripe-eps.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe.grid32.txt → expected/card-stripe.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe.grid48.txt → expected/card-stripe.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-sumup.grid32.txt → expected/card-sumup.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-sumup.grid48.txt → expected/card-sumup.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabattzeilen.grid32.txt → expected/discount-lines.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabattzeilen.grid48.txt → expected/discount-lines.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid32.txt → expected/discount-owner-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid48.txt → expected/discount-owner-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-einfach.grid32.txt → expected/discount-simple.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-einfach.grid48.txt → expected/discount-simple.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-trinkgeld.grid32.txt → expected/discount-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-trinkgeld.grid48.txt → expected/discount-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-wertgutschein.grid32.txt → expected/discount-value-voucher.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-wertgutschein.grid48.txt → expected/discount-value-voucher.grid48.txt} +0 -0
- /package/fixtures/{erwartet/logo-probe-hoch.raster32.txt → expected/logo-sample-tall.raster32.txt} +0 -0
- /package/fixtures/{erwartet/logo-probe.raster32.txt → expected/logo-sample.raster32.txt} +0 -0
- /package/fixtures/{erwartet/langer-artikelname.grid32.txt → expected/long-item-name.grid32.txt} +0 -0
- /package/fixtures/{erwartet/langer-artikelname.grid48.txt → expected/long-item-name.grid48.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-karte.grid32.txt → expected/sale-card.grid32.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-karte.grid48.txt → expected/sale-card.grid48.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-bar.grid32.txt → expected/sale-cash.grid32.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-bar.grid48.txt → expected/sale-cash.grid48.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid32.txt → expected/sale-small-business.grid32.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid48.txt → expected/sale-small-business.grid48.txt} +0 -0
- /package/fixtures/{erwartet/signaturausfall-verkauf.grid32.txt → expected/signature-outage-sale.grid32.txt} +0 -0
- /package/fixtures/{erwartet/signaturausfall-verkauf.grid48.txt → expected/signature-outage-sale.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-karte-karte-bar.grid32.txt → expected/split-card-card-cash.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-karte-karte-bar.grid48.txt → expected/split-card-card-cash.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-bar-rueckgeld.grid32.txt → expected/split-cash-change.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-bar-rueckgeld.grid48.txt → expected/split-cash-change.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-langer-betrag.grid32.txt → expected/split-long-amount.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-langer-betrag.grid48.txt → expected/split-long-amount.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid32.txt → expected/split-one-card-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid48.txt → expected/split-one-card-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid32.txt → expected/split-table-round-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid48.txt → expected/split-table-round-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-trinkgeld-karte.grid32.txt → expected/split-tip-card.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-trinkgeld-karte.grid48.txt → expected/split-tip-card.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid32.txt → expected/split-two-cards-same-provider.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid48.txt → expected/split-two-cards-same-provider.grid48.txt} +0 -0
- /package/fixtures/{erwartet/testkasse-verkauf.grid32.txt → expected/test-cashregister-sale.grid32.txt} +0 -0
- /package/fixtures/{erwartet/testkasse-verkauf.grid48.txt → expected/test-cashregister-sale.grid48.txt} +0 -0
- /package/fixtures/{erwartet/testsignatur-verkauf.grid32.txt → expected/test-signature-sale.grid32.txt} +0 -0
- /package/fixtures/{erwartet/testsignatur-verkauf.grid48.txt → expected/test-signature-sale.grid48.txt} +0 -0
- /package/fixtures/{erwartet → expected}/training.grid32.txt +0 -0
- /package/fixtures/{erwartet → expected}/training.grid48.txt +0 -0
- /package/fixtures/{erwartet/null-jahr.grid32.txt → expected/zero-annual.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-jahr.grid48.txt → expected/zero-annual.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-schluss.grid32.txt → expected/zero-final.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-schluss.grid48.txt → expected/zero-final.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-pruef.grid32.txt → expected/zero-manual.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-pruef.grid48.txt → expected/zero-manual.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-monat.grid32.txt → expected/zero-monthly.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-monat.grid48.txt → expected/zero-monthly.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-ausfall.grid32.txt → expected/zero-outage-end.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-ausfall.grid48.txt → expected/zero-outage-end.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-start.grid32.txt → expected/zero-start.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-start.grid48.txt → expected/zero-start.grid48.txt} +0 -0
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CANCELLATION_RESERVATION_MS = exports.CANCELLATION_ERROR_CODES = exports.CANCELLATION_REASONS = void 0;
|
|
3
|
+
exports.CANCELLATION_RESERVATION_MS = exports.CANCELLATION_STATUSES = exports.CANCELLATION_ERROR_CODES = exports.CANCELLATION_REASONS = void 0;
|
|
4
4
|
exports.isCancellationReason = isCancellationReason;
|
|
5
5
|
exports.isCancellationErrorCode = isCancellationErrorCode;
|
|
6
|
+
exports.cancellationErrorCode = cancellationErrorCode;
|
|
7
|
+
exports.isCancellationError = isCancellationError;
|
|
6
8
|
exports.remainingQuantities = remainingQuantities;
|
|
9
|
+
exports.cancellationFieldErrors = cancellationFieldErrors;
|
|
10
|
+
const fehlercodes_js_1 = require("../client/fehlercodes.js");
|
|
7
11
|
/**
|
|
8
12
|
* Storno-Metadaten — Zwilling von `functions/storno-core.js`.
|
|
9
13
|
*
|
|
@@ -13,65 +17,105 @@ exports.remainingQuantities = remainingQuantities;
|
|
|
13
17
|
* Storno-Beleg) und die Liste der Stornos am Original (`cancellations`), aus
|
|
14
18
|
* der sich die Restmengen ergeben.
|
|
15
19
|
*/
|
|
16
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Grund-Katalog: Codes wie unter `/v3` (Katalog `STORNO_GRUND` des
|
|
22
|
+
* Backends), Anzeigetext fuer Bon und Bedienung. Der Anzeigetext bleibt
|
|
23
|
+
* deutsch, er steht so am Beleg.
|
|
24
|
+
*/
|
|
17
25
|
exports.CANCELLATION_REASONS = Object.freeze({
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
input_error: 'Fehleingabe',
|
|
27
|
+
customer_cancelled: 'Kunde hat storniert',
|
|
28
|
+
wrong_payment_method: 'Falsche Zahlart',
|
|
29
|
+
duplicate: 'Doppelt erfasst',
|
|
30
|
+
other: 'Sonstiges',
|
|
23
31
|
});
|
|
24
32
|
function isCancellationReason(value) {
|
|
25
33
|
return typeof value === 'string' && Object.prototype.hasOwnProperty.call(exports.CANCELLATION_REASONS, value);
|
|
26
34
|
}
|
|
27
35
|
/**
|
|
28
|
-
* Stabile Fehlercodes von `cancelReceipt`
|
|
29
|
-
* `
|
|
36
|
+
* Stabile Fehlercodes von `cancelReceipt` unter `/v3` (Vokabular
|
|
37
|
+
* `errorCodes.cancellation`, gleiche Reihenfolge). Das Backend legt sie bei
|
|
30
38
|
* jedem fachlichen Fehler als `code` neben die Meldung; das Paket reicht sie
|
|
31
|
-
* als [KasseneckApiError.code] durch. **Entscheide am Code, nie am Text
|
|
39
|
+
* als [KasseneckApiError.code] durch. **Entscheide am Code, nie am Text:**
|
|
32
40
|
* die deutsche Meldung darf sich aendern, der Code nicht.
|
|
33
41
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
42
|
+
* Formfehler an `payments` selbst melden die Codes aus
|
|
43
|
+
* [PAYMENT_ERROR_CODES]. `cancellation_outcome_unknown` heisst: der Storno
|
|
44
|
+
* ist moeglicherweise gebucht (`outcome: 'unknown'`). Nie wiederholen,
|
|
45
|
+
* sondern das Original nachlesen (`getReceipt`, `cancellations[]`).
|
|
36
46
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* `
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* Die Werte hier sind die von `/v1` und intern. Unter `/v3` heissen die
|
|
45
|
-
* Storno-Codes nach dem /v3-Vokabular anders (`already_cancelled`,
|
|
46
|
-
* `cancellation_payments_required`, functions/gemeinsam/api-vokabular-v3.js);
|
|
47
|
-
* diese Namen kommen mit der Umstellung des Pakets auf `/v3`.
|
|
48
|
-
* [isCancellationErrorCode] prueft darum exakt.
|
|
47
|
+
* Dahinter (ab 1.0) die Codes, die Anmeldung und Rand auf diesem Endpunkt
|
|
48
|
+
* erzeugen koennen: `errorCodes.auth` ohne die sieben des Partner-Zugangs und
|
|
49
|
+
* `errorCodes.edge` (`not_found`, `dialect_mismatch`, `response_translation_failed`
|
|
50
|
+
* ...), zuletzt die Codes des Pakets (`route_missing`, `response_unreadable`).
|
|
51
|
+
* Die Zahlungscodes (`payment_method_not_supported` ...) stehen in
|
|
52
|
+
* [PAYMENT_ERROR_CODES]. Ein Code ausserhalb bleibt ueber
|
|
53
|
+
* `KasseneckApiError.code` lesbar.
|
|
49
54
|
*/
|
|
50
|
-
exports.CANCELLATION_ERROR_CODES = [
|
|
51
|
-
'
|
|
52
|
-
'
|
|
53
|
-
'
|
|
54
|
-
'
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'
|
|
63
|
-
'
|
|
64
|
-
'
|
|
65
|
-
//
|
|
66
|
-
'
|
|
67
|
-
'
|
|
68
|
-
'
|
|
69
|
-
'
|
|
70
|
-
|
|
71
|
-
|
|
55
|
+
exports.CANCELLATION_ERROR_CODES = Object.freeze([
|
|
56
|
+
'receipt_not_found', // Original fehlt oder gehoert nicht zu dieser Kasse
|
|
57
|
+
'receipt_type_not_cancellable', // Original ist selbst Storno-, Null- oder Startbeleg
|
|
58
|
+
'training_receipt', // Trainingsbelege werden nicht storniert
|
|
59
|
+
'already_cancelled', // keine Restmenge mehr
|
|
60
|
+
'invalid_line', // Index unbekannt oder doppelt
|
|
61
|
+
'quantity_exceeds_remaining', // Menge nicht ganzzahlig >= 1 oder groesser als der Rest
|
|
62
|
+
'unknown_reason', // reason fehlt oder nicht im Katalog
|
|
63
|
+
'note_too_long', // note laenger als 200 Zeichen
|
|
64
|
+
'invalid_items', // items ist keine Liste
|
|
65
|
+
'cashregister_not_assigned', // Kassen-Benutzer darf diese Kasse nicht
|
|
66
|
+
'not_permitted', // Kassen-Benutzer ohne Storno-Recht
|
|
67
|
+
'own_receipts_only', // Recht "eigene", fremder Beleg
|
|
68
|
+
'cashregister_incomplete', // api_key/token fehlen am Konto bzw. an der Kasse
|
|
69
|
+
'cancellation_failed', // der Storno-Beleg selbst wurde abgelehnt (z. B. Signatur)
|
|
70
|
+
'cancellation_payments_required', // Teilstorno eines Belegs mit mehreren Zahlungen ohne payments
|
|
71
|
+
'cancellation_refund_exceeds_payment', // Rueckzahlungen auf eine Zahlung uebersteigen deren Rest
|
|
72
|
+
'cancellation_refund_reference_required', // Karten-Rueckzahlung ohne refundOf einer Kartenzahlung
|
|
73
|
+
'cancellation_refund_reference_unknown', // refundOf nennt keine Zahlung des Originals
|
|
74
|
+
'cancellation_outcome_unknown', // Ausgang unklar: nachlesen, nie wiederholen
|
|
75
|
+
// Anmeldung und Rand (errorCodes.auth ohne Partner-Zugang, errorCodes.edge)
|
|
76
|
+
'account_not_found',
|
|
77
|
+
'admin_required',
|
|
78
|
+
'cashregister_not_found',
|
|
79
|
+
'cashregister_token_invalid',
|
|
80
|
+
'cashregister_token_missing',
|
|
81
|
+
'dialect_mismatch',
|
|
82
|
+
'internal_translation_error',
|
|
83
|
+
'live_not_enabled',
|
|
84
|
+
'method_not_allowed',
|
|
85
|
+
'mfa_required',
|
|
86
|
+
'not_found',
|
|
87
|
+
'register_user_no_business',
|
|
88
|
+
'register_user_not_allowed',
|
|
89
|
+
'register_user_not_found',
|
|
90
|
+
'response_translation_failed',
|
|
91
|
+
'session_expired',
|
|
92
|
+
'session_other_cashregister',
|
|
93
|
+
'unauthorized',
|
|
94
|
+
'user_disabled',
|
|
95
|
+
'user_verification_failed',
|
|
96
|
+
'validation',
|
|
97
|
+
// Codes des Pakets (CLIENT_ERROR_CODES)
|
|
98
|
+
'route_missing',
|
|
99
|
+
'response_unreadable',
|
|
100
|
+
]);
|
|
72
101
|
function isCancellationErrorCode(value) {
|
|
73
102
|
return typeof value === 'string' && exports.CANCELLATION_ERROR_CODES.includes(value);
|
|
74
103
|
}
|
|
104
|
+
const CANCELLATION_BEKANNT = new Set(exports.CANCELLATION_ERROR_CODES);
|
|
105
|
+
/** Der Code eines geworfenen Fehlers, wenn er in [CANCELLATION_ERROR_CODES] steht; sonst `undefined`. */
|
|
106
|
+
function cancellationErrorCode(error) {
|
|
107
|
+
return (0, fehlercodes_js_1.bekannterCode)(error, CANCELLATION_BEKANNT);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Kurzform fuer `catch (e) { if (isCancellationError(e, 'already_cancelled')) … }`.
|
|
111
|
+
* Ohne `code`: traegt der Fehler ueberhaupt einen Code aus [CANCELLATION_ERROR_CODES]?
|
|
112
|
+
*/
|
|
113
|
+
function isCancellationError(error, code) {
|
|
114
|
+
const gefunden = cancellationErrorCode(error);
|
|
115
|
+
return gefunden !== undefined && (code === undefined || gefunden === code);
|
|
116
|
+
}
|
|
117
|
+
/** Stornostand eines Belegs in der Belegliste (Katalog `STORNO_STAND`). */
|
|
118
|
+
exports.CANCELLATION_STATUSES = Object.freeze(['none', 'partial', 'full']);
|
|
75
119
|
/** Ab wann eine liegengebliebene Reservierung nicht mehr zaehlt (wie im Backend). */
|
|
76
120
|
exports.CANCELLATION_RESERVATION_MS = 120_000;
|
|
77
121
|
/**
|
|
@@ -92,3 +136,7 @@ function remainingQuantities(receipt, nowMs = Date.now()) {
|
|
|
92
136
|
}
|
|
93
137
|
return rest;
|
|
94
138
|
}
|
|
139
|
+
/** Die Feldfehler einer `validation`-Antwort; leer, wenn es keine sind. */
|
|
140
|
+
function cancellationFieldErrors(error) {
|
|
141
|
+
return (0, fehlercodes_js_1.feldfehlerVon)(error);
|
|
142
|
+
}
|
|
@@ -51,13 +51,13 @@ export interface HobexReceiptPayload {
|
|
|
51
51
|
tip: number;
|
|
52
52
|
cvm: string | number;
|
|
53
53
|
}
|
|
54
|
-
export declare function toHobexReceiptPayload(
|
|
54
|
+
export declare function toHobexReceiptPayload(receipt: HobexReceipt): HobexReceiptPayload;
|
|
55
55
|
export declare function fromHobexReceiptPayload(payload: HobexReceiptPayload): HobexReceipt;
|
|
56
56
|
/**
|
|
57
57
|
* Wandelt den Beleg in die `cardPaymentData`-Map, die auf dem Kasseneck-Beleg
|
|
58
58
|
* landet (siehe [Receipt.cardPaymentData]). Bei HPS-Zahlungen kommen weitere
|
|
59
59
|
* Felder dazu, die nur das lokale Terminal liefert.
|
|
60
60
|
*/
|
|
61
|
-
export declare function hobexReceiptToCardPaymentData(
|
|
61
|
+
export declare function hobexReceiptToCardPaymentData(receipt: HobexReceipt): Record<string, string>;
|
|
62
62
|
/** Kartenzahlung erfordert eine Unterschrift (CVM-Code `"1"`). */
|
|
63
|
-
export declare function hobexReceiptNeedsSignature(
|
|
63
|
+
export declare function hobexReceiptNeedsSignature(receipt: HobexReceipt): boolean;
|
|
@@ -6,25 +6,25 @@ exports.hobexReceiptToCardPaymentData = hobexReceiptToCardPaymentData;
|
|
|
6
6
|
exports.hobexReceiptNeedsSignature = hobexReceiptNeedsSignature;
|
|
7
7
|
const index_js_1 = require("../enums/index.js");
|
|
8
8
|
const money_js_1 = require("../money.js");
|
|
9
|
-
function toHobexReceiptPayload(
|
|
9
|
+
function toHobexReceiptPayload(receipt) {
|
|
10
10
|
return {
|
|
11
|
-
transactionId:
|
|
12
|
-
tid:
|
|
13
|
-
receipt:
|
|
14
|
-
approvalCode:
|
|
15
|
-
reference:
|
|
16
|
-
transactionDate:
|
|
17
|
-
cardNumber:
|
|
18
|
-
cardExpiry:
|
|
19
|
-
brand:
|
|
20
|
-
cardIssuer:
|
|
21
|
-
responseCode:
|
|
22
|
-
transactionType:
|
|
23
|
-
currency:
|
|
11
|
+
transactionId: receipt.transactionId,
|
|
12
|
+
tid: receipt.tid,
|
|
13
|
+
receipt: receipt.receipt,
|
|
14
|
+
approvalCode: receipt.approvalCode,
|
|
15
|
+
reference: receipt.reference ?? null,
|
|
16
|
+
transactionDate: receipt.transactionDate,
|
|
17
|
+
cardNumber: receipt.cardNumber,
|
|
18
|
+
cardExpiry: receipt.cardExpiry,
|
|
19
|
+
brand: receipt.brand,
|
|
20
|
+
cardIssuer: receipt.cardIssuer,
|
|
21
|
+
responseCode: receipt.responseCode,
|
|
22
|
+
transactionType: receipt.transactionType,
|
|
23
|
+
currency: receipt.currency,
|
|
24
24
|
// Euro-Umwandlung nur hier, an der Terminal-API-Grenze — siehe Kommentar oben.
|
|
25
|
-
amount: (0, money_js_1.centsToEuro)(
|
|
26
|
-
tip: (0, money_js_1.centsToEuro)(
|
|
27
|
-
cvm:
|
|
25
|
+
amount: (0, money_js_1.centsToEuro)(receipt.amountCents),
|
|
26
|
+
tip: (0, money_js_1.centsToEuro)(receipt.tipCents),
|
|
27
|
+
cvm: receipt.cvm,
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
function fromHobexReceiptPayload(payload) {
|
|
@@ -66,28 +66,28 @@ function fromHobexReceiptPayload(payload) {
|
|
|
66
66
|
* landet (siehe [Receipt.cardPaymentData]). Bei HPS-Zahlungen kommen weitere
|
|
67
67
|
* Felder dazu, die nur das lokale Terminal liefert.
|
|
68
68
|
*/
|
|
69
|
-
function hobexReceiptToCardPaymentData(
|
|
69
|
+
function hobexReceiptToCardPaymentData(receipt) {
|
|
70
70
|
const data = {
|
|
71
|
-
transactionId:
|
|
72
|
-
date:
|
|
73
|
-
tid:
|
|
74
|
-
no:
|
|
75
|
-
type:
|
|
76
|
-
cardBrand:
|
|
77
|
-
cardNumber:
|
|
78
|
-
responseCode:
|
|
79
|
-
cvm:
|
|
71
|
+
transactionId: receipt.transactionId,
|
|
72
|
+
date: receipt.transactionDate,
|
|
73
|
+
tid: receipt.tid,
|
|
74
|
+
no: receipt.receipt,
|
|
75
|
+
type: receipt.transactionType,
|
|
76
|
+
cardBrand: receipt.brand,
|
|
77
|
+
cardNumber: receipt.cardNumber,
|
|
78
|
+
responseCode: receipt.responseCode,
|
|
79
|
+
cvm: receipt.cvm,
|
|
80
80
|
};
|
|
81
|
-
if (
|
|
82
|
-
data.approvalCode =
|
|
83
|
-
data.cardExpiry =
|
|
84
|
-
data.cardIssuer =
|
|
85
|
-
data.amount = (0, money_js_1.centsToEuro)(
|
|
86
|
-
data.currency =
|
|
81
|
+
if (receipt.creditCardProvider === index_js_1.CreditCardProvider.hobexHps) {
|
|
82
|
+
data.approvalCode = receipt.approvalCode;
|
|
83
|
+
data.cardExpiry = receipt.cardExpiry;
|
|
84
|
+
data.cardIssuer = receipt.cardIssuer;
|
|
85
|
+
data.amount = (0, money_js_1.centsToEuro)(receipt.amountCents).toFixed(2);
|
|
86
|
+
data.currency = receipt.currency;
|
|
87
87
|
}
|
|
88
88
|
return data;
|
|
89
89
|
}
|
|
90
90
|
/** Kartenzahlung erfordert eine Unterschrift (CVM-Code `"1"`). */
|
|
91
|
-
function hobexReceiptNeedsSignature(
|
|
92
|
-
return
|
|
91
|
+
function hobexReceiptNeedsSignature(receipt) {
|
|
92
|
+
return receipt.cvm === '1';
|
|
93
93
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
export { type ReceiptItem, type ReceiptItemPayload, type ReceiptItemPayloadRead, toReceiptItemPayload, fromReceiptItemPayload, receiptItemTotalCents, receiptItemIsValid, negateReceiptItem, type TipRecipient, isTipItem, isDiscountItem, } from './receipt-item.js';
|
|
2
2
|
export { type Voucher, type VoucherPayload, toVoucherPayload, fromVoucherPayload, voucherIsValid } from './voucher.js';
|
|
3
|
-
export { type Receipt, type ReceiptPayload, type ReceiptPayloadRead, toReceiptPayload, fromReceiptPayload, receiptSubSumCents, receiptSumCents, } from './receipt.js';
|
|
4
|
-
export { type CancellationOf, type CancellationItem, type Cancellation, type CancellationReason, type CancellationErrorCode, CANCELLATION_REASONS, CANCELLATION_ERROR_CODES, CANCELLATION_RESERVATION_MS, isCancellationReason, isCancellationErrorCode, remainingQuantities, } from './cancellation.js';
|
|
3
|
+
export { type Receipt, type RegistrationInfo, type ReceiptPayload, type ReceiptPayloadRead, toReceiptPayload, fromReceiptPayload, readRegistrationInfo, receiptSubSumCents, receiptSumCents, } from './receipt.js';
|
|
4
|
+
export { type CancellationOf, type CancellationItem, type Cancellation, type CancellationReason, type CancellationErrorCode, type CancellationStatus, CANCELLATION_REASONS, CANCELLATION_STATUSES, CANCELLATION_ERROR_CODES, CANCELLATION_RESERVATION_MS, isCancellationReason, isCancellationErrorCode, cancellationErrorCode, isCancellationError, cancellationFieldErrors, type CancellationFieldError, remainingQuantities, } from './cancellation.js';
|
|
5
5
|
export { type ReceiptPayment, type ReceiptPaymentPayload, type ReceiptPaymentInput, fromReceiptPaymentPayload, toReceiptPaymentPayload, } from './receipt-payment.js';
|
|
6
|
-
export { type PaymentErrorCode, PAYMENT_ERROR_CODES, isPaymentErrorCode } from './payment-errors.js';
|
|
7
|
-
export { type ReceiptEmailErrorCode, RECEIPT_EMAIL_ERROR_CODES, isReceiptEmailErrorCode, } from './receipt-email.js';
|
|
6
|
+
export { type PaymentErrorCode, PAYMENT_ERROR_CODES, isPaymentErrorCode, paymentErrorCode, isPaymentError, paymentFieldErrors, type PaymentFieldError } from './payment-errors.js';
|
|
7
|
+
export { type ReceiptEmailErrorCode, type ReceiptEmailVia, RECEIPT_EMAIL_ERROR_CODES, RECEIPT_EMAIL_SEND_ERROR_CODES, type ReceiptEmailSendErrorCode, RECEIPT_EMAIL_VIAS, isReceiptEmailErrorCode, receiptEmailErrorCode, isReceiptEmailError, receiptEmailFieldErrors, type ReceiptEmailFieldError, } from './receipt-email.js';
|
|
8
|
+
export { type ReceiptErrorCode, type ReceiptFieldError, RECEIPT_ERROR_CODES, isReceiptErrorCode, receiptErrorCode, isReceiptError, receiptFieldErrors, } from './receipt-errors.js';
|
|
8
9
|
export { type ReceiptCompany, type ReceiptCompanyPayload, fromReceiptCompanyPayload, receiptCompanyTaxInfo, } from './receipt-company.js';
|
|
9
10
|
export { type Cashregister, type CashregisterOnboarding, type CashregisterPayload, type CashregisterOnboardingPayload, fromCashregisterPayload, } from './cashregister.js';
|
|
10
|
-
export { type ReceiptSummary, type ReceiptSummaryPayload, fromReceiptSummaryPayload, type ZeroKind, ZERO_KINDS,
|
|
11
|
+
export { type ReceiptSummary, type ReceiptSummaryPayload, fromReceiptSummaryPayload, type ZeroKind, ZERO_KINDS, isZeroKind } from './receipt-summary.js';
|
|
11
12
|
export { type ReportMonth, reportMonthFromDate, previousReportMonth, nextReportMonth, reportMonthKey, reportMonthReadable, } from './report-month.js';
|
|
12
13
|
export { type StripeUrlSession, type StripeUrlSessionPayload, toStripeUrlSessionPayload, fromStripeUrlSessionPayload, } from './stripe-url-session.js';
|
|
13
14
|
export { type HobexReceipt, type HobexReceiptPayload, toHobexReceiptPayload, fromHobexReceiptPayload, hobexReceiptToCardPaymentData, hobexReceiptNeedsSignature, } from './hobex-receipt.js';
|
package/dist/cjs/models/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isZeroKind = exports.ZERO_KINDS = exports.fromReceiptSummaryPayload = exports.fromCashregisterPayload = exports.receiptCompanyTaxInfo = exports.fromReceiptCompanyPayload = exports.receiptFieldErrors = exports.isReceiptError = exports.receiptErrorCode = exports.isReceiptErrorCode = exports.RECEIPT_ERROR_CODES = exports.receiptEmailFieldErrors = exports.isReceiptEmailError = exports.receiptEmailErrorCode = exports.isReceiptEmailErrorCode = exports.RECEIPT_EMAIL_VIAS = exports.RECEIPT_EMAIL_SEND_ERROR_CODES = exports.RECEIPT_EMAIL_ERROR_CODES = exports.paymentFieldErrors = exports.isPaymentError = exports.paymentErrorCode = exports.isPaymentErrorCode = exports.PAYMENT_ERROR_CODES = exports.toReceiptPaymentPayload = exports.fromReceiptPaymentPayload = exports.remainingQuantities = exports.cancellationFieldErrors = exports.isCancellationError = exports.cancellationErrorCode = exports.isCancellationErrorCode = exports.isCancellationReason = exports.CANCELLATION_RESERVATION_MS = exports.CANCELLATION_ERROR_CODES = exports.CANCELLATION_STATUSES = exports.CANCELLATION_REASONS = exports.receiptSumCents = exports.receiptSubSumCents = exports.readRegistrationInfo = exports.fromReceiptPayload = exports.toReceiptPayload = exports.voucherIsValid = exports.fromVoucherPayload = exports.toVoucherPayload = exports.isDiscountItem = exports.isTipItem = exports.negateReceiptItem = exports.receiptItemIsValid = exports.receiptItemTotalCents = exports.fromReceiptItemPayload = exports.toReceiptItemPayload = void 0;
|
|
4
|
+
exports.hobexReceiptNeedsSignature = exports.hobexReceiptToCardPaymentData = exports.fromHobexReceiptPayload = exports.toHobexReceiptPayload = exports.fromStripeUrlSessionPayload = exports.toStripeUrlSessionPayload = exports.reportMonthReadable = exports.reportMonthKey = exports.nextReportMonth = exports.previousReportMonth = exports.reportMonthFromDate = void 0;
|
|
4
5
|
var receipt_item_js_1 = require("./receipt-item.js");
|
|
5
6
|
Object.defineProperty(exports, "toReceiptItemPayload", { enumerable: true, get: function () { return receipt_item_js_1.toReceiptItemPayload; } });
|
|
6
7
|
Object.defineProperty(exports, "fromReceiptItemPayload", { enumerable: true, get: function () { return receipt_item_js_1.fromReceiptItemPayload; } });
|
|
@@ -16,14 +17,19 @@ Object.defineProperty(exports, "voucherIsValid", { enumerable: true, get: functi
|
|
|
16
17
|
var receipt_js_1 = require("./receipt.js");
|
|
17
18
|
Object.defineProperty(exports, "toReceiptPayload", { enumerable: true, get: function () { return receipt_js_1.toReceiptPayload; } });
|
|
18
19
|
Object.defineProperty(exports, "fromReceiptPayload", { enumerable: true, get: function () { return receipt_js_1.fromReceiptPayload; } });
|
|
20
|
+
Object.defineProperty(exports, "readRegistrationInfo", { enumerable: true, get: function () { return receipt_js_1.readRegistrationInfo; } });
|
|
19
21
|
Object.defineProperty(exports, "receiptSubSumCents", { enumerable: true, get: function () { return receipt_js_1.receiptSubSumCents; } });
|
|
20
22
|
Object.defineProperty(exports, "receiptSumCents", { enumerable: true, get: function () { return receipt_js_1.receiptSumCents; } });
|
|
21
23
|
var cancellation_js_1 = require("./cancellation.js");
|
|
22
24
|
Object.defineProperty(exports, "CANCELLATION_REASONS", { enumerable: true, get: function () { return cancellation_js_1.CANCELLATION_REASONS; } });
|
|
25
|
+
Object.defineProperty(exports, "CANCELLATION_STATUSES", { enumerable: true, get: function () { return cancellation_js_1.CANCELLATION_STATUSES; } });
|
|
23
26
|
Object.defineProperty(exports, "CANCELLATION_ERROR_CODES", { enumerable: true, get: function () { return cancellation_js_1.CANCELLATION_ERROR_CODES; } });
|
|
24
27
|
Object.defineProperty(exports, "CANCELLATION_RESERVATION_MS", { enumerable: true, get: function () { return cancellation_js_1.CANCELLATION_RESERVATION_MS; } });
|
|
25
28
|
Object.defineProperty(exports, "isCancellationReason", { enumerable: true, get: function () { return cancellation_js_1.isCancellationReason; } });
|
|
26
29
|
Object.defineProperty(exports, "isCancellationErrorCode", { enumerable: true, get: function () { return cancellation_js_1.isCancellationErrorCode; } });
|
|
30
|
+
Object.defineProperty(exports, "cancellationErrorCode", { enumerable: true, get: function () { return cancellation_js_1.cancellationErrorCode; } });
|
|
31
|
+
Object.defineProperty(exports, "isCancellationError", { enumerable: true, get: function () { return cancellation_js_1.isCancellationError; } });
|
|
32
|
+
Object.defineProperty(exports, "cancellationFieldErrors", { enumerable: true, get: function () { return cancellation_js_1.cancellationFieldErrors; } });
|
|
27
33
|
Object.defineProperty(exports, "remainingQuantities", { enumerable: true, get: function () { return cancellation_js_1.remainingQuantities; } });
|
|
28
34
|
var receipt_payment_js_1 = require("./receipt-payment.js");
|
|
29
35
|
Object.defineProperty(exports, "fromReceiptPaymentPayload", { enumerable: true, get: function () { return receipt_payment_js_1.fromReceiptPaymentPayload; } });
|
|
@@ -31,9 +37,23 @@ Object.defineProperty(exports, "toReceiptPaymentPayload", { enumerable: true, ge
|
|
|
31
37
|
var payment_errors_js_1 = require("./payment-errors.js");
|
|
32
38
|
Object.defineProperty(exports, "PAYMENT_ERROR_CODES", { enumerable: true, get: function () { return payment_errors_js_1.PAYMENT_ERROR_CODES; } });
|
|
33
39
|
Object.defineProperty(exports, "isPaymentErrorCode", { enumerable: true, get: function () { return payment_errors_js_1.isPaymentErrorCode; } });
|
|
40
|
+
Object.defineProperty(exports, "paymentErrorCode", { enumerable: true, get: function () { return payment_errors_js_1.paymentErrorCode; } });
|
|
41
|
+
Object.defineProperty(exports, "isPaymentError", { enumerable: true, get: function () { return payment_errors_js_1.isPaymentError; } });
|
|
42
|
+
Object.defineProperty(exports, "paymentFieldErrors", { enumerable: true, get: function () { return payment_errors_js_1.paymentFieldErrors; } });
|
|
34
43
|
var receipt_email_js_1 = require("./receipt-email.js");
|
|
35
44
|
Object.defineProperty(exports, "RECEIPT_EMAIL_ERROR_CODES", { enumerable: true, get: function () { return receipt_email_js_1.RECEIPT_EMAIL_ERROR_CODES; } });
|
|
45
|
+
Object.defineProperty(exports, "RECEIPT_EMAIL_SEND_ERROR_CODES", { enumerable: true, get: function () { return receipt_email_js_1.RECEIPT_EMAIL_SEND_ERROR_CODES; } });
|
|
46
|
+
Object.defineProperty(exports, "RECEIPT_EMAIL_VIAS", { enumerable: true, get: function () { return receipt_email_js_1.RECEIPT_EMAIL_VIAS; } });
|
|
36
47
|
Object.defineProperty(exports, "isReceiptEmailErrorCode", { enumerable: true, get: function () { return receipt_email_js_1.isReceiptEmailErrorCode; } });
|
|
48
|
+
Object.defineProperty(exports, "receiptEmailErrorCode", { enumerable: true, get: function () { return receipt_email_js_1.receiptEmailErrorCode; } });
|
|
49
|
+
Object.defineProperty(exports, "isReceiptEmailError", { enumerable: true, get: function () { return receipt_email_js_1.isReceiptEmailError; } });
|
|
50
|
+
Object.defineProperty(exports, "receiptEmailFieldErrors", { enumerable: true, get: function () { return receipt_email_js_1.receiptEmailFieldErrors; } });
|
|
51
|
+
var receipt_errors_js_1 = require("./receipt-errors.js");
|
|
52
|
+
Object.defineProperty(exports, "RECEIPT_ERROR_CODES", { enumerable: true, get: function () { return receipt_errors_js_1.RECEIPT_ERROR_CODES; } });
|
|
53
|
+
Object.defineProperty(exports, "isReceiptErrorCode", { enumerable: true, get: function () { return receipt_errors_js_1.isReceiptErrorCode; } });
|
|
54
|
+
Object.defineProperty(exports, "receiptErrorCode", { enumerable: true, get: function () { return receipt_errors_js_1.receiptErrorCode; } });
|
|
55
|
+
Object.defineProperty(exports, "isReceiptError", { enumerable: true, get: function () { return receipt_errors_js_1.isReceiptError; } });
|
|
56
|
+
Object.defineProperty(exports, "receiptFieldErrors", { enumerable: true, get: function () { return receipt_errors_js_1.receiptFieldErrors; } });
|
|
37
57
|
var receipt_company_js_1 = require("./receipt-company.js");
|
|
38
58
|
Object.defineProperty(exports, "fromReceiptCompanyPayload", { enumerable: true, get: function () { return receipt_company_js_1.fromReceiptCompanyPayload; } });
|
|
39
59
|
Object.defineProperty(exports, "receiptCompanyTaxInfo", { enumerable: true, get: function () { return receipt_company_js_1.receiptCompanyTaxInfo; } });
|
|
@@ -42,7 +62,7 @@ Object.defineProperty(exports, "fromCashregisterPayload", { enumerable: true, ge
|
|
|
42
62
|
var receipt_summary_js_1 = require("./receipt-summary.js");
|
|
43
63
|
Object.defineProperty(exports, "fromReceiptSummaryPayload", { enumerable: true, get: function () { return receipt_summary_js_1.fromReceiptSummaryPayload; } });
|
|
44
64
|
Object.defineProperty(exports, "ZERO_KINDS", { enumerable: true, get: function () { return receipt_summary_js_1.ZERO_KINDS; } });
|
|
45
|
-
Object.defineProperty(exports, "
|
|
65
|
+
Object.defineProperty(exports, "isZeroKind", { enumerable: true, get: function () { return receipt_summary_js_1.isZeroKind; } });
|
|
46
66
|
var report_month_js_1 = require("./report-month.js");
|
|
47
67
|
Object.defineProperty(exports, "reportMonthFromDate", { enumerable: true, get: function () { return report_month_js_1.reportMonthFromDate; } });
|
|
48
68
|
Object.defineProperty(exports, "previousReportMonth", { enumerable: true, get: function () { return report_month_js_1.previousReportMonth; } });
|
|
@@ -1,22 +1,39 @@
|
|
|
1
|
+
import { KasseneckApiError } from '../client/errors.js';
|
|
1
2
|
/**
|
|
2
|
-
* Mehrere Zahlungen je Beleg
|
|
3
|
-
* `
|
|
4
|
-
* Codes, gleiche Reihenfolge).
|
|
3
|
+
* Mehrere Zahlungen je Beleg: Fehlercodes unter `/v3` (Vokabular
|
|
4
|
+
* `errorCodes.payments`, gleiche Codes, gleiche Reihenfolge).
|
|
5
5
|
*
|
|
6
6
|
* `createReceipt` und `cancelReceipt` legen sie bei jedem Fehler rund um
|
|
7
|
-
* `payments`
|
|
8
|
-
*
|
|
9
|
-
* [KasseneckApiError.code] durch. **Entscheide am Code, nie am Text** — die
|
|
7
|
+
* `payments` als `code` neben die Meldung; das Paket reicht sie als
|
|
8
|
+
* [KasseneckApiError.code] durch. **Entscheide am Code, nie am Text:** die
|
|
10
9
|
* deutsche Meldung darf sich aendern, der Code nicht.
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
11
|
+
* `payments_sum_mismatch` traegt den Zahlbetrag des Servers in
|
|
12
|
+
* `details.expectedCents` (siehe [paymentsExpectedCents]). Der Fehler
|
|
13
|
+
* verbraucht keine Belegnummer; das Paket wiederholt trotzdem nie selbst,
|
|
14
|
+
* denn eine Kartenzahlung ist schon belastet.
|
|
15
|
+
*
|
|
16
|
+
* Dahinter (ab 1.0) die Codes, die Anmeldung und Rand auf diesem Endpunkt
|
|
17
|
+
* erzeugen koennen: `errorCodes.auth` ohne die sieben des Partner-Zugangs und
|
|
18
|
+
* `errorCodes.edge` (`not_found`, `dialect_mismatch`, `response_translation_failed`
|
|
19
|
+
* ...) und zuletzt `route_missing` (Code des Pakets). Ein Code ausserhalb
|
|
20
|
+
* bleibt ueber `KasseneckApiError.code` lesbar.
|
|
18
21
|
*/
|
|
19
|
-
export declare const PAYMENT_ERROR_CODES: readonly ["
|
|
22
|
+
export declare const PAYMENT_ERROR_CODES: readonly ["payments_invalid", "payment_method_invalid", "payment_amount_invalid", "payment_tendered_invalid", "payment_provider_invalid", "payment_provider_not_allowed", "payments_sum_mismatch", "payments_due_negative", "payments_not_allowed", "payments_conflict", "payments_required", "payment_method_not_supported", "tip_payment_method_invalid", "tip_payment_method_required", "tip_exceeds_payment", "payment_refund_not_allowed", "payment_tip_invalid", "tip_conflict", "account_not_found", "admin_required", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
|
|
20
23
|
export type PaymentErrorCode = (typeof PAYMENT_ERROR_CODES)[number];
|
|
21
|
-
/** Erkennt einen Code aus [PAYMENT_ERROR_CODES]
|
|
22
|
-
export declare function isPaymentErrorCode(value: unknown): value is PaymentErrorCode
|
|
24
|
+
/** Erkennt einen Code aus [PAYMENT_ERROR_CODES], exakt (klein, wie unter `/v3`). */
|
|
25
|
+
export declare function isPaymentErrorCode(value: unknown): value is PaymentErrorCode;
|
|
26
|
+
/** Der Code eines geworfenen Fehlers, wenn er in [PAYMENT_ERROR_CODES] steht; sonst `undefined`. */
|
|
27
|
+
export declare function paymentErrorCode(error: unknown): PaymentErrorCode | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Kurzform fuer `catch (e) { if (isPaymentError(e, 'payments_sum_mismatch')) … }`.
|
|
30
|
+
* Ohne `code`: traegt der Fehler ueberhaupt einen Code aus [PAYMENT_ERROR_CODES]?
|
|
31
|
+
*/
|
|
32
|
+
export declare function isPaymentError(error: unknown, code?: PaymentErrorCode): error is KasseneckApiError;
|
|
33
|
+
/** Ein Feldfehler aus `data.errors[]` einer `validation`-Antwort von `payments[]`. */
|
|
34
|
+
export interface PaymentFieldError {
|
|
35
|
+
field: string;
|
|
36
|
+
message: string;
|
|
37
|
+
}
|
|
38
|
+
/** Die Feldfehler einer `validation`-Antwort; leer, wenn es keine sind. */
|
|
39
|
+
export declare function paymentFieldErrors(error: unknown): PaymentFieldError[];
|
|
@@ -2,45 +2,93 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PAYMENT_ERROR_CODES = void 0;
|
|
4
4
|
exports.isPaymentErrorCode = isPaymentErrorCode;
|
|
5
|
+
exports.paymentErrorCode = paymentErrorCode;
|
|
6
|
+
exports.isPaymentError = isPaymentError;
|
|
7
|
+
exports.paymentFieldErrors = paymentFieldErrors;
|
|
8
|
+
const fehlercodes_js_1 = require("../client/fehlercodes.js");
|
|
5
9
|
/**
|
|
6
|
-
* Mehrere Zahlungen je Beleg
|
|
7
|
-
* `
|
|
8
|
-
* Codes, gleiche Reihenfolge).
|
|
10
|
+
* Mehrere Zahlungen je Beleg: Fehlercodes unter `/v3` (Vokabular
|
|
11
|
+
* `errorCodes.payments`, gleiche Codes, gleiche Reihenfolge).
|
|
9
12
|
*
|
|
10
13
|
* `createReceipt` und `cancelReceipt` legen sie bei jedem Fehler rund um
|
|
11
|
-
* `payments`
|
|
12
|
-
*
|
|
13
|
-
* [KasseneckApiError.code] durch. **Entscheide am Code, nie am Text** — die
|
|
14
|
+
* `payments` als `code` neben die Meldung; das Paket reicht sie als
|
|
15
|
+
* [KasseneckApiError.code] durch. **Entscheide am Code, nie am Text:** die
|
|
14
16
|
* deutsche Meldung darf sich aendern, der Code nicht.
|
|
15
17
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
18
|
+
* `payments_sum_mismatch` traegt den Zahlbetrag des Servers in
|
|
19
|
+
* `details.expectedCents` (siehe [paymentsExpectedCents]). Der Fehler
|
|
20
|
+
* verbraucht keine Belegnummer; das Paket wiederholt trotzdem nie selbst,
|
|
21
|
+
* denn eine Kartenzahlung ist schon belastet.
|
|
22
|
+
*
|
|
23
|
+
* Dahinter (ab 1.0) die Codes, die Anmeldung und Rand auf diesem Endpunkt
|
|
24
|
+
* erzeugen koennen: `errorCodes.auth` ohne die sieben des Partner-Zugangs und
|
|
25
|
+
* `errorCodes.edge` (`not_found`, `dialect_mismatch`, `response_translation_failed`
|
|
26
|
+
* ...) und zuletzt `route_missing` (Code des Pakets). Ein Code ausserhalb
|
|
27
|
+
* bleibt ueber `KasseneckApiError.code` lesbar.
|
|
22
28
|
*/
|
|
23
29
|
exports.PAYMENT_ERROR_CODES = Object.freeze([
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
'
|
|
27
|
-
'
|
|
28
|
-
'
|
|
29
|
-
'
|
|
30
|
-
'
|
|
31
|
-
'
|
|
32
|
-
'
|
|
33
|
-
'
|
|
34
|
-
'
|
|
35
|
-
'
|
|
36
|
-
'
|
|
37
|
-
'
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
'
|
|
41
|
-
'
|
|
30
|
+
'payments_invalid', // payments ist keine Liste oder hat mehr als 20 Eintraege
|
|
31
|
+
'payment_method_invalid', // Zahlart unbekannt oder mixed
|
|
32
|
+
'payment_amount_invalid', // amountCents keine Ganzzahl, 0 oder falsches Vorzeichen
|
|
33
|
+
'payment_tendered_invalid', // tenderedCents an Nicht-Bar-Zahlung, zu klein oder am Storno
|
|
34
|
+
'payment_provider_invalid', // Karte ohne/mit unbekanntem provider, providerPaymentId fehlt
|
|
35
|
+
'payment_provider_not_allowed', // Anbieterfelder an einer Zahlung, die weder Karte noch online ist
|
|
36
|
+
'payments_sum_mismatch', // Summe != Zahlbetrag (details.expectedCents)
|
|
37
|
+
'payments_due_negative', // Zahlbetrag < 0 (Wertgutschein groesser als der Beleg)
|
|
38
|
+
'payments_not_allowed', // Null-/Startbeleg mit Zahlungen
|
|
39
|
+
'payments_conflict', // payments zusammen mit paymentMethod oder Kartenfeldern
|
|
40
|
+
'payments_required', // ohne payments
|
|
41
|
+
'payment_method_not_supported', // paymentMethod/Kartenfelder am Beleg
|
|
42
|
+
'tip_payment_method_invalid', // Trinkgeld-Zahlart kommt in payments nicht vor
|
|
43
|
+
'tip_payment_method_required', // mehrere Zahlarten, tip.paymentMethod fehlt
|
|
44
|
+
'tip_exceeds_payment', // Trinkgeld uebersteigt die Zahlungen seiner Zahlart
|
|
45
|
+
'payment_refund_not_allowed', // refundOf ausserhalb eines Stornos oder kein String
|
|
46
|
+
'payment_tip_invalid', // tipCents keine Ganzzahl, <= 0, > amountCents oder nicht am Verkauf
|
|
47
|
+
'tip_conflict', // tip und payments[].tipCents zugleich
|
|
48
|
+
// Anmeldung und Rand (errorCodes.auth ohne Partner-Zugang, errorCodes.edge)
|
|
49
|
+
'account_not_found',
|
|
50
|
+
'admin_required',
|
|
51
|
+
'cashregister_not_assigned',
|
|
52
|
+
'cashregister_not_found',
|
|
53
|
+
'cashregister_token_invalid',
|
|
54
|
+
'cashregister_token_missing',
|
|
55
|
+
'dialect_mismatch',
|
|
56
|
+
'internal_translation_error',
|
|
57
|
+
'live_not_enabled',
|
|
58
|
+
'method_not_allowed',
|
|
59
|
+
'mfa_required',
|
|
60
|
+
'not_found',
|
|
61
|
+
'register_user_no_business',
|
|
62
|
+
'register_user_not_allowed',
|
|
63
|
+
'register_user_not_found',
|
|
64
|
+
'response_translation_failed',
|
|
65
|
+
'session_expired',
|
|
66
|
+
'session_other_cashregister',
|
|
67
|
+
'unauthorized',
|
|
68
|
+
'user_disabled',
|
|
69
|
+
'user_verification_failed',
|
|
70
|
+
'validation',
|
|
71
|
+
// Code des Pakets (CLIENT_ERROR_CODES; response_unreadable nur an signierenden Aufrufen)
|
|
72
|
+
'route_missing',
|
|
42
73
|
]);
|
|
43
|
-
/** Erkennt einen Code aus [PAYMENT_ERROR_CODES]
|
|
74
|
+
/** Erkennt einen Code aus [PAYMENT_ERROR_CODES], exakt (klein, wie unter `/v3`). */
|
|
44
75
|
function isPaymentErrorCode(value) {
|
|
45
|
-
return typeof value === 'string' && exports.PAYMENT_ERROR_CODES.includes(value
|
|
76
|
+
return typeof value === 'string' && exports.PAYMENT_ERROR_CODES.includes(value);
|
|
77
|
+
}
|
|
78
|
+
const PAYMENT_BEKANNT = new Set(exports.PAYMENT_ERROR_CODES);
|
|
79
|
+
/** Der Code eines geworfenen Fehlers, wenn er in [PAYMENT_ERROR_CODES] steht; sonst `undefined`. */
|
|
80
|
+
function paymentErrorCode(error) {
|
|
81
|
+
return (0, fehlercodes_js_1.bekannterCode)(error, PAYMENT_BEKANNT);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Kurzform fuer `catch (e) { if (isPaymentError(e, 'payments_sum_mismatch')) … }`.
|
|
85
|
+
* Ohne `code`: traegt der Fehler ueberhaupt einen Code aus [PAYMENT_ERROR_CODES]?
|
|
86
|
+
*/
|
|
87
|
+
function isPaymentError(error, code) {
|
|
88
|
+
const gefunden = paymentErrorCode(error);
|
|
89
|
+
return gefunden !== undefined && (code === undefined || gefunden === code);
|
|
90
|
+
}
|
|
91
|
+
/** Die Feldfehler einer `validation`-Antwort; leer, wenn es keine sind. */
|
|
92
|
+
function paymentFieldErrors(error) {
|
|
93
|
+
return (0, fehlercodes_js_1.feldfehlerVon)(error);
|
|
46
94
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* (`toMetadataJson`/`fromMetadata`).
|
|
5
5
|
*
|
|
6
6
|
* Das Backend liefert sie **neben** dem Beleg: `getReceipt` und `createReceipt`
|
|
7
|
-
* legen Firma, Anschrift, Steuernummer, UID
|
|
7
|
+
* legen Firma, Anschrift, Steuernummer (`taxNumber`), UID (`vatId`),
|
|
8
|
+
* Fusszeilen, Logo-Adresse und das
|
|
8
9
|
* Kleinunternehmer-Kennzeichen direkt in die Antwort (functions/index.js).
|
|
9
10
|
* Zum RKSV-Kernbeleg gehoeren sie nicht — sie betreffen ausschliesslich die
|
|
10
11
|
* Darstellung. Deshalb stehen sie hier als eigenes Modell und nicht in
|
|
@@ -23,9 +24,9 @@ export interface ReceiptCompany {
|
|
|
23
24
|
city: string;
|
|
24
25
|
phone: string;
|
|
25
26
|
/** UID (Umsatzsteuer-Identifikationsnummer); fehlt bei Kleinunternehmern. */
|
|
26
|
-
|
|
27
|
+
vatId?: string;
|
|
27
28
|
/** Steuernummer des Finanzamts. */
|
|
28
|
-
|
|
29
|
+
taxNumber: string;
|
|
29
30
|
/** Kleinunternehmer nach § 6 Abs 1 Z 27 UStG (keine USt im Ausweis). */
|
|
30
31
|
isSmallBusiness: boolean;
|
|
31
32
|
footer1: string;
|
|
@@ -51,8 +52,8 @@ export interface ReceiptCompanyPayload {
|
|
|
51
52
|
zip?: string | null;
|
|
52
53
|
city?: string | null;
|
|
53
54
|
phone?: string | null;
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
vatId?: string | null;
|
|
56
|
+
taxNumber?: string | null;
|
|
56
57
|
is_small_business?: boolean | null;
|
|
57
58
|
footer1?: string | null;
|
|
58
59
|
footer2?: string | null;
|