Op mijn website wil ik graag iDEAL Advanced van ING implementeren. Ik heb daarvoor de beschikbare PHP bestanden gedownload die ik via iDEAL ING overzicht kan downloaden, netjes een certificaat en key aangemaakt, etc. Wanneer ik echter binnen de 'voorbeeld-code' de getIssuers probeer, krijg ik bovenaan de pagina een Response empty melding. Alle gegevens heb ik netjes binnen de config-file ingevuld.
4.4 Foutafhandeling
Indien een fout optreedt in het berichtenverkeer tussen acceptant, acquirer en/of issuer wordt door
de iDEAL Advanced Connector een ander bericht teruggegeven. Om te kijken of er een fout is
opgetreden dient u na het ophalen van een response te controleren of er een fout is opgetreden
door het aanroepen van de volgende functie:
<?php
if (response->IsErrorMessage())
{
...
}
?>
Als er een fout is opgetreden zal ‘true’ teruggegeven worden door de functie IsErrorMessage() en
in het navolgende codeblok kan de fout afgehandeld worden met de volgende constructie:
<?php
if ($response->IsErrorMessage())
{
$errorCode = $response->getErrorCode();
$errorMsg = $response->getErrorMessage();
$consumerMessage = $response->getConsumerMessage();
}
?>
Heb je dit al geprobeerd?
Je moet dan natuurlijk wel even deze variabelen echo'en om ze te kunnen lezen
<?php
if ($response->IsErrorMessage())
{
$errorCode = $response->getErrorCode();
$errorMsg = $response->getErrorMessage();
$consumerMessage = $response->getConsumerMessage();
Wanneer ik dat stukje code plak in het getIssuerlist.php bestand (uit de illustratiecode van ING), krijg ik het volgende resultaat: Serialization:Response was empty
Notice: Undefined variable: response in /var/www/vhosts/domein.nl/httpdocs/www/ideal/getIssuerList.php on line 81
Fatal error: Call to a member function IsErrorMessage() on null in /var/www/vhosts/domein.nl/httpdocs/www/ideal/getIssuerList.php on line 81
Ja, eigenlijk moet je je officiële SSL-certificaat gebruiken, want daarmee bevestigt een trusted third party, de Certificate Authority (CA): dit is de server van Claudia. Met een self-signed certificaat kan iedere onbevoegde derde beweren wat hij wil.
Daarop valt voor eenvoudige iDEAL-toepassingen wel wat af te dingen. Het ophalen van de lijst met issuers is bijvoorbeeld geen functionaliteit waarvoor een verificatie van jouw identiteit iets toevoegt. Kijk maar:
Ik weet niet welke functionaliteit iDEAL Advanced van ING biedt (daar moet ik dus een slag om de arm houden), maar je zou de peer/host-controle kunnen halveren: jij wilt wel zeker weten dat je verbinding hebt met de server van de bank, maar je hoeft omgekeerd niet voor alles met je eigen certificaat te wapperen.