Handle purchase callbacks

Collector Checkout will send a GET request with TLS to the notification URI that was provided in the initialize Checkout step for the following events:

1. Completed Purchase A purchase has been successfully completed by the end customer. When you acquire checkout information the state of the Checkout has transferred to PurchaseCompleted and the invoice status is one of the values described in data.purchase.result below.

2. Invoice Status update An invoice has been approved or rejected by Collector's anti-fraud system (if that feature is configured on your account), or the Invoice required the end customer to digitally sign a credit agreement and this has been completed by the end customer. When you acquire checkout information the invoice status has transferred to one of the values described in data.purchase.result below. Please note that if the invoice was Cancelled before the notification callback arrived, the invoice is considered Cancelled regardless what the value of data.purchase.result is.

Idempotency and retries

Please note the Checkout will attempt to notify the provided notification URI multiple times with increasing backoff time until a HTTP status code 200 is received in the response. Our retry mechanism is built in a way that we guarantee at-least-once-delivery and the notification URI endpoint must therefore support being called multiple times without side effects.

The notification callback is sent instantly and if the endpoint did not answer with a 200 OK status a retry will be made after:

  • 5 seconds
  • 10 seconds
  • 3 minutes
  • 1 hour
  • 4 hours

If the notification endpoint did not answer with a 200 OK status after the last retry, we will handle this manually and contact you before retrying again.