iDeal Lite XML-terugmeldscript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paul van Eck

Paul van Eck

21/01/2014 08:32:56
Quote Anchor link
Goedemorgen,

Rabo iDeal Lite biedt de mogelijkheid de status van een betaling 'terug te melden' met een XML-script. Wie heeft voor mij een eenvoudig scriptje om het XML-bericht mee af te vangen?

Anwoord van de Rabo op mijn vraag om een voorbeeldscript is als volgt:

Quote:
Geachte relatie, De XML terugkoppeling kunt u in het iDEAL Dashboard instellen in plaats van een bevestiging per email. Beide terugkoppelingen zijn niet beveiligd. U dient zelf handmatig de betaling in het iDEAL Dashboard te controleren op de juiste eindstatus. Er vindt geen xml terugkoppeling plaats als uw klant het betaalvenster al bij de bank afsluit of de statusnavraag niet leidt tot een eindstatus. Vanwege deze beperkingen is de xml terugkoppeling niet opgenomen in de handleiding en geeft de Rabobank ook geen verdere ondersteuning aan deze optie. Het formaat van het XML bericht is als volgt:
?xml version="1.0" encoding="UTF-8"?\n Notification xmlns="http:⁄⁄www.idealdesk.com⁄Message" version="1.1.0"\n createDateTimeStamp@TQL:exists(create_time) ? create_time : ""@⁄createDateTimeStamp\n transactionID@TQL:ext_txn_id@⁄transactionID\n purchaseID@TQL:tracking_nbr@⁄purhaseID\n status@TQL:result_text@⁄status\n Met vriendelijke, Rabo iDEAL Desk


Dat was dus niet het antwoord waar ik naar zocht. Ik zoek dus een scriptje om het verzonden XML-bericht mee af te handelen. Wie kan me op het juiste spoor zetten?

Paul
 
PHP hulp

PHP hulp

26/12/2024 07:37:09
 
Michael -

Michael -

21/01/2014 08:36:26
Quote Anchor link
Simplexml
Laad hiermee de xml in en controleer dan of de terugkoppeling aanwezig is, zo ja, tonen en betaling voltooid.
 
Paul van Eck

Paul van Eck

21/01/2014 08:59:47
Quote Anchor link
Michael, bedankt. Probleem is dat het xml-bericht van de bank helemaal niet lijkt aan te komen. Ik heb een nu heel simpel test-scriptje staan dat moet checken óf er überhaupt iets ge-post is:

if (isset($_POST)) {
// er is gepost, post-gegevens kan een xml-bericht bevatten.
// Afhandelen eventueel XML-bericht.
}
else {
// er is niet gepost, dus is er geen XML-bericht maar alleen een pagina-aanroep.
}


Dat scriptje ziet echter niet eens dát er een XML-bericht gestuurd is. Zo'n XML-bericht is uiteindelijk toch ook gewoon POST-data?
 
Dos Moonen

Dos Moonen

21/01/2014 09:56:56
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

var_dump($_SERVER['REQUEST_METHOD'], file_get_contents('php://input'));

?>

Wat is daar het resultaat van? Mogelijk wil je de bron code bekijken of htmlspecialchars() om de file_get_contents() gooien.
 
Erwin H

Erwin H

21/01/2014 10:05:07
Quote Anchor link
Paul van Eck op 21/01/2014 08:59:47:
Dat scriptje ziet echter niet eens dát er een XML-bericht gestuurd is. Zo'n XML-bericht is uiteindelijk toch ook gewoon POST-data?

Laat ik vooropstellen dat ik de rabobank ideal implementatie niet ken, dus misschien sla ik de plank volledig mis. Echter, over het algemeen zal je zelf een call moeten maken naar de ideal provider (rabobank in dit geval dus) waarbij de content van de response de xml (of json) content is. Het is dus geen push vanuit hun, maar een pull vanuit jou. De meeste providers zullen een url hebben waarop je status aanvragen kunt doen voor aangemaakte betalingen. Die url zul je moeten aanroepen (via een curl request bijvoorbeeld) en de body uitlezen.
Gewijzigd op 21/01/2014 10:05:34 door Erwin H
 
Paul van Eck

Paul van Eck

21/01/2014 10:13:44
Quote Anchor link
Beste Erwin,

Als het inderdaad een pull-actie van mij zou moeten zijn dan is alles verklaard. Echter de rabo vraagt bij de instellingen aan te geven of je terugmelding wilt via email óf via xml, en in het laatste geval moet je de url van het xml-afhandel-script opgeven. Dat riekt naar een push toch..? Vergelijkbaar met hoe PayPal het ook doet.

Afijn, dank allen zover voor de input. Ik speur en test verder.

Paul
 
Ward van der Put
Moderator

Ward van der Put

21/01/2014 10:29:07
Quote Anchor link
Ik zou aan plan B gaan sleutelen vanwege deze opmerking van Rabobank: ”Er vindt geen xml terugkoppeling plaats als uw klant het betaalvenster al bij de bank afsluit of de statusnavraag niet leidt tot een eindstatus.”

Het komt namelijk regelmatig voor dat een klant betaalt met iDEAL en daarna het iDEAL-venster van de bank sluit. Is de klant nog bezig met betalen, dan is er nog geen eindstatus en wordt die kennelijk evenmin door Rabobank teruggekoppeld (waar je eigenlijk eerder zoiets als "transactie in behandeling" zou verwachten).

Erwin H op 21/01/2014 10:05:07:
Laat ik vooropstellen dat ik de rabobank ideal implementatie niet ken, dus misschien sla ik de plank volledig mis. Echter, over het algemeen zal je zelf een call moeten maken naar de ideal provider (rabobank in dit geval dus) waarbij de content van de response de xml (of json) content is. Het is dus geen push vanuit hun, maar een pull vanuit jou. De meeste providers zullen een url hebben waarop je status aanvragen kunt doen voor aangemaakte betalingen. Die url zul je moeten aanroepen (via een curl request bijvoorbeeld) en de body uitlezen.

Dat is niet helemaal juist. De betere PSP's ondersteunen voor iDEAL-transacties zowel een push als een pull. Je kunt één van beide of beide gebruiken. De push, met een POST van de PSP naar een geheime URL, is zelfs het veiligst omdat de client helemaal buiten beeld blijft en je het verkeer tussen je server en die van de PSP helemaal kunt dichttimmeren (met SSL, hash-ID's en IP-controles bijvoorbeeld).

Bij deze implementaties heb je drie URL's: een report-URL voor de push, een check-URL voor de pull en een return-URL voor de client na het afronden van de betaling. Keert de client terug naar de return-URL, dan roep je van daaruit verborgen de check-URL aan voor een controle van de betaling. De report-URL is dan echter al aangeroepen, als je ook de push gebruikt, zodat een pull via de check-URL vaak overbodig is.
 
Paul van Eck

Paul van Eck

21/01/2014 10:38:42
Quote Anchor link
Plan B is inderdaad al in gebruik, en werkt prima. Wilde echter het xml-gebeuren toevoegen zodat het voor de beheerder van de door mij gebouwde webshops nog wat prettiger werkt. PayPal, IcePay, Mollie, allen werken prima met xml-push en -pull. Maar met de Lite/Basic varianten van de banken blijft het tobben.

Paul
 
Michael -

Michael -

21/01/2014 10:44:50
Quote Anchor link
Paul van Eck op 21/01/2014 10:38:42:
PayPal, IcePay, Mollie, allen werken prima met xml-push en -pull. Maar met de Lite/Basic varianten van de banken blijft het tobben.


Mollie iDEAL Lite/Basic overstapservice misschien een optie? Als het echt zo veel makkelijker is...
 
Paul van Eck

Paul van Eck

21/01/2014 11:00:16
Quote Anchor link
Michael,

Dit forum is toch niet bedoeld voor reclame..?
Afijn, IK ben niet degene die uiteindelijk bepaalt welke bank moet worden aangesloten aan de shops, dat bepaalt mijn klant. En als die kiest voor de Rabo Lite versie, dan wil ik graag de beste oplossing daarvoor bieden. Vandaar dat mijn topic specifiek over die iDeal-versie (Lite/Basic) gaat.

groet, Paul
 
Michael -

Michael -

21/01/2014 11:05:59
Quote Anchor link
Paul van Eck op 21/01/2014 11:00:16:
Michael,

Dit forum is toch niet bedoeld voor reclame..?
Afijn, IK ben niet degene die uiteindelijk bepaalt welke bank moet worden aangesloten aan de shops, dat bepaalt mijn klant. En als die kiest voor de Rabo Lite versie, dan wil ik graag de beste oplossing daarvoor bieden. Vandaar dat mijn topic specifiek over die iDeal-versie (Lite/Basic) gaat.

groet, Paul


Ik zie er geen reclame in hoor. Ik geef alleen aan dat je eenvoudig over kunt van rabo naar mollie.
 
Ivo P

Ivo P

21/01/2014 11:24:56
Quote Anchor link
de lite-variant van de Rabobank is zwaar uitgekleed.

De terugmelding is beperkt en volgens hun eigen zeggend dus ook al onbetrouwbaar. Lite is eigenlijk alleen geschikt voor kleine shops waarbij de eigenaar regelmatig inlogt bij zijn bank om de transacties te zien.

Het is denk ik vooral een kosten aspect: die kleine shops hoeven dan niet voor een uitgebreide functionaliteit te betalen.
mi. gaat dat wat mank, als je juist als bank kosten maakt om je product aan te passen tot redelijk onbruikbaar. (neem aan dat ze sowieso het normale pakket eerst gemaakt hebben) Maar het zal wel bedoeld zijn als soort van free-be om de klant straks naar het grote pakket te laten gaan.
 
Local Dev

Local Dev

21/01/2014 14:13:53
Quote Anchor link
Je kan dit oa afhandelen met SimpleXML
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.