Direct Support Site

Results for

icon-search-large No search results yet
Enter your search query above
Page topics

Integration

As iDEAL is a redirection payment method, the integration requires only few steps.

Our platform allows you to process transactions via Hosted Checkout Page or Server-to-server. The flow differs slightly depending on the integration mode:

Integrate via Hosted Checkout Page
This integration mode is the easiest one, as you simply redirect your customers to our Hosted Checkout Page in a slightly altered standard request.

  1. Send a standard CreateHostedCheckout request including property redirectPaymentMethodSpecificInput.PaymentProductId=809 to preselect the payment method on our payment page.
    {
    	"order": {
    		"amountOfMoney": {
    			"currencyCode": "EUR",
    			"amount": 1000
    		},
    		"redirectPaymentMethodSpecificInput": {
    			"PaymentProductId": 809
    		}
    	}
    }
    
  2. Your customers select an iDEAL issuer on our secure payment page. We redirect them to their bank to perform the actual payment
    If you want to host the iDEAL issuer selection in your webshop environment, modify the CreateHostedCheckout request as follows:
    {
    	"order": {
    		"amountOfMoney": {
    			"currencyCode": "EUR",
    			"amount": 1000
    		}
    	},
    	"redirectPaymentMethodSpecificInput": {
    		"paymentProductId": "809",
    		"paymentProduct809SpecificInput": {
    			"issuerId": "RABONL2U"
    		}
    	}
    }
    
    This requires you to retrieve all available iDEAL issuers from our platform beforehand and send paymentProduct809SpecificInput.paymentProduct809SpecificInput.issuerId in your request. Check out chapter “Integrate via Server-to-server” step 1 how to do this.

Integrate via Server-to-server
Using Server-to-server requires you to perform more steps, but optimises the overall payment experience: Your customers select both the payment method selection and iDEAL issuer in your webshop environment.

  1. You retrieve a list of available iDEAL issuers sending a GetProductDirectoryApi call to our platform
  2. You display the list of available iDEAL issuers to your customers in your webshop environment
  3. Once your customers have chosen an issuer, send a Server-to-server request to our platform, including properties redirectPaymentMethodSpecificInput.paymentProductId, paymentProduct809SpecificInput.paymentProduct809SpecificInput.issuerId and redirectionData.returnUrl
    {
        "order": {
            "customer": {
                "billingAddress": {
                    "countryCode": "NL"
                }
            },
            "amountOfMoney": {
                "currencyCode": "EUR",
                "amount": 1000
            }
        },
        "redirectPaymentMethodSpecificInput":{
            "paymentProductId":"809",
            "paymentProduct809SpecificInput": {
                "issuerId":"RABONL2U"
            },
            "redirectionData":{
                "returnUrl":"https://www.worldline.fr"
            }
        }
    }
    

    A typical response looks like this:

    Status: 201 Created
    Started: 4/9/2021 11:01:19 AM
    Ended: 4/9/2021 11:01:20 AM (00:00:01.3743894)
    {
      "merchantAction": {
        "actionType": "REDIRECT",
        "redirectData": {
          "redirectURL": "https://payment.preprod.direct.worldline-solutions.com/v2/threedsecure/authenticatepayer/9a1d54d7bb7548e0aa53f24827053b7c",
          "RETURNMAC": "3d09b048a87743f08e3c80009125de21"
        }
      },
      "payment": {
        "id": "3112018333_0",
        "paymentOutput": {
          "amountOfMoney": {
            "amount": 1000,
            "currencyCode": "EUR"
          },
          "paymentMethod": "redirect",
          "redirectPaymentMethodSpecificOutput": {
            "fraudResults": {
              "fraudServiceResult": "no-advice"
            },
            "paymentProductId": 809
          },
          "references": {
            "merchantReference": "353c873133f94581b3d2e28b352c5680"
          }
        },
        "status": "REDIRECTED",
        "statusOutput": {
          "isAuthorized": false,
          "isCancellable": false,
          "isRefundable": false,
          "statusCategory": "PENDING_PAYMENT",
          "statusCode": 46
        }
      }
    }
    
  4. Using the redirectURL received in the response request, you redirect your customers to their bank to perform the actual payment

Check out the process flows tab for a full transaction cycle.