Architecture
Webhook events
The Adyen App implements the following Saleor sync webhooks related to transactions:
PAYMENT_GATEWAY_INITIALIZE_SESSION
TRANSACTION_INITIALIZE_SESSION
TRANSACTION_PROCESS_SESSION
TRANSACTION_CHARGE_REQUESTED
TRANSACTION_CANCEL_REQUESTED
TRANSACTION_REFUND_REQUESTED
Furthermore, it's also prepared to handle async Adyen webhooks.
The Adyen App follows the flow described in detail in the Saleor Payment App documentation.
Limitations
This section contains known limitations of this App.
Maximum timeout for Adyen calls is 15 seconds
Saleor synchronous webhooks have a maximum response time limit of 20 seconds. The app restricts the Adyen response time to 15 seconds to allow graceful error handling. If Adyen surpasses this limit, the App will return a FAILURE status with an appropriate error message (Timeout Error).
Maximum timeout for Saleor API calls is 5 seconds
The app restricts Saleor API response time to 5 seconds for TransactionInitializeSession
and TransactionProcessSession
subscriptions. If Saleor API surpasses this limit, the App will gracefully continue processing.
If such timeout happens, the created TransactionItem
will not have the metadata from Adyen on additionalDetails
object, which includes payment method type, credit card brand, etc.