Tutorials

iDEAL Lite

Korte toelichting voor de implementatie van iDEAL Lite

Pagina 1

iDEAL Lite

Naar aanleiding van de geplaatste tutorial over iDEAL (al weer twee jaar geleden) krijg ik de laatste tijd regelmatig vragen over de implementatie van iDEAL Lite. Vandaar dat het tijd werd voor een nieuwe tutorial, gewijd aan iDEAL Lite.


iDEAL Lite is een relatief simpele maar beperkte versie van iDEAL. Met deze versie POST je een formulier met de bestel informatie naar de iDEAL server. Na de betaling wordt de bezoeker doorgestuurd naar een zelf op te geven URL.


Voordelen t.o.v. iDEAL Professional (voorheen iDEAL Basic)
- Eenvoudig te integreren
- Geen maandelijkse abonnementskosten

Nadelen t.o.v. iDEAL Professional
- Geen betrouwbare terugkoppeling van iDEAL m.b.t. de betaling.
- Hogere kosten per transactie

Zie: voorbeeld iDEAL Lite
Pagina 2

Implementatie

Neem de belangrijkste regels code uit "step2.php" over in jou script.

<?php

	include(dirname(__FILE__) . '/ideallite.cls.php');

	$oIdeal = new IdealLite();

	// Set account details
	$oIdeal->setMerchantId('002XXXXXX');
	$oIdeal->setHashKey('YourSecretHashKey');
	$oIdeal->setUrlBank('https://idealtest.rabobank.nl/ideal/mpiPayInitRabo.do');

	// Set shop details
	$oIdeal->setUrlCancel('http://www.domain.tld/ideal/step3.php?ideal[order]=NL_123456789&ideal[status]=cancel');
	$oIdeal->setUrlError('http://www.domain.tld/ideal/step3.php?ideal[order]=NL_123456789&ideal[status]=error');
	$oIdeal->setUrlSuccess('http://www.domain.tld/ideal/step3.php?ideal[order]=NL_123456789&ideal[status]=success');

	// Set order details
	$oIdeal->setAmount(49.95);
	$oIdeal->setOrderId('NL_123456789');
	$oIdeal->setOrderDescription('Omschrijving van uw bestelling');

	// Customize submit button
	$oIdeal->setButton('Betalen met iDEAL');

	// Generate form
	echo '<p>Uw bestelling direct afrekenen!</p>' . $oIdeal->createForm();

?>



Enkele overige opmerkingen m.b.t. de implementatie:
- Stel je MERCHANT_ID, HASH_KEY en de URLs goed in.
- Zorg dat je hash key niet te raden is (dûh)
- Zorg dat de ORDER_ID uniek is. IDEAL accepteert niet 2x hetzelfde ORDER_ID.
- Zorg dat de ORDER_DESCRIPTION maximaal 32 karakters lang is (dit wordt in de class afgekapt).

Net als in andere versies is de testprocedure van 1, 2, 3, 4, 5 en 7 euro verplicht!
Pagina 3

Voorbereiding

Download de benodigde PHP bestanden. Deze bevatten een simpel voorbeeld en een class die je helpt bij het genereren van het iDEAL formulier (en het berekenen van de hash code).


Instellen van hash key
Je moet een "hash key" instellen op het iDEAL dashboard. Met deze "hash key" kan de iDEAL server controleren of ontvangen bestelgegevens geldig zijn. Ga als volgt te werk:

- Login op het iDEAL dashboard
- Klik op "Aanmelden" in het menu.
- Kies tabblad "Activeren"
- Vul in het veld "Sleutel" de gewenste hash key in (een willekeurige reeks letters/cijfers die je zelf mag verzinnen).
- Overige velden moet je leeg laten.
- Klik op "Verzenden".
- Er verschijnt een groen vinkje achter "Certificaat upload geslaagd" als de hash key wordt geaccepteerd.


Configureren van voorbeeld
Om het voorbeeld op je eigen website te laten werken moet je de configuratie handmatig aanpassen. Ga als volgt te werk:

- Open het bestand "step2.php"
- Stel je MerchantID/SubID in m.b.v. setMerchant()
- Stel je hash key in m.b.v. setHashKey()
- Zorg dat de URLs naar jou domein verwijzen m.b.v. setUrlCancel(), setUrlError() en setUrlSuccess().

Upload de iDEAL bestanden naar je webserver.
Pagina 4

Voorbeeld (toelichting)

Het voorbeeld bevat 3 bestanden "step1.php", "step2.php" en "step3.php". Een werkend voorbeeld vind je op http://www.ideal-simulator.nl/examples/lite/step1.php

Step1.php
Deze pagina genereerd een random bestelling (ordernummer, order omschrijving en bedrag). Eventueel kun je de velden handmatig manipuleren. Klik op de "Submit" knop wanneer de gegevens naar wens zijn.

Step2.php
Op basis van de ontvangen ontformatie in stap 1, genereerd deze pagina het formulier dat de bestelinformatie naar iDEAL kan verzenden. Wanneer de bezoeker op de "Submit" knop klikt, wordt de data daadwerkelijk naar de iDEAL server verzonden.

Step3.php
Nadat de transactie is voltooid wordt de bezoeker 'teruggestuurt' naar deze pagina. Afhankelijk van de parameters in de URL geeft de pagina een melding.

Wanneer de bezoeker na de iDEAL transactie terug keert, weet u dankzij de parameters in de URL gelijk welke order bij de betaling hoorde. Pas wel op; een bezoeker kan deze URL natuurlijk ook handmatig intoetsen!!! Wanneer de URL wordt opgevraagd wil dit dus niet zeggen dat de betaling ook écht heeft plaatsgevonden.

Reacties

0
Nog geen reacties.