Error handling

After creating a payment, developers need to consider the possibility of failures during payment and failures during order completion.

Payment errors

Successful payment is confirmed by the client polling the GetCurrentRedirectPayment or GetCurrentEmbeddedPayment endpoints, depending on which payment method is being used.

If a Declined status is returned, the client application should treat this as a failure in the patron's payment. The client application should show an appropriate "payment declined" UI with a "try again" button that starts the payment flow again.

Order completion errors

Successful order completion is confirmed by the client polling the GetOrderCompletion endpoint after a successful payment result is received. For a successful payment, the GetOrderCompletion endpoint should indicate the order is completed shortly after a successful payment result is received.

If a Failed status is returned, a post-payment failure has occurred, i.e., payment has been taken but the order cannot be completed.

A refund process should be set up to manually handle these post-payment failures, e.g., the patron can request a refund by contacting the cinema's customer support.

The client application should inform the patron that:

  • there was an unexpected error processing their order, and
  • they should contact the cinema's customer support for assistance.