Heren,

Sorry, dat moest even opnieuw ;).

Gezien het feit dat er de laatste tijd veel problemen waren met de Ideal Mollie-scripts ben ik zelfs maar even wat gaan napluizen. Gezien de enorme complexiteit ben ik zelf maar wat gaan maken.

Want waarom zou je zelf een XML bestand uit elkaar trekken als daar standaard functies voor zijn? Waarom heb je 1000+ regels code nodig als dat ook met < 150 kan?

- http://arjan.i-cey.net/ideal.php

Test het even uit, speel met URLS, haal alles eruit wat ik vergeten ben eruit te halen :). Betalingen testen kan dmv de TBM Bank.

Mocht iemand een nettere oplossing voor het volgende hebben dan hoor ik het ook graag;

<?php
if((string) $xml->order->payed == 'true')
?>

En dan doel ik niet op het feit dat de mensen achter mollie 'payed' gebruiken ipv 'paid', iemand aldaar heeft niet goed opgelet in de Engelse les ;).
Cruciale fout is natuurlijk het feit dat je kunt spelen met het payment_ID, je kunt betalingen van andere ophalen...

Gelieve Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.

iemand aldaar heeft niet goed opgelet in de Engelse les ;).
Dat valt mee, het is gewoon goed in het engels.

Al zou ik het ook niet snel gebruiken, dat ben ik dan wel met je eens.
Mag ik dit zien?

SELECT transaction_id, amount, description FROM payments WHERE payment_id = a7ccca2c01471a950f5c15e9cfbb76a9

Sorry, dit payment_id bestaat nog niet!
Aangezien ik graag in een live-omgeving programmeer, ik heb net even wat dingen omgegooid ;). En waarschijnlijk zal ik zo nog wat dingen toevoegen, want het heeft geen nut om nog een keer een transactie op te starten als je al betaald heb.
Ik zag het nu,, maar sql injecties lukken me zowieso niet =P
In het netwerk data wat je verstuurd staat ook niks schokkends.
Voor de rest ben k nog beetje aan t kijken.
Zo, na nog wat kleine aanpassingen staat de code nu hier. Iemand nog op-en-aanmerkingen? Verbeteringen? Ideeën?
Rara wat klopt er niet?

Originele url:

http://arjan.i-cey.net/ideal.php?action=return&payment_id=fb259fe8cee1a65f5609859ceb8d6c29&transaction_id=4a11f519878acb2751a6b79c5ed8c2cd&payed=true
Bla bla ok!

Aangepaste url:

http://arjan.i-cey.net/ideal.php?action=return&payment_id=fb259fe8cee1a65f5609859ceb8d6c29
Sorry, er word een transaction_id verwacht en deze dient numeriek te zijn!

transaction_id dient helemaal niet numeriek te zijn :$

Over $xml->order->payed, is geen andere oplossing voor, je moet hem toch echt ophalen vanaf mollie en dat moet dan op die manier.. Of bedoel je wat anders?
@Chris, aangepast naar alphanumeriek :).

Waar ik op doelde mbt tot die $xml->order->payed is dat ik niet snap waarom een simpele vergelijking niet werkt. Waarom moet ik er een typecast naar een string van maken?
Volgens die statement gaat het script naar een else(if) statement als de waarde geen string is. Zal waarschijnlijk iets te maken hebben met hackgevoeligheid van hun kant?

Of misschien is het zo, dat anders PHP die "$xml->order->payed" ziet als "als jij bestaat ben je true" dingetje.. Je weet wel wat ik bedoel: $payed = true; en $payed = 'true'; zijn twee verschillende dingen. Doe je $payed = 'false'; is hij nog altijd true (omdat de variabele bestaat)... Snap je waar ik op doel?

Reageren