Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
e30f603
Refactor README for clarity and formatting consistency
deboragracio Feb 11, 2026
a7cc702
Fix capitalization and emphasize important note
deboragracio Feb 11, 2026
c646054
Fix capitalization in README section headers
deboragracio Feb 11, 2026
b5ea092
Refine wording in deployment scenarios
deboragracio Feb 11, 2026
0b1b728
Clarify prerequisite review instructions in README
deboragracio Feb 11, 2026
1d55419
Fix links in README for consistency
deboragracio Feb 11, 2026
3dd276d
Refine README for payment HOWTO in C#
deboragracio Feb 11, 2026
a86cbbd
Update link to Development Kit README in README.md
deboragracio Feb 11, 2026
d89d335
Fix capitalization in 'How-To' section header
deboragracio Feb 11, 2026
41c6e9c
Revise README for fiskal signing instructions
deboragracio Feb 11, 2026
3ea73a9
Clarify documentation reference in README
deboragracio Feb 11, 2026
f562f87
Fix typo in README for fiscal signing
deboragracio Feb 11, 2026
c8a9515
Revise README for clarity and consistency
deboragracio Feb 11, 2026
f41ee35
Fix formatting of Payment Communication Flow section
deboragracio Feb 11, 2026
f7f76dc
Update VS Code debug instructions in README
deboragracio Feb 11, 2026
4bb77e2
Modify command line usage heading in README
deboragracio Feb 11, 2026
ad8e5b2
Update README with configuration details
deboragracio Feb 11, 2026
02982ed
Fix typo in README regarding environment variables
deboragracio Feb 11, 2026
e778e94
Fix formatting issue in README for environment variables
deboragracio Feb 11, 2026
f0700f5
Update header case for Dummy Payment Provider section
deboragracio Feb 11, 2026
b904169
Correct PIN format and restart app instruction
deboragracio Feb 11, 2026
9294f55
Clarify deployment scenarios in README
deboragracio Feb 11, 2026
45fce46
Update wording in restaurant mobile ordering scenario
deboragracio Feb 11, 2026
a5cff1a
Add link for terminalID configuration in README
deboragracio Feb 11, 2026
1693c90
Update example for terminalID usage in README
deboragracio Feb 11, 2026
8e0877a
Update README with protocol-based routing details
deboragracio Feb 11, 2026
289718d
Clarify debugging instructions for mitmproxy usage
deboragracio Feb 11, 2026
497ad8a
Fix formatting of action steps in README
deboragracio Feb 11, 2026
dc32551
Update terminal instructions in README
deboragracio Feb 11, 2026
73c9416
Fix formatting in README for Developer Mode instructions
deboragracio Feb 11, 2026
f3e3b9b
Fix formatting for message routing rules section
deboragracio Feb 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 13 additions & 14 deletions HOWTO_01_Payment_csharp/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,26 @@

## Prerequisites

Install and configure the InStore app to execute payments (see main DevKit README for further details).
Install and configure the **InStore app** to execute payments. For more information, see the [Development Kit README](https://github.com/fiskaltrust/possystemapi-devkit/blob/main/README.MD).

## What to expect when running this HOWTO
## What to expect when running this How-To

All our howtos are reusing some code that is provided as a .NET Assembly/library in source and can be found in `../libPosSystemAPI/` directory. Please check it after trying out the HOWTOs to get a better understanding what it does under the hood and how it interacts with the POS System API.
All How-To's reuse code provided as a .NET assembly/library in source, which can be found in the `../libPosSystemAPI/` directory. After trying out the How-To's, reviewing this code is recommended to gain a better understanding of how it works under the hood and how it interacts with the **POS System API**.

The HOWTO demonstrates
This How-To demonstrates the following:

- initial credential reading and executing an `/echo` request to know if the fiskaltrust / POS System API backend is reachable (actually done by libPosSystemAPI)
- creates a `/pay` request with `action: payment`
- writes the result of that request to the console
- basic error handling (see next)
- Initial credential reading and executing an `/echo` request to verify that the **fiskaltrust POS System API** backend is reachable (handled by `libPosSystemAPI`).
- Creation of a `/pay` request with `action: payment`.
- Writing the result of the request to the console.
- Basic error handling as described in the following section.

## Errors to be handled

There are multiple critical issues to be handled nicely to avoid double payments or the loss of a payment.
Several critical error scenarios must be managed carefully to prevent double payments or loss of a payment.

### We were able to send the payment request but we were not able to receive the response
**Example:** A payment request is successfully sent, but the response cannot be received. Possible causes include:

- Because we lost internet connectivity while waiting
- Because we could not get the response in time (= http timeout waiting for the response which can be simulated by a device on which the payment gets executed looses internet connectivity during operation)
- ?
- Internet connectivity is lost while waiting for the response.
- 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.

In all cases the solution is to resend the original request (with identical operation ID and request body). The backend will then return the final result.
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.
19 changes: 9 additions & 10 deletions HOWTO_02_fiskal_signing_csharp/README.MD
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
# HOWTO 02 - Getting started with fiskal signing in C#
# HOWTO 02 - Getting started with fiscal signing in C#

## Prerequisites

Have the POS System API + Cashbox config set up and ready to go for fiskal signing. See [fiskaltrust documentation](https://docs.fiskaltrust.cloud/) for further details.
Ensure that the **POS System API** and CashBox configuration are set up and ready for fiscal signing. For more information, see the [fiskaltrust documentation](https://docs.fiskaltrust.cloud/).

## What to expect when running this HOWTO
## What to expect when running this How-To

All our howtos are reusing some code that is provided as a .NET Assembly/library in source and can be found in `../libPosSystemAPI/` directory. Please check it after trying out the HOWTOs to get a better understanding what it does under the hood and how it interacts with the POS System API.
All How-To's reuse code provided as a .NET assembly/library in source, which can be found in the `../libPosSystemAPI/` directory. After trying out the How-To's, reviewing this code is recommended to gain a better understanding of how it works under the hood and how it interacts with the **POS System API**.

The HOWTO demonstrates

- initial credential reading and executing an `/echo` request to know if the fiskaltrust / POS System API backend is reachable (actually done by libPosSystemAPI)
- creates a `/sign` request to similate signing a receipt
- writes the result of that request to the console
- basic error handling
This How-To demonstrates the following:

- Initial credential reading and executing an `/echo` request to verify that the **fiskaltrust POS System API** backend is reachable (handled by `libPosSystemAPI`).
- Creation of a `/sign` request to simulate signing a receipt.
- Writing the result of the request to the console.
- Basic error handling.
25 changes: 12 additions & 13 deletions HOWTO_08_pay_sign_issue_csharp/README.MD
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
# HOWTO 08 - Execute the 3 main actions - Payment - Sign - Issue in C#
# HOWTO 08 - Executing the three main actions: Payment, Sign, and Issue in C#

## Prerequisites

Have the POS System API + Cashbox config set up and ready to go for fiskal signing. See [fiskaltrust documentation](https://docs.fiskaltrust.cloud/) for further details.
Ensure that the **POS System API** and CashBox configuration are set up and ready for fiscal signing. For more information, see the [fiskaltrust documentation](https://docs.fiskaltrust.cloud/).

## What to expect when running this HOWTO
## What to expect when running this How-To

All our howtos are reusing some code that is provided as a .NET Assembly/library in source and can be found in `../libPosSystemAPI/` directory. Please check it after trying out the HOWTOs to get a better understanding what it does under the hood and how it interacts with the POS System API.
All How-To's reuse code provided as a .NET assembly/library in source, which can be found in the `../libPosSystemAPI/` directory. After trying out the How-To's, reviewing this code is recommended to gain a better understanding of how it works under the hood and how it interacts with the **POS System API**.

The HOWTO demonstrates

- initial credential reading and executing an `/echo` request to know if the fiskaltrust / POS System API backend is reachable (actually done by libPosSystemAPI)
- Creating a dummy list of charge items
- Execute the following actions with ftPosAPIOperationRunner which is a helper class wrapping the retry logic
- `/pay` the charge items
- Generate the receipt info with `/sign`
- Deliver the receipt to the user via `/issue`
- Wait for receipt delivered status
This How-To demonstrates the following:

- Initial credential reading and executing an `/echo` request to verify that the **fiskaltrust POS System API** backend is reachable (handled by `libPosSystemAPI`).
- Creation of a dummy list of charge items.
- Executing the following actions using `ftPosAPIOperationRunner`, which is a helper class that wraps the retry logic:
- `/pay` the charge items.
- Generate the receipt information using `/sign`.
- Deliver the receipt to the user via `/issue`.
- Waiting for the receipt delivered status.
Loading