weer over pay.nl
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$payData['tokenid'] = 'AT-0076-0550';
$payData['token'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$payData['gateway'] = 'rest-api.pay.nl';
$payData['version'] = 'v18';
$payData['namespace'] = 'Transaction';
$payData['function'] = 'start';
$payData['format'] = 'json';
$strUrl = 'https://' . $payData['tokenid'] . ':' . $payData['token'] . '@' . $payData['gateway'] . '/' . $payData['version'] . '/' . $payData['namespace'] . '/' .
$payData['function'] . '/' . $payData['format'] . '?';
# Add arguments
$arrArguments = array();
$arrArguments['serviceId'] = 'SL-xxxxx2';
$arrArguments['amount'] = $_GET['amount'];
$arrArguments['ipAddress'] = $_SERVER['REMOTE_ADDR'];
$arrArguments['finishUrl'] = 'https://www.xxxxxx.nl/paymentdone';
$arrArguments['transaction']['description'] = 'Bestelling afronden';
$arrArguments['transaction']['orderNumber'] = $order_id;
$arrArguments['testMode'] = 0;
$arrArguments['notification']['type'] = 'email';
$arrArguments['notification']['recipient'] = $email;
$payData['token'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$payData['gateway'] = 'rest-api.pay.nl';
$payData['version'] = 'v18';
$payData['namespace'] = 'Transaction';
$payData['function'] = 'start';
$payData['format'] = 'json';
$strUrl = 'https://' . $payData['tokenid'] . ':' . $payData['token'] . '@' . $payData['gateway'] . '/' . $payData['version'] . '/' . $payData['namespace'] . '/' .
$payData['function'] . '/' . $payData['format'] . '?';
# Add arguments
$arrArguments = array();
$arrArguments['serviceId'] = 'SL-xxxxx2';
$arrArguments['amount'] = $_GET['amount'];
$arrArguments['ipAddress'] = $_SERVER['REMOTE_ADDR'];
$arrArguments['finishUrl'] = 'https://www.xxxxxx.nl/paymentdone';
$arrArguments['transaction']['description'] = 'Bestelling afronden';
$arrArguments['transaction']['orderNumber'] = $order_id;
$arrArguments['testMode'] = 0;
$arrArguments['notification']['type'] = 'email';
$arrArguments['notification']['recipient'] = $email;
ls na afronden hij hierheen gaat: "https://www.xxxxxx.nl/paymentdone"
Dan krijg ik niet mijn $order_id mee, danwel de status etc.
Alleen een standaard test orderid wat hun maken.
Ik kan wel de orderId via "https://www.xxxxxx.nl/paymentdone?oderId=$orderId" meegeven, maar ja, ik wil ook de status hebben.
Heeft iemand hier ervaring mee?
Daarin krijg je hun orderid aangeleverd. Dat moet je dan combineren met jouw orderid.
Dat kun je bijvoorbeeld opslaan in je database. (of in een session, maar dat kan mogelijk verlopen of anderzins kwijtraken).
Dus
jij hebt een order. Zeg orderid 123 en er moet 10 euro betaald worden
Dat meld je aan bij Pay.nl en zij geven hun orderid. (zeg 999)
Je slaat op in je datasbase
mijnorderid = 123. bedrag = 10.00, payorderid = 999
Je krijgt ook een url van pay.nl (waar vast die 999 ook in staat?) en de klant gaat betalen.
Later komt hij terug met payorderid = 999.
Die zoek je op in de database. en je weet weer wie het was.
De status krijg je vlak voor de terugkomst van de klant te horen. Dit geeft pay.nl uiteraard niet direct door in de retour url.
Want dan ziet een slimmerik snel genoeg dat dat iets is als danielssite.nl/paymentdone?id=999&status=ok.
En vervolgens doet hij nog een aankoop van 1000 euro en typt zelf die url in....
Ik heb het idee dat je niet helemaal de handleiding volgt.
ook al omdat pay.nl via composer een heleboel van dit soort zaken afvangt.
Ik heb van mijn pc nu geen toegang tot mijn webshopproject, maar ik weet zeker dat ik alleen maar settings hoefde aan televeren en niet zo veel als jij nu
https://www.pay.nl/plugins#anchor-eigen-implementatie
de transactionId, moet ik hebben en kan op elk moment de status opvragen.
Als je wacht tot de klant terug komt: die komt niet per se terug. NA afronden betaling, kan hij nalaten de "terug naar de shop" knop bij de bank te klikken op het scherm "betaling gelukt"
Hij heeft dan betaald, maar komt niet terug.
Als jij pas bij terugkomst de status opvraagt, mis je zo'n order. Klant gaat klagen dat geen mail, geen product. Jij moet weer opzoeken dat weldegelijk betaald is en moet terug betalen.
Klant heeft niet tijdig zijn product, en mogelijk is daarna product uitverkocht of in prijs verhoogd.
Dus al komen 9 van de 10 klanten terug: handel op de onderwater aanroep van de paymentprovider (niet alleen pay.nl doet dat zo)
Jouw "kan op elk moment de status opvragen" doet mij vrezen dat je mogelijk in het gat valt dat ik hier beschrijf.
Zie Exchange url op jouw link
Weet iemand, hoe je via deze wijze direct een paypal betaalmethode kiest zonder daar eeerst op de klikken in de betaalmethode lijst.