Setup
Please follow the common Cybersource instructions to get set up with CyberSource. After setting up your Cybersource account, make sure iDEAL is enabled as a payment method on your account.Features
Cybersource iDEAL payments support the following features:- Refunds - Refund transactions in full or in part
- Transaction synchronization - Keep payment statuses synchronized with CyberSource
Supported countries
Cybersource supports transactions from buyers inNL.
Supported currencies
Cybersource supports processing payments inEUR.
Limitations
The following features are not supported by this connector:- Delayed capture - Authorization and capture must happen together
- Partial capture - Cannot capture a portion of the authorized amount
- Void - Cannot cancel transactions once initiated
- Payment method tokenization - Cannot store payment methods for recurring transactions
- Zero auth - Zero-dollar verification transactions are not supported
- Settlement reporting - Settlement reporting is not available
- Webhooks - CyberSource does not support webhooks for iDEAL transactions (status checks via API polling)
Integration
For iDEAL, the default integration for CyberSource is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields.payment_method.approval_url and the buyer_approval_pending status.
approval_url so they can complete authentication and approve the payment. After approval the buyer is redirected to the redirect_url you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example capture_succeeded or failure states).
Pending transactions
Cybersource does not support webhooks for iDEAL transactions yet. This means that any payment in a pending status requires a query to the Cybersource API to get the latest status. The system automatically polls for status updates.Merchant name
By default the merchant name is set toDefault merchant name for an iDEAL payment. To set this to a custom value, use the statement_descriptor.name field: