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.