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
}