ik heb een script waarmee je een betaling aan de bank kan doen via ideal
de bank geeft je de mogelijkheid om een handmatige en een automatische respons te krijgen
ik heb gekozen voor de automatische response
echter het probleem dat ik heb is dat als het script 'paymentok.php' aangesproken wordt via de autoresponse url van de bank ALLE SESSIEVARIABELEN niet in het script beschikbaar zijn voor de functies
echter als ik het script gewoon via mijn webbrowser aanspreek werkt alles perfect.
weet niet hoe ik dit nu aan moet pakken ik zit de hele middag al te !$%#@$%^^&&&
Allereerst even een tip.
Probeer taaltechnisch je berichten iets te verbeteren zodat het voor mij en anderen iets makkelijk te lezen valt ;-)
Maak je data een array en maak de url op basis van [php]http_build_query[/php] ?
<?php
// Klein voorbeeldje
$data = array(
'amount' => $bedrag
'currencyCode' => 978 // Wat is dit???
// etc
);
$url = http_build_query($data, '', '&')
?>
Maar wat veel beter is, waarom maak je niet gebruik van de code die de Rabobank zelf beschikbaar heeft gesteld? Staat een hoop commentaar bij. Daarnaast een 'goede' handleiding dus wat dat betreft moet je een heel eind kunnen komen.
ik heb het opgelost
zoals beloofd zal ik uitleggen hoe ik het nu doe
-bestellingen via de website worden sowieso opgeslagen in de database ovv order_id datum etc
-de $_POST data die ik van de return url en de report url krijg worden ook in de database opgeslagen
en de bestellingen worden verwerkt op basis van de transactie status.
ik had wat moeite met de opzet ,maar dankzij de link van niels ben ik er uit gekomen
ik heb de voorbeeldscripts van de rabobank gelezen en op advies van niels zet ik nu de post data in een array die ik vervolgens met de implode methode in een tabel plaats
hier een voorbeeld van de array
<?php
//sla de logdata op in de database
$transactiondata = array(
'received_datum' => date('d-m-Y, H:i:s'),
'transaction_reference' => $aOmniKassaResponse['transaction_reference'],
'transaction_status' => $aOmniKassaResponse['transaction_status'],
'transaction_id' => $aOmniKassaResponse['transaction_id'],
'order_id' => $aOmniKassaResponse['order_id'],
);
insert_transaction_data($transactiondata);
// en hier een voorbeeld van de functie die de array importeert in een tabel
[size=xsmall]Toevoeging op 13/01/2013 20:15:02:[/size]
de reden dat ik mijn eigen code niet aan de gang kreeg in de report url=>
// Merk op dat dit script via een 'cronjob' door de webserver van de Rabobank wordt opgeroepen.
// Er kan niet geredirect worden, en code die u print wordt niet verwerkt door de de webserver.
je kan dus alleen met de $_POST['Data'] die je terugkrijgt van de bank werken
de rabobank scripts bevatten ook een omnikassa.cls
de variabelen die in deze clas een waarde krijgen zijn wel gewoon beschikbaar in de scripts
voor jullie missch gesneden koek maar ik ben zelf blij dat ik eruit ben wat er nou precies de reden van was dat het niet lukte.