WooshPay OpenAPI
Product DocumentAPI ReferenceJS SDK ReferenceSaaS Platform Integration
Product DocumentAPI ReferenceJS SDK ReferenceSaaS Platform Integration
Back to WooshPay Website
  1. Bank redirects
  • Online payments
    • Quick Start
    • Integration overview
    • Wooshpay JS SDK
    • Wooshpay Checkout
    • Wooshpay Direct API
    • Payment Link
    • Authorize and capture
    • Build subscriptions integration
    • Testing cards
  • After the payment
    • Payouts
    • Webhook
    • Check the webhook signatures
    • 校验webhook签名
  • Add more payment methods
    • Supported payment method
    • Cards
    • Wallets
      • Alipay
      • Alipay HK
      • Apple Pay
      • Google Pay
      • Wechat Pay
      • 微信支付
      • Kakao Pay
      • DANA
      • Boost
      • Grabpay
      • Mcash
      • Touch'n Go
      • ShopeePay
      • UnionPay
      • 9Pay
      • OVO
      • GCash
      • TrueMoney
    • Bank redirects
      • Bancontact
      • BPI
      • Trustly
      • EPS
      • Giropay
      • iDEAL
      • Przelewy24
      • FPX
    • Buy Now Pay Later
      • Klarna
    • Bank Debits
      • Sepa Direct Debit
    • Bank Transfer
      • Bank Transfer in Europe
      • Bank Transfer in United Kingdom
      • Bank Transfer in Indonesia
    • QR Payments
      • QRIS
      • PromptPay
    • Real-time payments
      • PIX
      • PayNow
      • UPI
      • SPEI
  • More payment scenarios
    • Set up future payments
    • Save payment method during payment
  • SaaS platform integration
    • Shopify Plugin
    • Shopastro 星盘
    • WooCommerce
    • Shoplazza 店匠
    • Shopline Plugin
    • Sage Connection
  • Resources
    • Supported currencies
  1. Bank redirects

iDEAL

iDEAL is by far the most popular payment method in the Netherlands. There are no chargebacks and faster settlement times as iDEAL is a bank-to-bank transfer, covered by all major Dutch consumer banks.

Features#

Available country codesNL
Processing currenciesEUR
Settlement currenciesEUR
Minimum transaction amount0.01 EUR
Maximum transaction amountSubject to transaction approval from the consumer’s bank
Refunds✅
Refund validity365 days
Chargeback❌

Integration Method#

Payment method enumeration values:ideal
There are two integration methods for iDEAL
1.
Direct API
2.
Checkout

Direct API#

How to integration#

For direct API integration, you can create a PaymentIntent and get url in only one step. The following is the demo of creating payment intent:
Create a PaymentIntent
A PaymentIntent is an object that represents your intent to collect payment from your customer and tracks the lifecycle of the payment process. Create a PaymentIntent on your server and specify the amount to collect and a supported currency. If you have an existing Payment Intents integration, add iDEAL to the list of payment method types.
Please note that for this payment method, you need to specify the country in billing_details.address as Netherlands, which country code is NL.
Request
{
    "amount": 2000,
    "currency": "EUR",
    "confirm": true,
    "payment_method_data": {
        "type": "ideal",
        "billing_details": {
            "address": {
                "country": "NL"
            },
            "firstName": "Anthony",
            "lastName": "VDK"
        }
    },
    "merchant_order_id": "id_XXXXXXX",
    "return_url": "https://XXXX.XXXX"
}
Response
{
    "id": "pi_1729469366946234368",
    "object": "payment_intent",
    "created": 1701172604000,
    "livemode": false,
    "currency": "EUR",
    "amount": 2000,
    "status": "requires_action",
    "merchant_order_id": "id_XXXXXXX",
    "client_secret": "pi_1729469366946234368_secret_hhO53N5LZyOcWHuaDn3BZLnh",
    "next_action": {
        "type": "ideal_handle_redirect",
        "ideal_handle_redirect": {
            "url": "https://r3.girogate.de/ti/simideal?tx=2162055858&rs=b2tsas0LfwxxNW6cxYnNzsnJIHeDPFwl&cs=a4c7bacb35015bddd31b5f1786c8ca241226c4a4e323ac7b6c4accb420b6043f"
        }
    },
    "payment_method_types": [
        "ideal"
    ],
    "confirmation_method": "automatic",
    "return_url": "https://XXXX.XXXX",
    "payment_method": "pm_1729469366799433728",
    "capture_method": "automatic"
}

Checkout#

Payment flow#

1.
Customer selects iDEAL from the list of payment methods available and clicks on the Pay botton
660c5d23-2469-4ec6-8dae-d41235cc7ab4.png
1.
Customers will be redirected to iDEAL's page
298e17b2-3ec3-4773-9d7e-ef00bae2ac7e.png
1.
Customers select their bank and approve payment

Create a Session#

Request Create a Session
{
    "cancel_url": "www.wooshpay.com",
    "mode": "payment",
    "success_url": "https://wooshpay.com/",
    "payment_method_types": [
        "ideal"
    ],
    "payment_intent_data":{
        "billing_details":{
            "address":{
                "country":"NL"
            }
        }
    },
    "line_items": [
        {
            "price_data": {
                "currency": "EUR",
                "unit_amount": 2000,
                "product_data": {
                    "id": null,
                    "name": "apple",
                    "description": "very delicious",
                    "url": "www.wooshpay.com"
                },
                "billing_scheme": "testscheme",
                "lookup_key": "test_lookup_key"
            },
            "quantity": 1
        }
    ]
}
Response
{
    "id": "cs_1729471425581940736",
    "object": "checkout.session",
    "created": 1701173095000,
    "livemode": true,
    "currency": "EUR",
    "customer": "",
    "mode": "payment",
    "status": "open",
    "url": "https://checkout.wooshpay.com/pay/cs_1729471425581940736?key=cGtfbGl2ZV9OVEUxT0RrNU5UWTJOak01TkRFMk5qUTNOamd4T21WR2VWWjJlSG8yVjNoWGEwTm9ZbkUxYkU1VU0zWk5SakUyTmpjNU1UQXhPRE16TXpFPQ==",
    "cancel_url": "www.wooshpay.com",
    "line_items": {
        "object": "list",
        "data": [
            {
                "id": "li_1729471425607106560",
                "object": "item",
                "currency": "EUR",
                "description": "apple",
                "price": {
                    "id": "price_1729471425615495168",
                    "object": "price",
                    "created": 1701173095000,
                    "livemode": true,
                    "active": false,
                    "currency": "EUR",
                    "product": {
                        "id": "prod_1729471425623883776",
                        "object": "product",
                        "created": 1701173095000,
                        "livemode": true,
                        "active": false,
                        "description": "very delicious",
                        "name": "apple",
                        "url": "www.wooshpay.com",
                        "updated": 1701173095000
                    },
                    "type": "one_time",
                    "unit_amount": 2000,
                    "billing_scheme": "per_unit",
                    "lookup_key": "test_lookup_key"
                },
                "quantity": 1,
                "amount_subtotal": 2000,
                "amount_total": 2000
            }
        ]
    },
    "payment_intent": "pi_1729471428119494656",
    "payment_method_types": [
        "ideal"
    ],
    "payment_status": "unpaid",
    "success_url": "https://wooshpay.com/",
    "amount_subtotal": 2000,
    "amount_total": 2000,
    "billing_address_collection": "auto",
    "expires_at": 1701259494543,
    "payment_link": "",
    "client_secret": "pi_1729471428119494656_secret_lZ2kwASrV5VH6i2BSPTU1xDI"
}

Next step#

You can add more features to your integration as needed

Create a Webhook#

Listen to events on your WooshPay account so your integration can automatically trigger reactions. Create a webhook that mainly focuses on enabled_events and url.

Create a Refund#

Create a refund to repay funds to your customer. You can also perform partial refunds, but not every payment method supports them. A partial refund is when you refund only part of the original transaction amount.
Modified at 2024-03-11 02:04:32
Previous
Giropay
Next
Przelewy24
Built with