A Cloud payment can finish while your request is still open, or take longer than you want to wait. The waitTime parameter and a notification webhook handle both cases.
waitTime: synchronous or asynchronous
process-transaction and cancel-transaction accept a waitTime query parameter (in seconds, default 20, range 1–300):
- If the transaction finishes within
waitTime, the call returns 201 with the result in the response body. - If it takes longer, the call returns 202 Accepted and the result is delivered only through your notification webhook.
The notification webhook
Set ecrParams.notificationUrl to an HTTPS endpoint you control. Throughout the transaction, the platform POSTs Notification objects there so your POS can drive its own UI and receive the final result. Notification statuses:
| Status | Meaning |
|---|---|
WAITING_FOR_CARD |
The terminal is waiting for the shopper to present a card |
PIN_REQUIRED |
The shopper is entering their PIN |
BANK_AUTHORIZATION |
The transaction is being authorized by the issuer |
COMPLETED |
The transaction is finished — this notification carries the result
|
Note
Match each notification to its request by ecrTransactionId (yours) or terminalTransactionId (the terminal's). The final COMPLETED notification contains the full TransactionResult.
Note
See the Notification and TransactionResult schema on the Cloud API reference on the API Hub.