@kreiseck/kasseneck-api 0.11.0 → 0.12.0
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 +20 -0
- package/dist/cjs/client/receipts.d.ts +8 -0
- package/dist/cjs/client/receipts.js +18 -0
- package/dist/esm/client/receipts.d.ts +8 -0
- package/dist/esm/client/receipts.js +18 -0
- package/fixtures/hobex-hps-codes.json +1 -1
- package/fixtures/kasse-texte.json +1 -1
- package/fixtures/oberflaeche.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,26 @@ Was vor 0.7.0 geschah, steht in der Commit-Historie (`git log`); ab hier wird
|
|
|
4
4
|
es hier geführt. Ein Eintrag nennt die Änderung **und ihren Grund** —
|
|
5
5
|
nur der Grund überlebt den nächsten Umbau.
|
|
6
6
|
|
|
7
|
+
## 0.12.0
|
|
8
|
+
|
|
9
|
+
### Storno mit Kartendaten der Erstattung
|
|
10
|
+
|
|
11
|
+
**Anlass:** sastre zieht vom alten Storno-Weg (`createCancelReceipt`, ohne
|
|
12
|
+
Bezug) auf `cancelReceipt` um. Bei einer Kartenerstattung haengt sastre heute
|
|
13
|
+
die Terminaldaten der Gutschrift/Aufhebung an den Stornobeleg -- ueber den
|
|
14
|
+
neuen Endpunkt ging das bisher nicht, der Kartenblock fiele vom Storno-Bon.
|
|
15
|
+
Backend: keck#371.
|
|
16
|
+
|
|
17
|
+
- **`cancelReceipt` nimmt `creditCardProvider`, `cardPaymentId` und
|
|
18
|
+
`cardPaymentData` an** -- die Daten der ERSTATTUNG, nie der Originalzahlung.
|
|
19
|
+
Nur bei Rueckzahlweg Karte: ein ausdruecklich anderer `paymentMethod` wird
|
|
20
|
+
schon hier abgewiesen, ohne Angabe entscheidet das Backend an der
|
|
21
|
+
Zahlungsart des Originals. Ein unbekannter Kartenanbieter geht gar nicht erst
|
|
22
|
+
raus.
|
|
23
|
+
- Ohne Kartendaten aendert sich nichts.
|
|
24
|
+
- `package-lock.json` traegt wieder die Paketversion (stand seit 0.11.0 auf
|
|
25
|
+
0.10.0).
|
|
26
|
+
|
|
7
27
|
## 0.11.0
|
|
8
28
|
|
|
9
29
|
### Die QR-Modulgröße wird gerechnet, nicht gesetzt — samt Notausgang und Modell 1
|
|
@@ -117,6 +117,14 @@ export type CancelReceiptOptions = {
|
|
|
117
117
|
note?: string;
|
|
118
118
|
/** Rueckzahlweg; ohne Angabe die Zahlungsart des stornierten Belegs. */
|
|
119
119
|
paymentMethod?: KeckPaymentMethod | KeckPaymentMethodKey;
|
|
120
|
+
/**
|
|
121
|
+
* Kartendaten der ERSTATTUNG (Gutschrift oder Aufhebung am Terminal) fuer
|
|
122
|
+
* den Kartenblock am Storno-Bon -- nur bei Rueckzahlweg Karte. Beschreiben
|
|
123
|
+
* nie die Originalzahlung; das Backend uebernimmt sie nicht vom Original.
|
|
124
|
+
*/
|
|
125
|
+
creditCardProvider?: CreditCardProvider;
|
|
126
|
+
cardPaymentId?: string;
|
|
127
|
+
cardPaymentData?: Record<string, unknown>;
|
|
120
128
|
} & ({
|
|
121
129
|
receipt: Receipt;
|
|
122
130
|
cashregisterId?: string;
|
|
@@ -154,6 +154,24 @@ async function cancelReceipt(rufen, options) {
|
|
|
154
154
|
params.note = options.note;
|
|
155
155
|
if (options.paymentMethod != null)
|
|
156
156
|
params.paymentMethod = gepruefteZahlungsart(options.paymentMethod);
|
|
157
|
+
const karte = options.creditCardProvider != null || options.cardPaymentId != null || options.cardPaymentData != null;
|
|
158
|
+
if (karte) {
|
|
159
|
+
// Ohne paymentMethod entscheidet das Backend an der Zahlungsart des
|
|
160
|
+
// Originals; ein ausdruecklich anderer Rueckzahlweg ist hier schon falsch.
|
|
161
|
+
if (params.paymentMethod != null && params.paymentMethod !== index_js_1.KeckPaymentMethod.creditCard.value) {
|
|
162
|
+
throw new errors_js_1.KasseneckValidationError('cancelReceipt', 'Kartendaten gibt es nur bei paymentMethod creditCard', 'request');
|
|
163
|
+
}
|
|
164
|
+
if (options.creditCardProvider != null) {
|
|
165
|
+
if (!Object.prototype.hasOwnProperty.call(index_js_1.CreditCardProvider, options.creditCardProvider)) {
|
|
166
|
+
throw new errors_js_1.KasseneckValidationError('cancelReceipt', `Kartenanbieter: unbekannter Schluessel "${options.creditCardProvider}"`, 'request');
|
|
167
|
+
}
|
|
168
|
+
params.creditCardProvider = options.creditCardProvider;
|
|
169
|
+
}
|
|
170
|
+
if (options.cardPaymentId != null && options.cardPaymentId !== '')
|
|
171
|
+
params.cardPaymentId = options.cardPaymentId;
|
|
172
|
+
if (options.cardPaymentData != null)
|
|
173
|
+
params.cardPaymentData = options.cardPaymentData;
|
|
174
|
+
}
|
|
157
175
|
const daten = await rufen('cancelReceipt', params);
|
|
158
176
|
const receipt = belegAusHuelle(daten, 'cancelReceipt');
|
|
159
177
|
const huelle = daten;
|
|
@@ -117,6 +117,14 @@ export type CancelReceiptOptions = {
|
|
|
117
117
|
note?: string;
|
|
118
118
|
/** Rueckzahlweg; ohne Angabe die Zahlungsart des stornierten Belegs. */
|
|
119
119
|
paymentMethod?: KeckPaymentMethod | KeckPaymentMethodKey;
|
|
120
|
+
/**
|
|
121
|
+
* Kartendaten der ERSTATTUNG (Gutschrift oder Aufhebung am Terminal) fuer
|
|
122
|
+
* den Kartenblock am Storno-Bon -- nur bei Rueckzahlweg Karte. Beschreiben
|
|
123
|
+
* nie die Originalzahlung; das Backend uebernimmt sie nicht vom Original.
|
|
124
|
+
*/
|
|
125
|
+
creditCardProvider?: CreditCardProvider;
|
|
126
|
+
cardPaymentId?: string;
|
|
127
|
+
cardPaymentData?: Record<string, unknown>;
|
|
120
128
|
} & ({
|
|
121
129
|
receipt: Receipt;
|
|
122
130
|
cashregisterId?: string;
|
|
@@ -140,6 +140,24 @@ export async function cancelReceipt(rufen, options) {
|
|
|
140
140
|
params.note = options.note;
|
|
141
141
|
if (options.paymentMethod != null)
|
|
142
142
|
params.paymentMethod = gepruefteZahlungsart(options.paymentMethod);
|
|
143
|
+
const karte = options.creditCardProvider != null || options.cardPaymentId != null || options.cardPaymentData != null;
|
|
144
|
+
if (karte) {
|
|
145
|
+
// Ohne paymentMethod entscheidet das Backend an der Zahlungsart des
|
|
146
|
+
// Originals; ein ausdruecklich anderer Rueckzahlweg ist hier schon falsch.
|
|
147
|
+
if (params.paymentMethod != null && params.paymentMethod !== KeckPaymentMethod.creditCard.value) {
|
|
148
|
+
throw new KasseneckValidationError('cancelReceipt', 'Kartendaten gibt es nur bei paymentMethod creditCard', 'request');
|
|
149
|
+
}
|
|
150
|
+
if (options.creditCardProvider != null) {
|
|
151
|
+
if (!Object.prototype.hasOwnProperty.call(CreditCardProvider, options.creditCardProvider)) {
|
|
152
|
+
throw new KasseneckValidationError('cancelReceipt', `Kartenanbieter: unbekannter Schluessel "${options.creditCardProvider}"`, 'request');
|
|
153
|
+
}
|
|
154
|
+
params.creditCardProvider = options.creditCardProvider;
|
|
155
|
+
}
|
|
156
|
+
if (options.cardPaymentId != null && options.cardPaymentId !== '')
|
|
157
|
+
params.cardPaymentId = options.cardPaymentId;
|
|
158
|
+
if (options.cardPaymentData != null)
|
|
159
|
+
params.cardPaymentData = options.cardPaymentData;
|
|
160
|
+
}
|
|
143
161
|
const daten = await rufen('cancelReceipt', params);
|
|
144
162
|
const receipt = belegAusHuelle(daten, 'cancelReceipt');
|
|
145
163
|
const huelle = daten;
|