Skip to main content
Cybersource is a Visa solution that provides comprehensive payment processing solutions across multiple payment methods and regions. iDEAL is a popular online banking payment method in the Netherlands that allows customers to pay directly from their bank account. It is widely used for e-commerce transactions and provides instant payment confirmation.

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 in NL.

Supported currencies

Cybersource supports processing payments in EUR.

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.
var transaction = await client.Transactions.CreateAsync(
  transactionCreate: new TransactionCreate()
  {
    Amount = 1299,
    Currency = "EUR",
    Country = "NL",
    PaymentMethod =
      TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "ideal",
          RedirectUrl = "https://example.com/callback",
        }
      ),
  }
);
After the transaction is created, the API response includes payment_method.approval_url and the buyer_approval_pending status.
{
  "type": "transaction",
  "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625",
  "payment_method": {
    "type": "payment-method",
    "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/cybersource/apm.html?token=..."
  },
  "method": "ideal"
}
Redirect the buyer to the 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 to Default merchant name for an iDEAL payment. To set this to a custom value, use the statement_descriptor.name field:
{
    "amount": 1800,
    "currency": "EUR",
    "country": "NL",
    "intent": "capture",
    "payment_method": {
        "method": "ideal",
        "country": "NL",
        "currency": "EUR",
        "redirect_url": "https://example.com"
    },
    "statement_descriptor": {
        "name": "Test 123"
    }
}

Testing

Cybersource has instructions on how to test iDEAL.