Request IDs
Every request must have a unique identifier.- Format: Alphanumeric with hyphens (e.g.,
refuel-12345). - Context: Include business logic in the ID to make logs easier to read.
Amount Handling
VPOS uses minor units to avoid floating-point errors.- If
decimalPlaceis 2, $1.00 is sent as100. - If
decimalPlaceis 3, $1.00 is sent as1000.
Conventional Timeouts
The client system should manage timeouts to ensure the terminal doesn’t hang indefinitely:Error Handling
- Logging: Always store the
errorCodeanderrorMessage. - Retries: Do not retry DECLINED transactions. A decline is a final response from the bank; the user must provide a different payment method.