iDEAL
iDEAL Lite Rabobank
Integratie stap 2 - Testbestalingen voor activatie | Integratie stap 2 - Testbestalingen voor activatie |
|
|
|
| dinsdag 23 oktober 2007 | |
Stap 1: uitvoeren van 7 testbetalingen.Wanneer het iDEAL-contract is getekend en dit door je bank is opgestuurd naar de Rabobank iDEAL Desk wordt dit ook zichtbaar in het iDEAL Dashboard. Als je daarna ook alle 7 testtransacties met goed gevolg heeft voltooid, kunt je meestal al binnen enkele uren iDEAL zelf activeren in de iDEAL productieomgeving (https://ideal.rabobank.nl). Deze wachttijd van soms enkele uren wordt veroorzaakt omdat jouw testresultaten maar 4 keer per dag doorgegeven worden aan de productieomgeving van iDEAL Lite.Voor het doen van deze 7 testen zijn twee php-bestanden beschikbaar (idealtest.php en orderform.php in idealtest.zip onder downloads) welke ook op deze site te downloaden zijn. De code van idealtest.php met nog wel even vooraf aangepast worden, deze aanpassingen zijn hieronder geel gemarkeerd. Code van idealtest.php:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php ### is gelijk aan 'Sleutel', zie uw dashboard onder tabblad "Certificaat uploaden" $key = "xxxxxxxxxxxxx"; ### is gelijk aan 'Acceptant ID', zie uw dashboard onder tabblad "Gegevens Acceptant" $merchantID = "xxxxxxxxxx"; ### subID niet wijzigen ### $subID = "0"; ### bedrag moet geconverteerd worden naar eurocenten ### $amount = $_POST['grandtotal']*100; $orderNumber = $_POST['ordernumber']; $paymentType = "ideal"; ### De geldigheid van de aanbieding zetten we in dit voorbeeld op een week ### $validUntil = date("Y-m-d\TG:i:s\Z",strtotime ("+1 week")); ### Toon de bestellijst ### for($i=1;$i<=$_POST['numberOfRows'] ;$i++) { ${itemNumber.$i} = $_POST['Articleno' . $i]; ${itemDescription.$i} = $_POST['Product' . $i]; ${product.$i.number} = $_POST['Product' .$i. 'Number']; ${product.$i.price} = $_POST['Product' .$i. 'Price']*100; ### bereken alvast een deel van de SHA string ### $partOfSha = $partOfSha . ${itemNumber.$i} . ${itemDescription.$i} . ${product.$i.number} . ${product.$i.price}; } ### bouw de String op waarover een SHA1 moet worden berekend ### $shastring = "$key" . "$merchantID" . "$subID" . "$amount" . "$orderNumber" . "$paymentType" . "$validUntil" . $partOfSha ; ###speciale HTML entiteiten verwijderen: $clean_shaString = HTML_entity_decode($shastring); ### De tekens "\t", "\n", "\r", " " (spaties) mogen niet voorkomen in de string $not_allowed = array("\t", "\n", "\r", " "); $clean_shaString = str_replace($not_allowed, "",$clean_shaString); $shasign = sha1($clean_shaString); ?> Totaal bedrag van de transactie in eurocenten:<?php print $amount ?><br /> Betalingskenmerk: <?php print $orderNumber ?><br /> Hash: <?php print $shasign ?><br /> <br /> Overzicht van de bestelling:<br /><br /> <?php for($i=1;$i<=$_POST['numberOfRows'] ;$i++) { print 'Artikelnummer:'.${itemNumber.$i}.'<br />'; print 'Omschrijving:'.${itemDescription.$i}.'<br />'; print 'Aantal:'.${product.$i.number}.'<br />'; print 'Prijs:'.${product.$i.price}.'<br /><br />'; } ?> <FORM METHOD="post" ACTION="https://idealtest.rabobank.nl/ideal/mpiPayInitRabo.do" id=form1 name=form1> <INPUT type="hidden" NAME="merchantID" value="<?php print $merchantID ?>"> <INPUT type="hidden" NAME="subID" value="<?php print $subID ?>"> <INPUT type="hidden" NAME="amount" VALUE="<?php print $amount ?>" > <INPUT type="hidden" NAME="purchaseID" VALUE="<?php print $orderNumber ?>"> <INPUT type="hidden" NAME="language" VALUE="nl"> <INPUT type="hidden" NAME="currency" VALUE="EUR"> <INPUT type="hidden" NAME="description" VALUE="Bestelling: <?php print $orderNumber ?>"> <INPUT type="hidden" NAME="hash" size="50" VALUE="<?php print $shasign ?>"> <INPUT type="hidden" NAME="paymentType" VALUE="ideal"> <INPUT type="hidden" NAME="validUntil" VALUE="<?php print $validUntil ?>"> <?php for($i=1;$i<=$_POST['numberOfRows'] ;$i++) { echo ' <INPUT type="hidden" NAME="itemNumber'.$i.'" VALUE="'.${itemNumber.$i}.'"> <INPUT type="hidden" NAME="itemDescription'.$i.'" VALUE="'.${itemDescription.$i}.'"> <INPUT type="hidden" NAME="itemQuantity'.$i.'" VALUE="'.${product.$i.number}.'"> <INPUT type="hidden" NAME="itemPrice'.$i.'" VALUE="'.${product.$i.price}.'">'; } ?> <INPUT type="hidden" NAME="urlCancel" VALUE="http://www.domeinnaam.ext/betaling-afgebroken.html"> <INPUT type="hidden" NAME="urlSuccess" VALUE="http://www.domeinnaam.ext /betaling-gelukt.html"> <INPUT type="hidden" NAME="urlError" VALUE="http://www.domeinnaam.ext /betaling-error.html"> <INPUT name="Submit" type="submit" value="Betaal met iDEAL"> </form> </body> </html> ### is gelijk aan 'Sleutel', zie uw dashboard onder tabblad "Certificaat uploaden" $key = "xxxxxxxxxxxxx"; In het dashboard van iDEAL dient u een ‘sleutel’ op te geven. Om mezelf te beschermen tegen ‘niet bedoelde transacties’ heb ik in de testomgeving een andere sleutel gebruikt dan in de live omgeving. Ga op https://idealtest.rabobank.nl/ na aanmelden, en kies voor het tabblad Intergratie. ![]() Vul in het onderste gedeelte minimaal bij Sleutel een string in (bv. test12345) Indien je ook een drietal pagina’s gemaakt hebt met een korte melding van voor de verschillende terugmeldingen vul deze dan in bij de velden Success URL, Error URL en Cancel URL. Deze waarden dienen bij voorkeur overeen te komen met de bijbehorende URL’s in het laatste gedeelte van idealtest.php. Success URL en urlSuccess: http://www.domeinnaam.ext /betaling-gelukt.html Error URL en urlError: http://www.domeinnaam.ext /betaling-error.html Cancel URL en urlCancel: http://www.domeinnaam.ext/betaling-afgebroken.html ![]() ### is gelijk aan 'Acceptant ID', zie uw dashboard onder tabblad "Gegevens Acceptant" $merchantID = "xxxxxxxxxx"; Deze waarde is terug te vinden onder het tabblad Aanmelding en heet daar Acceptant ID.
|
|
| Laatst geupdate op ( zaterdag 27 oktober 2007 ) |
| < Vorige | Volgende > |
|---|
|
Gilze-Rijen, Netherlands
|
|||||||
![]() |
|
||||||
|
![]() ESE
|
||||||
| Meer gegevens | |||||||