Toon posts:

[iDEAL/Internet kassa] verwerken bestelling in eigen db

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben aan het testen met de Rabobank internet kassa.
Basis wordt een beetje duidelijk, alleen snap ik niet helemaal waar en wanneer ik zelf mijn bestelling moet verwerken.

Ik wil bv. de bestelling in mijn eigen db opslaan om hiervan later een bestelbon te maken.
Moet ik dit voor de transactie van de bank opslaan?

Als ik dit doe en de transactie wordt voortijdig afgebroken, dan heb ik een bestelling in de db staan die niet geldig is.

Als ik dit na de transactie doe, dan moet ik wachten tot de klant weer geredirect wordt naar mijn site. Als de klant ondertussen de browser sluit, heb ik geen bestelling in mijn db staan terwijl die wel betaald is.

Hoe lossen jullie dit op of zie ik iets over het hoofd?

@ -NMe- scsi!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Je zou zeggen dat je hier al lang genoeg rondloopt om Waar hoort mijn topic? van buiten te kennen. ;)

WEB>>PRG

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Evilbee
  • Registratie: November 2002
  • Laatst online: 12-02 22:00
Je moet in iedergeval de bestelling in de database opslaan voordat je naar iDeal gaat.

Van iDeal krijg je daarna een betaal-status terug. En aan de hand daarvan kan je eens status aan je bestelling geven.

Maar pas als je het mailtje van iDeal krijgt met de betalingsbevestiging weet je pas zeker of een bestelling is betaald.

LinkedIn - Collega worden?


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Verwijderd schreef op woensdag 02 augustus 2006 @ 15:16:
Ik wil bv. de bestelling in mijn eigen db opslaan om hiervan later een bestelbon te maken.
Moet ik dit voor de transactie van de bank opslaan?

Als ik dit doe en de transactie wordt voortijdig afgebroken, dan heb ik een bestelling in de db staan die niet geldig is.

Als ik dit na de transactie doe, dan moet ik wachten tot de klant weer geredirect wordt naar mijn site. Als de klant ondertussen de browser sluit, heb ik geen bestelling in mijn db staan terwijl die wel betaald is.

Hoe lossen jullie dit op of zie ik iets over het hoofd?
Je ziet niets over het hoofd. Dit is waar services als Buckaroo hun bestaansrecht aan danken: zij zorgen ervoor dat je binnen redelijke tijd een duidelijke betalingsstatus terugkrijgt, ook als de klant de browser sluit. Als gebruiker van de internetkassa zal je op de optionele dagelijkse transactierapportage moeten wachten.

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Topicstarter
Maar hoe synchroniseren jullie je eigen db met de betalingen dan?
Handmatig?

Ik ga het nu doen als volgt:
Voordat de klant een verbinding maakt met iDEAL sla ik de bestelling op in de db.
Zo komen alle potentiele bestellingen in de db te staan.
Met de "postsale" actie update ik de status van de bestelling.
In het CMS geef ik alle betaalde bestellingen weer, maar ook een optie om door alle bestellingen te zoeken (ook degene die niet goed afgerond zijn).
Mochten ze een bestelling hebben die wel betaald is, maar niet goed geupdate is in de eigen db, dan kunnen ze die aan de hand van het ordernummer wel bekijken.

Wat denken jullie van deze handelen?
Persoonlijk vind ik het een beetje gaar, maar is het beste wat ik kan bedenken.

[ Voor 81% gewijzigd door Verwijderd op 03-08-2006 08:48 ]


Verwijderd

iDeal stuurt de gebruiker na het betalen terug naar jou "bedankt" pagina. Dat is standaard de StatReq.php pagina. Wat ik gedaan heb ik het iDealTransactionID code opslaan bij elke bestelling en op deze bedankt pagina maak ik een verbinding met mijn database en zoen de bestelling aan hand van dit ID veld op.
code:
1
iDealTransactionID = '".$_GET["trxid"]."'"

Vervolgens kun je aan hand van een if statement zelf kijken of de betaling goed is gegaan of niet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(!$result->isOK())
{
   //StatusRequest failed, let the consumer click to try again
}
else if(!$result->isAuthenticated())
{
   //Transaction failed, inform the consumer
}
else
{
   //Status Okay
   // = update database
   // = verstuur email
   // = etc..
}

Verwijderd

Verwijderd schreef op donderdag 03 augustus 2006 @ 08:28:In het CMS geef ik alle betaalde bestellingen weer, maar ook een optie om door alle bestellingen te zoeken (ook degene die niet goed afgerond zijn).
Mochten ze een bestelling hebben die wel betaald is, maar niet goed geupdate is in de eigen db, dan kunnen ze die aan de hand van het ordernummer wel bekijken.

Wat denken jullie van deze handelen?
Persoonlijk vind ik het een beetje gaar, maar is het beste wat ik kan bedenken.
Handmatig bestel status aanpassen moet je natuurlijk altijd kunnen doen! iDeal werkt voor 99% goed, maar soms zijn er gevallen dat een bestelling wel is betaald maar niet doorkomt naar jou site. In dat geval moet je een bestelling handmatig kunnen aanpassen.

Maar iDeal is juist zo ontworpen dat jij als beheerder zo min mogelijk hoeft te doen. Zorg ervoor dat je zelf een mailtje krijgt van de bestelling en de betaling. Dan kun je de bestelling meteen verwerken als deze binnen is en betaald is.

Verwijderd

Topicstarter
Verwijderd schreef op donderdag 03 augustus 2006 @ 08:56:
[...]
Maar iDeal is juist zo ontworpen dat jij als beheerder zo min mogelijk hoeft te doen. Zorg ervoor dat je zelf een mailtje krijgt van de bestelling en de betaling. Dan kun je de bestelling meteen verwerken als deze binnen is en betaald is.
Dat is het volgende punt, wanneer stuur ik het mailtje?
Pagina: 1