Skip to main content
The EMV Core implementation of ExternalSettlement separates the authorization and settlement phases of a transaction. While EMV Core manages the initial interaction with the consumer and the payment card, the final financial settlement is performed by a 3rd-party server that sends the settlement request to Nayax’s servers.
PrerequisiteFor this flow to function, the ExternalSettlement setting must be enabled by Nayax.

Configuration & Device Behavior

Once enabled, settlement is handled externally rather than by the host application:
  • The only way to settle a transaction is via the ExternalSettlement command.
  • The settlement amount can be less than or equal to the authorized amount.
This gives you the flexibility to trigger the settlement stage externally according to your own business logic.
FeatureRequirement
Settlement WindowTransactions must be settled within 60 hours of initiation by default. This window can be adjusted for specific cases by Nayax support.
ExpirySettlement attempts performed after the settlement window will fail.
Auto-CleanupTransactions unsettled past the settlement window are automatically canceled via card scheme regulations (this should not be relied upon).
Settlement AmountThe final settlement price must not exceed the authorized amount.

Managing Unsettled Transactions

When no product or service is provided, you must proactively manage the transaction to maintain a good user experience.
  • External Cancel: If no settlement will occur, you must send an External Cancel immediately.
  • Consumer Impact: If a transaction remains authorized without being canceled or settled, the consumer’s funds will stay captured on their payment method, leading to potential disputes.

External Settlement Flow

The flow consists of two phases: payment authorization handled by EMV Core, and settlement or cancellation triggered by your 3rd-party server.

Payment authorization

The steps below cover the authorization phase, from card tap through session completion.
Sequence diagram of the payment authorization phase, from the PreAuthorize call through the TransactionComplete event and service delivery
  1. The host machine calls the PreAuthorize method using the EMV Core SDK.
  2. EMV Core begins polling the reader. The host application should prompt the buyer to tap their card.
  3. The buyer taps their card on the reader.
  4. EMV Core reads the card data and sends an authorization request to the Nayax Servers.
  5. Nayax Servers perform authorization with the Billing Provider.
  6. The Billing Provider sends an authorization response to the Nayax Servers.
  7. Nayax Servers return the authorization response to EMV Core.
  8. EMV Core sends a TransactionComplete event to the host application. The event contains the transaction ID and transaction data, including NayaxTransactionId and SiteId in the authorizationDetails.Additional_Parameters field.
At this point, the host application must retain the NayaxTransactionId and SiteId for later use in the External Settlement or External Cancel request.
  1. The host application proceeds with providing the service (for example, starts an EV charging session or dispenses a product).

Settling the transaction

After service delivery, a 3rd-party server handles either settlement or cancellation depending on the outcome. If the service was provided:
Sequence diagram of the external settlement flow, from StartAuthentication through the ExternalSettlement response
  1. The 3rd-party server initiates communication by calling the StartAuthentication method with an encrypted cipher to authenticate.
  2. The Nayax Server decrypts the cipher and validates the credentials to confirm authenticity.
  3. The 3rd-party server sends an ExternalSettlement request. It must contain the NayaxTransactionId and SiteId retrieved from the TransactionComplete event, and must be sent within the settlement window.
  4. Nayax Servers process the settlement with the Billing Provider.
  5. Nayax Servers send an ExternalSettlement response to the 3rd-party server confirming the settlement outcome.
If the service was not provided:
Sequence diagram of the external cancel flow, from StartAuthentication through the ExternalCancel response
  1. The 3rd-party server initiates communication by calling the StartAuthentication method.
  2. The Nayax Server validates the credentials.
  3. The 3rd-party server sends an ExternalCancel request. It must contain the NayaxTransactionId and SiteId retrieved from the TransactionComplete event, and must be sent within the settlement window.
  4. Nayax Servers initiate the cancellation process with the Billing Provider.
  5. Nayax Servers receive the response from the Billing Provider.
  6. Nayax Servers send an ExternalCancel response to the 3rd-party server.

Next steps

External Settlement API

API reference for the ExternalSettlement endpoint used to settle authorized transactions from a 3rd-party server.

External Cancel API

API reference for the ExternalCancel endpoint used to cancel authorized transactions when no service is provided.