Prepaid Card

Prepaid card transactions work similarly to credit card payments but are used with pre-loaded cards. These cards do not require a connection to a bank account, making them ideal for closed-loop systems such as gift cards or loyalty cards. Prepaid cards are validated during the transaction, ensuring sufficient funds are available for the purchase.

Cortina supports two types of prepaid card transaction flows:

  • Pre-selection
  • Pre-authorization

Both flows involve interactions between various components, including the CardHolder, Nayax Device, Machine (MDB), Nayax Engine, and Integrator. See the sections below for more details on each flow.

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:

Where:

  1. The process begins when the customer inserts or taps their prepaid card on the Nayax Device. This action triggers the Device to send an Authorization Command Nayax Engine, including details about the selected product or service. This allows the system to request authorization from the integrator for the prepaid card payment.
  2. The Cortina API then initiates a service session using the Start Session endpoint and sends a Prepaid Sale request to the Integrator. This request includes all the necessary details to authorize the payment for the product or service.
  3. The Integrator processes the request and sends an approval or decline message to the Cortina API. If the prepaid card has enough balance, the request is approved.
  4. Upon approval from the integrator, the Naya Engine sends an Authorization Response indicating that the transaction has been successfully authorized. This confirms that the customer’s prepaid card has sufficient funds to proceed.
  5. After receiving the authorization response, the Nayax Device acknowledges that the service or product has been approved and sends a Settlement Request to the Nayax engine.
  6. Once the service is completed or the product has been dispensed, the Nayax Device sends a Sale End request in the Cortina API. This indicates the completion of the transaction and that the customer has received the service or product.
  7. The Integrator confirms receipt of the Sale End Notification by responding and marking the transaction as fully completed.
  8. The Nayax Device receives the Settlement Command Response, confirming that the transaction has been successfully processed and the sale is complete.

This response is typically always approved in this flow, as the authorization has already been granted.

🚧

Void

In case the product fails to be dispensed to client, the Nayax Engine uses the Prepaid Void endpoind to void the payment request.

🚧

Timeout Void

In case that no Sale response will be recived within the timeout period, or that a 992 response code is be received, the Nayax Engine uses the Prepaid Void endpoind to void the request.

To indicate that the Void is sent due to timeout, the flag isGatewayTimeout is sent as True.

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:

Where:

  1. The process begins when the Device sends an Authorization Command Request to the Nayax Engine.
  2. The Nayax Engine performs a Start Session Request using Cortina API to establish a session for the transaction. The request is directed to the Integrator (the payment processor or gateway).
  3. The Integrator processes the request and sends a response to the Nayax Engine.
  4. The Nayax Engine performs an Authorization Request to the Integrator using Cortina APÌ. This request checks if the prepaid card has sufficient funds for the transaction.
  5. The Cortina API returns an Authorization Response indicating whether the transaction has been approved or declined based on the availability of funds on the prepaid card.
  6. The Nayax Engine receives the Authorization Response from the Cortina API and returns it to the Device. If approved, the device proceeds with the transaction and prepares to dispense the product.
  7. After the transaction is authorized, the Device sends a Settlement Command to the Nayax Engine to finalize the transaction and confirm the payment amount.
  8. The Nayax Engine forwards the Settlement Request to the integrator using Cortina's API Prepaid Card Settlement endpoint, which includes the final transaction amount to be settled.
  9. The Cortina API sends the Settlement Response to the Integrator, confirming that the transaction has been successfully settled and the funds have been transferred.
  10. Finally, the Device receives the Settlement Command Response, which indicates that the transaction has been completed successfully and that the product has been dispensed to the customer.

🚧

Cancellation

In case the product fails to be dispensed to client, the Nayax Engine uses the Prepaid Cancel endpoint to cancel the Pre Authorization and the transaction.

🚧

Timeout Void

In case that no Sale response will be recived within the timeout period, or that a 992 response code will be recived, the Nayax Engine uses the Prepaid Void endpoind to void the payment request. To indicate that the Void is sent due to timeout, the flag isGatewayTimeout will be sent as True.