iDeal & ABN Amro
Graag wil ik wat feedback over het iDeal gebeuren met ABN Amro. Mensen die hier ervaring hebben weten vast wel waar ik het over heb.
De werking van iDeal gaat als volgt:
Op de website wordt een formulier ingevult en word door gestuurd naar het iDeal gebeuren van ABN Amro en word verder afgehandeld. Betaling afgehandeld dan word de gebruiker weer terug naar de website gestuurd.
De werking van mijn site is:
1 - De gebruiker vult een formulier in met zijn gegevens zoals naam, adres, aantal tickets etc.
2 - Alle ingevulde gegevens worden verwerkt en de prijs, sha-1 berekeningen worden gedaan. Alle gegevens van de bestelling word in de database en in een nieuw formulier gezet (met de velden die verplicht zijn voor iDeal)
3 - De gebruiker moet het formulier verzenden en word dan door gestuurd naar het iDeal gebeuren van ABN Amro en word verder afgehandeld.
4 - betaling afgehandeld dan word de gebruiker weer terug naar de website gestuurd. De row van bestelling word iets geupdate zoals de status word geupdate naar betaald.
Nu mijn probleem:
De gebruiker vult eerst het formulier in en dan word alles berekend en in een nieuw formulier gezet die hij weer moet versturen. Eigenlijk zou dit met 1 formulier moeten maar omdat in het 2de formulier prijs en sha etc word berekend kan dit niet. Eigenlijk moet het 2de formulier automatisch verzonden worden naar de ideal van ABN Amro alleen hoe doe ik dit. Met een gewone redirect kan dit toch niet omdat hij dan niet de velden mee neemt.
Hoe doen jullie dit altijd?
Gewijzigd op 31/05/2011 13:50:10 door Joakim Broden
Misschien snap ik je probleem niet. Maar kun je niet met jQuery of Mootools een hidden text input automatisch updaten? En deze ook doorsturen naar de iDeal betaal-pagina.
Klopt dat zou kunnen, maar wil het het liefst zonder javascript doen zodat ook mensen zonder javascript de betalingen kunnen doen.
En anders, kijk hier eens na. En ik kan me bijna niet voorstellen dat er users zijn die javascript hebben uitgeschakeld of geen javascript hebben op hun device/browser.
Mhhhh moet denk ik wel iets anders zijn dan dit met javascript op te lossen, waarschijnlijk een hele andere manier.
Wat moeten mensen precies in dat formulier invullen... en wat moet daar vervolgens dan nog aan gewijzigd worden? Ik neem aan dat ze iets in hun winkelmandje hebben zitten, en dat het invullen van de gegevens de laatste stap is ofzo?
Mensen vullen het volgende formulier in:
Aantal kaarten: (dit word verrekend met een javascript zodat realtime prijs veranderd)
Naam:
Adres:
Postcode:
Plaats:
e-mail:
Telefoon:
Type betaling: iDeal of overboeken
Bank: De bank voor iDeal
Daarna worden deze gegevens in de database opgeslagen en verwerkt in het formulier voor iDeal van ABN Amro. Alles word hierdoor in een sha1 opgeslagen en meegestuurd in het formulier. ABN Amro maakt dan dezelfde sha1 berekening als mij om te controleren of alle waardes correct zijn.
via javascript te kiezen om alles in 1 formulier te stoppen is niet echt een oplossing omdat javascript in de broncode te lezen valt, dus dan is de geheime code die in de sha1 gebruikt word te achterhalen waardoor deze formulier niet meer beveiligd is. Tenzij ik het met een ajax request doe alleen wil het het liefst zonder javascript doen.
Iemand een oplossing?
Code (php)
1
2
3
4
5
2
3
4
5
<p>U wordt binnen enkele seconden naar de website van iDeal geleid</p>
<script type="text/javascript">
setTimeout("document.formnaam.submit()",2500);
</script>
<script type="text/javascript">
setTimeout("document.formnaam.submit()",2500);
</script>
EDIT
Quote:
via javascript te kiezen om alles in 1 formulier te stoppen is niet echt een oplossing omdat javascript in de broncode te lezen valt, dus dan is de geheime code die in de sha1 gebruikt word te achterhalen waardoor deze formulier niet meer beveiligd is. Tenzij ik het met een ajax request doe alleen wil het het liefst zonder javascript doen.
Dit is het hele idee van de SHA1 checksum. Je kan namelijk het formulier uitlezen, maar een sha1 decrypten, tot een string van ca. 140 tekens: SUCCES!
Dit is de enige methode, aangezien je geen iDeal API hebt
EDIT 2
Bovendien zou het erg vervelend zijn, als iemand jou iDeal gegevens zou stelen, en mensen betalingen laten doen naar jou bankrekening. ;)
Gewijzigd op 01/06/2011 11:32:28 door Pieter van Linschoten
Pieter van Linschoten op 01/06/2011 11:28:16:
Vaak wordt de volgende methode gebruikt:
Zo heb ik het momenteel ook, het leukste zou wel zijn als deze stap er tussen uit kon (of niet te zien was). Heeft iemand toevallig nog zo'n oplossing hoor ik het graag.
Code (php)
1
2
3
4
5
2
3
4
5
<p>U wordt binnen enkele seconden naar de website van iDeal geleid</p>
<script type="text/javascript">
setTimeout("document.formnaam.submit()",2500);
</script>
<script type="text/javascript">
setTimeout("document.formnaam.submit()",2500);
</script>
Zo heb ik het momenteel ook, het leukste zou wel zijn als deze stap er tussen uit kon (of niet te zien was). Heeft iemand toevallig nog zo'n oplossing hoor ik het graag.