Skip to main content
Deferred transaction, also known as “offline transaction” or “store & forward,” lets the terminal keep providing service even when it has no communication with the server.

How it works

The terminal keeps the transaction data in persistent memory and sends it for online approval once communication is restored. EMV Core performs basic card authentication first. If that authentication passes, EMV Core returns the TransactionComplete event to the host before it goes on to request online authorization. To use deferred transaction on Android, set isDeferred=true in PreAuthorize. The same parameter is called deferred in the JSON API. This parameter, introduced in SDK v1.5, replaces the PMT_ACCEPT_OFFLINE configuration attribute. PMT_ACCEPT_OFFLINE is deprecated and no longer affects EMV Core’s behavior.

Final amount requirement

In SDK v1.5, deferred authorization is only supported when isFinalAmount=true. Under this condition:
  • EMV Core stores the transaction data in memory and sends it to the server when possible.
  • The transaction is authorized and settled for the same amount.
  • You don’t need to call ConfirmTransaction afterward.
Activating this feature risks some transactions not being approved. Use it only when preventing service is impossible, for example parking, lockers, or transit. The operator bears the risk and responsibility; Nayax is not responsible for any transaction that isn’t approved.

Next steps

PreAuthorize API

API reference for PreAuthorize, including the isDeferred and isFinalAmount parameters used to trigger a deferred transaction.

Configuration parameters

Configuration reference. Look for the deprecated PMT_ACCEPT_OFFLINE parameter in the parameter table further down the page.