iDeal betalingen implementeren met Omnipay (PHP Library)

Het komt tegenwoordig steeds vaker voor dat via websites betalingen worden verricht. In e-commerce systemen zoals Magento, worden hiervoor vaak standaard modules voor aangeboden. Voor maatwerk systemen moeten dit vaak door de ontwikkelaar zelf worden toegevoegd, door een zogeheten 'gateway' aan te spreken. Via zo'n gateway kunnen betalingen gestart en gecontroleerd worden. De meeste banken bieden hier zelf eigen opties voor aan, zoals Rabobank Omnikassa. Daarnaast bestaan er in Nederland veel 'Payment Providers' die als tussenlaag functioneren, door bijvoorbeeld zowel iDeal, overboekingen, Mr Cash, Creditcard etc via dezelfde gateway aan te bieden. Dit maakt het voor ontwikkelaars makkelijker omdat ze maar met 1 API hoeven te werken voor alle betaalmethodes. Daarnaast kan zo'n Payment Provider in sommige gevallen een gunstiger tarief aanbieden. Voorbeelden van Payment Providers zijn Sisow, Targetpay, Mollie etc.

Door een gateway te gebruiken kan je dus makkelijk meerdere betaalmethodes aanbieden met 1 API, maar het komt bij ons vaak voor dat de klant al een contract heeft of voorkeur heeft voor een bepaalde gateway. In de praktijk betekend dit dat we steeds dezelfde functionaliteit moeten implementeren, met een afwijkende API. Niet alles API's zijn daarnaast even goed gedocumenteerd.

Een oplossing hiervoor is Omnipay, een moderne PHP library die een consistente API biedt voor verschillende gateways. Op deze manier kan elke gateway grofweg op dezelfde manier worden benaderd. Voor ons als ontwikkelaars betekend dit dat we makkelijk kunnen wisselen en onze code vaker kunnen hergebruiken. Voor onze klanten heeft dit als voordeel dat ze niet vast zitten aan 1 payment provider en natuurlijk dat de implementatiekosten/tijd lager zijn.

We hebben Omnipay inmiddels met oa. gateways van Rabobank Omnikassa, Sisow, Targetpay, Mollie geïmplementeerd. Sommige Omnipay gateways hebben we zelfs zelf geprogrammeerd of verbeterd. Bekijk hier onze Sisow implementatie, inclusief een voorbeeld implementatie.

Wil je iDeal (of MrCash, Creditcard etc) implementeren op jouw website? Neem dan contact met ons op voor de mogelijkheden!