API Reference

Error Handling - Adyen

Addresses different type of errors and timeout scenarios associated with the Adyen Hardware

Best Practices

See here for common best practices: https://quilt-payment-api.readme.io/reference/error-handling

Cancel Results

Terminal canceled at the terminal

Payment status will be requires_payment_method
AUTH request result

{
    "error": {
        "message": "409: 108 Shopper cancelled tx",
        "code": 409
    },
    "request_id": 38406
}

Terminal canceled through API

Payment status will be requires_payment_method
AUTH request result

{
    "error": {
        "message": "409: 104 Merchant cancelled tx",
        "code": 409
    },
    "request_id": 38410
}

Terminal Results

Adyen Terminal times out

Adyen Terminals will timeout in 120 seconds.
Payment status will be requires_payment_method
AUTH request result

{
    "error": {
        "message": "409: 126 Shopper did not present card",
        "code": 409
    },
    "request_id": 38550
}

Cannot connect to the terminal

This usually means the terminal is not connected to the network or has a configuration error.

{
    "error": {
        "message": "409: Failed to send message to POI. There may be a network issue or it may not have the websocket connected.",
        "code": 409
    },
    "request_id": 55863
}

Create results

External transaction ID cannot be re-used to create a new payment

  • If you need to update the payment, use a PUT request.
  • If you just need to retry the authorization, then just call auth again (don't re-create the payment).
  • If you need to add multiple payment methods to a payment use the known_payment_ids array and in this case create a new payment.
{
    "error": {
        "message": "Your request includes either a payment_id or external_payment_id\/external_transaction_id that already exists. To update a payment intent, you should us a PUT request or if your are intending to create a new payment, you either need a unique external_payment_id\/external_transaction_id or you need to include known_payment_ids."
    },
    "request_id": 55853
}