Skip to main content
The EMV Core SDK provides robust APIs for managing payment transactions. These APIs enable seamless integration of cashless payment functionality into applications, supporting both open- and closed-loop systems. The SDK ensures secure, efficient, and flexible payment handling while offloading complexities to the Nayax backend. The methods available for payment management are: The sections below describe them in more detail.

CancelTransaction

The CancelTransaction method stops the execution of an ongoing PayTransaction or PreAuthorize call. The system blocks further requests until the cancellation is accepted and confirmed. Implementation Notes:
  • Before Card Presentation: If a card has not been presented yet, the Reader poll sequence stops. The display will show “Cancelling”; the host application must then update the UI using the ShowMessage command.
  • During Processing: If the card was already presented but processing is not finished, the system returns CannotCancel. It may take a few seconds to receive the TransactionComplete event while the EMV Core waits for the online result.
  • After Completion: If the transaction is already finished, it returns NoTransaction.
  • Undoing Success: To undo a completed transaction, use VoidTransaction.
  • Declined Transactions: If TransactionComplete returns a Decline status, there is no need to send a VoidTransaction command.
  • Events: In all scenarios, EMV Core will eventually send a TransactionComplete event to finalize the state.
See the API Signature for the CancelTransaction method:
Request:
Response:
If the card has already been presented and processed, the system will return a CannotCancel error.

ConfirmTransaction

A confirmation request is the second stage of the authorization flow. It confirms the pre-authorization so that settlement can take place.

API Signature

Response:
JSON
Request:
JSON
Response:
JSON
Parameters:

GetCardToken

The GetCardToken method initiates the card tokenization process, returning a card token without performing a financial transaction. EMV Core waits for a card to be presented, reads the data, and triggers a CardTokenReceived event:
  • Payment Cards: Returns a Base64 string containing the card token.
  • CLP Cards (for example, Mifare): Returns the card UID.

API Signature

Request:
Response:
JSON
Parameters:

PreAuthorize

Use PreAuthorize to pre-authorize a card with the payment processor. EMV Core waits for a card, reads it, and processes it with the payment service if needed. It then sends a TransactionComplete event.

API Signature

Request:
JSON
Response:
JSON
Parameters:
Setting productID to a non-zero value marks the pre-authorized amount as final; it cannot be changed in ConfirmTransaction. If the final amount is not yet known, set productID = 0 in PreAuthorize and provide the actual ID in ConfirmTransaction.
If the transaction is approved (the TransactionComplete event returns with status OK), your application must call ConfirmTransaction or VoidTransaction to complete the flow.

VoidTransaction

This request is used to void a transaction in two specific cases:
  1. Release Funds: The transaction was Pre-Authorized but not Confirmed. Voiding releases the reserved funds when the transaction will no longer occur.
  2. Reversal: The transaction was completed using PayTransaction but needs to be canceled.

API Signature

Request:
JSON
Response:
JSON
Parameters: