- Pre-selection
- Pre-authorization
Pre-Selection
The Pre-selection flow simplifies the payment process by merging the steps of product/service selection and authorization into a single transaction. This flow is typically used for low-value or quick transactions, where the customer’s selection and payment authorization are handled together in one step. See the diagram below:
- The card holder presents a card (Insert, tap, or swipe) to the Nayax Device.
- The Nayax Device sends a Begin Vending Session (Default, credit…) command to the Operator Service Machine.
- The user selects a product, and the Operator Service Machine sends a Vend Request (Code, price…) to the Nayax Device.
- The Nayax Device sends an Authorization Command Request to the Nayax Server.
- The Nayax Server sends a /Start Session request to the Payment Provider via the Start Session endpoint.
- The Nayax Server sends a /Sale request (default, credit…) to the Payment Provider via the Prepaid Sale endpoint.
- The Nayax Server returns an Authorization Command Response (Approved) to the Nayax Device.
- The Nayax Device sends a Vend Approved command to the Operator Service Machine.
- The Operator Service Machine dispenses the product and sends a Vend Success notification to the Nayax Device.
- The Nayax Device sends a Settlement Command Request to the Nayax Server.
- (Optional) The Nayax Server sends a /SaleEndNotification (TransactionID…) to the Payment Provider via the Sale End Notification endpoint.
- The Nayax Server returns a Settlement Command Response (Always Approved) to the Nayax Device, which then displays a “Thank you” message.
Exception Handling
In the event of a failure at any critical junction (marked with a black circle in the diagram), the transaction is terminated. Because the payment occurs before the product is dispensed in this flow, specific Void logic is required to ensure customers are not charged for failed dispenses.| Scenario | Diagram Step Reference | Technical Resolution |
|---|---|---|
| Selection Timeout | 3.b | Occurs if the user fails to choose a valid product within the machine’s allowed timeframe. The session is closed before any payment is initiated. |
| Start Session Failed | 5.b | Occurs if the /Start Session request fails or times out. The transaction is aborted before the Sale request. |
| Sale Request Failed | 6.b | If the /Sale request fails, returns an error, or receives a 992 response code, the session is aborted. In cases of a gateway timeout, the Prepaid Void endpoint is triggered with the flag isGatewayTimeout: True. |
| Vend Failed | 9.b | If the machine fails to dispense the product after payment is authorized, the Nayax Engine triggers the Prepaid Void endpoint to reverse the charge. |
| Notification Failure | 11.b | Occurs if the optional /SaleEndNotification fails. As this is a reporting step, the transaction on the device is usually finalized, but the error is logged for reconciliation. |
For a comprehensive list of financial response codes and authorization failures, refer to the Prepaid Card Decline Reasons page.
Pre-Authorization
The Pre-authorization flow is used for transactions that require a two-step process. First, a session is initiated, followed by an authorization check. This flow ensures the transaction is valid and the customer has sufficient funds on the prepaid card before settlement. See the diagram below:[!](/images/docs/prepaid-card-flows/Cortina V2 External Prepaid API - Pre-auth.png)
- The card holder presents a card (Insert, tap, or swipe) to the Nayax Device.
- The Nayax Device sends an Authorization Command Request to the Nayax Server.
- The Nayax Server sends a /Start Session request to the Payment Provider via the Start Session endpoint.
- The Payment Provider returns a Start Session Response Success to the Nayax Server.
- The Nayax Server sends an /Authorization request (default amount) to the Payment Provider via the Prepaid Authorization endpoint.
- The Nayax Server returns an Authorization Command Response (Approved) to the Nayax Device.
- The Nayax Device sends a Begin Vending Session (Default Code…) command to the Operator Service Machine.
- The user selects a product, and the Operator Service Machine sends a Vend Request (Code, price…) to the Nayax Device.
- The Nayax Device sends a Vend Approved (Always approved) response to the Operator Service Machine.
- The product is dispensed, and the Operator Service Machine sends a Vend Success notification to the Nayax Device.
- The Nayax Device sends a Settlement Command to the Nayax Server.
- The Nayax Server sends a /Settlement request (Final Amount) to the Payment Provider via the Prepaid Settlement endpoint.
- The Nayax Server returns a Settlement Command Response (Approved) to the Nayax Device, which then displays a “Thank you” message.
Exception Handling
In the event of a failure at any critical junction (marked with a black circle in the diagram), the transaction is terminated. The following table outlines the recovery actions taken by the Nayax Engine:| Scenario | Diagram Step Reference | Technical Resolution |
|---|---|---|
| Start Session Failed | 4.b | Occurs if the /Start Session request times out or returns an error. The session is aborted immediately. |
| Authorization Failed | 5.b | Occurs if the provider denies the default credit amount. The transaction is terminated. |
| Selection Timeout | 8.b | Occurs if the user fails to choose a valid product within the machine’s allowed timeframe. |
| Vend Failed | 10.b | If the machine fails to dispense (e.g., jam), the system triggers the Prepaid Cancel endpoint to release the Pre-Authorization and the transaction. |
| Settlement Failed | 12.b | Occurs if the final settlement request fails or times out. This requires system logging for manual reconciliation. |
| Timeout / Void | N/A | If no Sale Response is received within the timeout period, or a 992 response code is received- the Prepaid Void endpoint is triggered. |
For a comprehensive list of financial response codes and authorization failures, refer to the Prepaid Card Decline Reasons page.