Architecture
Webhook events
The Adyen App implements the following Saleor sync webhooks related to transactions:
PAYMENT_GATEWAY_INITIALIZE_SESSIONTRANSACTION_INITIALIZE_SESSIONTRANSACTION_PROCESS_SESSIONTRANSACTION_CHARGE_REQUESTEDTRANSACTION_CANCEL_REQUESTEDTRANSACTION_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.