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 theTransactionComplete 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 whenisFinalAmount=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
ConfirmTransactionafterward.
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.