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.

Capabilities

Supported countries

Supported currencies

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.CreateRedirectPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "ideal",
          Country = "NL",
          Currency = "EUR",
          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.