- Pre-authorization
- Settlement
If you prefer, you can perform the authorization and settlement in just one step. To learn more about this process, visit the Single Step Payment page.
Pre-Authorization
In the first step, the host machine uses the EMV Core to authorize a specified amount for the payment operation with the buyer’s card. The following diagram shows the transaction flow for a pre-authorization:
- The host machine calls the
PreAuthorizemethod using the EMV Core API. This is the only action performed by the host machine. - EMV Core polls the reader. Your application should prompt the user to tap their card.
- The reader prompts the user to present their card.
- The user taps their card.
- The reader sends the encrypted card data to EMV Core.
- EMV Core sends the data to the Nayax servers to authorize the amount from step 1.
- The Nayax servers return the authorization response with the transaction ID and data.
- EMV Core triggers the
TransactionCompleteevent with the transaction ID and result.
The
TransactionComplete callback fires regardless of the result — approved, declined, or timed out. Check the transaction data to determine the result and decide how to proceed.Settlement
Settlement defines the final amount and charges it to the buyer’s card. It starts after the product is delivered or the operation (such as EV charging) is complete.
- The selling operation completes. For example, the product is delivered to the buyer.
- Your application reports the sale to your application server.
- The application server closes the session.
- Your application calls
ConfirmTransactionwith the transaction ID and the final amount to charge.
The final amount can differ from the pre-authorized amount. To avoid problems, use the maximum expected amount at authorization if the final amount may vary.
- EMV Core confirms the amount and initiates settlement with the Nayax servers. Settlement is not yet complete at this point.
- EMV Core sends the transaction ID and amount to the Nayax servers.
- The Nayax servers return an acknowledgment so EMV Core does not need to resend the confirmation.
To cancel a pre-authorized transaction, send a void operation instead of a confirm.