- CancelTransaction
- ConfirmTransaction
- GetCardToken
- IncrementalAuthorization
- PreAuthorize
- VoidTransaction
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
ShowMessagecommand. - 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 theTransactionCompleteevent 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
TransactionCompletereturns aDeclinestatus, there is no need to send aVoidTransactioncommand. - Events: In all scenarios, EMV Core will eventually send a
TransactionCompleteevent to finalize the state.
CancelTransaction method:
- JSON
- Android
- Linux
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
- JSON
- Android
- Linux
Response:Request:Response:Parameters:
JSON
JSON
JSON
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
- JSON
- Android
- Linux
Request:Response:Parameters:
JSON
IncrementalAuthorization
The IncrementalAuthorization method adds an incremental charge to an existing authorized transaction, and delivers the result through the IncrementalAuthorizationResponse callback. It’s reserved for a future multi-step flow and isn’t required today: for the current single-step behavior, see below.
Single-step incremental authorization
For most use cases, you don’t need to call this API directly. Nayax Core handles a single-step incremental authorization automatically whenever you settle a transaction for more than the pre-authorized amount:- Call
PreAuthorize(for example, for $10.00) and read theIncrementalMaxDefaultCreditvalue from the resultingTransactionCompleteevent (for example, $50.00). - Call
ConfirmTransaction, or send an External Settlement request from your server, with an amount up toIncrementalMaxDefaultCredit(for example, $15.03). - Nayax Core automatically sends an incremental authorization request to the processor for the difference (in this example, $5.03).
- If the incremental authorization succeeds, Nayax Core settles the transaction for the final amount ($15.03).
- If it fails, Nayax Core settles the transaction for the original pre-authorized amount ($10.00).
Nayax doesn’t yet support the multi-step flow server-side. Calling
IncrementalAuthorization today has no effect beyond what’s described above.IncrementalAuthorization API signature in the code below:
Java
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
- JSON
- Android
- Linux
Request:Response:Parameters:
JSON
JSON
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:
- Release Funds: The transaction was Pre-Authorized but not Confirmed. Voiding releases the reserved funds when the transaction will no longer occur.
- Reversal: The transaction was completed using
PayTransactionbut needs to be canceled.
API signature
- JSON
- Android
- Linux
Request:Response:Parameters:
JSON
JSON