You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// - the terminal ID is not defined here (null) so the request will be processed by all available terminals for the cashbox
64
64
// IMPORTANT: In a real setup you might want to define a specific terminal ID here to target a specific payment terminal device; especially when multiple payment terminals are registered for the same cashbox!
65
65
// - we provide the operation ID to be able to retry in case of failure
Copy file name to clipboardExpand all lines: HOWTO_01_Payment_csharp/README.MD
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,3 +25,22 @@ Several critical error scenarios must be managed carefully to prevent double pay
25
25
- The response is not received within the expected time frame (HTTP timeout), which can be simulated by a device losing internet connectivity during payment execution.
26
26
27
27
In all of these cases, the solution is to resend the original request using the identical operation ID and request body. The backend will then return the final result of the operation.
28
+
29
+
## Special case - payment vendor added TIP
30
+
31
+
In many payment vendor apps it is possible to add a tip to the payment amount.
32
+
Flow example in a restaruant:
33
+
- Guest asks for the bill
34
+
- Waiter triggers to create the bill at the POS (e.g. mobile device)
35
+
- The POS on the mobile device pushes the amount (for example 10€) to be paid to the configured payment app (via POS System API and the fiskaltrust InStore App)
36
+
- The payment app opens and the waiter hands the mobile device over to the guest
37
+
- The guest sees a TIP entry screen and adds a tip of 2€
38
+
- The guests now pays the full sum of 12€
39
+
- The payment app reports a paid amount of 12€ (including 2€ of tip)
40
+
- The fiskaltrust InStore App / POS System API does report back the following in the payment response (see also example in the POS System API docs):
41
+
- 2 pay items
42
+
- Pay item 1: The fully paid amount with the receipt -> 12€
43
+
- Pay item 2: The tip with negative amount -> -2€
44
+
- sum of the 2 pay items is the orginal requested amount of 10€
45
+
46
+
NOTE: The tip can be calculated by simply substracting the requested amount from the paid amount (12-10 = 2€ tip) or alternatively from the 2nd pay item (-2 * -1 = 2€ tip).
// dummy payment provider should return exactly one pay item (as we did not execute a 30000,50 which would result in multiple pay items as there would be a tip)
42
+
// dummy payment provider should return exactly one pay item
0 commit comments