iDeal Payment Integration

Home / PHP / iDeal Payment Integration

What is iDEAL?


iDEAL is a standardised payment method for making secure online payments directly between bank accounts. To offer iDEAL as a payment method in an online store, a direct link is established with the systems of participating banks. In other words, this one connection to iDEAL enables each webshop’s visitor with access to online banking of ABN AMRO, ASN Bank, Friesland Bank, ING, Rabobank, RegioBank, SNS Bank, Triodos Bank or Van Lanschot Bankiers to make payments in this way. No other payment product offers this facility.

iDEAL is steadily gaining a reputation as a trusted online payment method. Already more than half of all Dutch online shoppers use iDEAL.

How does iDEAL work?


iDEAL is easy to use and requires just a few simple steps on the part of consumers:

  • In order to check out the customer clicks on the iDEAL payment icon;
  • From a drop-down list, the customer selects his own bank, which opens the online banking environment he is familiar with. The customer simply authorizes the prefilled payment instruction;
  • As soon as payment has been authorized, the amount due is debited from the customer’s account and transferred to the merchant’s bank account – there is no credit risk;
  • Just seconds after the customer has authorized the payment, the successful payment status is confirmed to the merchant. As merchants know that the funds are on their way, they can proceed with shipping or rendering the service immediately. There is no risk for the merchant because the customer cannot reverse the payment. Merchants will have payments credited to their account at the same speed as a normal credit transfer.

iDeal Payment Integration PHP Code

<!-- CODE_START --> 
<script type="text/javascript"> 
<!-- Begin 

var Amount = 123; 
var PSPID = "TESTiDEALEASY"; 
var AM; 

if (isNaN(Amount)) 
    { 
        alert("Amount not a number: " + Amount + " !"); 
        AM = "" 
    } 
else 
    { 
        AM = Math.round(parseFloat(Amount)*100); 
    } 

var orderID = "1"; 
mydate = new Date(); 
tv = mydate.getYear() % 10; 
orderID = orderID + tv; 
tv = (mydate.getMonth() * 31) + mydate.getDate(); 
orderID = orderID + ((tv < 10) ? '0' : '') + ((tv < 100) ? '0' : '') + tv; 
tv = (mydate.getHours() * 3600) + (mydate.getMinutes() * 60) + mydate.getSeconds(); 
orderID = orderID + ((tv < 10) ? '0' : '') + ((tv < 100) ? '0' : '') + ((tv < 1000) ? '0' : '') + ((tv < 10000) ? '0' : '') + tv; 
tvplus = Math.round(Math.random() * 9); 
// End --> 
</script> 



<form method="post" action="https://internetkassa.abnamro.nl/ncol/prod/orderstandard.asp" id="form1" name="form1"> 


<script type="text/javascript"> 
document.write("<input type=\"hidden\" NAME=\"PSPID\" value=\"" + PSPID + "\" />"); 
document.write("<input type=\"hidden\" NAME=\"orderID\" value=\"" + (orderID + ((tvplus + 1) % 10)) + "\" />"); 
document.write("<input type=\"hidden\" NAME=\"amount\" value=\"" + AM + "\" />"); 
</script> 


<input type="hidden" name="currency" value="EUR" /> 
<input type="hidden" name="language" value="NL_NL" /> 
<input type="hidden" name="PM" value="iDEAL" /> 

<input type="hidden" name="accepturl" value="https://www.justwebdevelopment.com/blog" />
<input type="hidden" name="declineurl" value="https://www.justwebdevelopment.com/" />
<input type="hidden" name="exceptionurl" value="https://www.justwebdevelopment.com/" />
<input type="hidden" name="cancelurl" value="https://www.justwebdevelopment.com/" />
<input type="hidden" name="homeurl" value="https://www.justwebdevelopment.com/blog">

<button class="iDEALeasy" type="submit" name="submit1" value="submit"> 
Betalen met<br /> 
<img src="https://internetkassa.abnamro.nl/images/iDEAL_easy.gif" alt="iDEAL"  /> 
</button> 
</form> 
<!-- CODE_END --> 

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *