[Bibit betaling denkwijze]

Pagina: 1
Acties:

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hey,

ik heb de Bibit betaling werkend, maar zit nu met nog een klein probleem.

Voordat je de user naar de Bibit betalingURL kunt sturen moet je z'n order in je database hebben geplaatst, en als ik dat doe, gooi ik tegelijkertijd z'n mandje leeg.

Als een user dus op de eennalaatste pagina is in m'n shop en het overzicht van z'n mandje nog 's ziet met de totaalprijzen e.d., dan is daar een knop 'NEXT' die verwijst naar de pagina waarin z'n order wordt verwerkt en waarin hij daarna wordt geredirect naar de Bibit betaal URL.

Voordat de user wordt geredirect check ik ook of er wel wat in z'n mandje zit, zoniet: 'basket leeg foutmelding'.
Als een user dus 1 keer op NEXT drukt gaat het goed, maar als hij 2 keer op NEXT drukt gaat het mis: de 1e keer wordt nl. het order gestored en z'n mandje leeggegooid, maar omdat hij dan nog een keer drukt krijgt hij de melding dat z'n mandje leeg is!

Wat ik zou kunnen doen is bij het plaatsen van het order een timestamp opslaan, en als iemand dan 2 keer op NEXT drukt, kijken of er binnen de laatste 30 seconden al een order is geplaatst door die user, zoja: naar Bibit redirecten, zonee: basket leeg foutmelding.

Misschien weten jullie een betere oplossing?

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

zodra bibit de order heeft geconfirmed naar je receive.php de basket flushen.

dit is meestal binnen een halve minuut!

(kan je er meteen bijzetten dat z'n order is aangekomen bla bla bla bij de volgende hit)

Klaar voor een nieuwe uitdaging.


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hmm ik heb die recieve.php nog niet echt aan de praat gekregen, wist ook niet wat er de bedoeling precies van was; m'n klant werkte altijd met de mailtjes die hij van Bibit kreeg en de Bibit Merchant login.

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

Op woensdag 27 februari 2002 15:37 schreef TangLeFuzZ het volgende:
Hmm ik heb die recieve.php nog niet echt aan de praat gekregen, wist ook niet wat er de bedoeling precies van was; m'n klant werkte altijd met de mailtjes die hij van Bibit kreeg en de Bibit Merchant login.
oh, dus je hebt geen eigen admin voor de orders :?

tsja, ik zou die receive.php juist WEL gebruiken, zeker voor dit soort zaken...

Klaar voor een nieuwe uitdaging.


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Dat is zeker handig ja, ik zal er meteen mee bezig gaan...ik dacht nl. dat ik nog wel wat problemen tegen kwam, maar zal het weer 's proberen.

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hm, als ik die receive.php gebruik dan krijg ik:
The following 'xml' type error occured last:<br>Host calling this page is not the valid Bibit server, actual host calling: mijneigenhost
Trouwens: als ik doe wat jij zegt Chem, en een user drukt dan 2 keer op NEXT, dan ziet hij een vol mandje en maakt hij bij die 2e keer drukken NOG een order aan, en dat is ook niet de bedoeling.
Dus zo'n check of er in de laatste 30 sec. al een order is geplaatst moet er denk ik zowiezo wel in.

Nog iets:
moet je die receive.php door je server uit laten voeren, of moet je hem zelf aanroepen?

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Via ICQ heeft Joror me al het een en ander uitgelegd, ik kom er verder wel uit.

Nu heb ik nog een vraagje over die HTTPS proxy van Bibit die gebruikt wordt om de succesURL of failureURL weer te geven.

M'n succesURL bevat de volgende html:
code:
1
2
3
<html><head><title>Bibit Payment</title></head><body><font face="arial,helvetica" size="2"><b>Order placed:</b><br><br>succesvol order berichtje
<br>
<br><b>vetgedrukt</b></font></body></html>

Daar is dus niks mis mee, er staan ook geen scripts in oid, dus het zou goed moeten gaan.
Hij staat op dezelfde server als de rest van m'n Bibit scripts.
Maar je raad het al, er gaat dus wel wat mis, ik zie dat hij de succesURL wel goed meegeeft, maar de Bibit HTTPS proxy geeft hem niet weer, ik krijg een lege kale pagina te zien!

Waar kan dat aan liggen?

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

pff, bibit is alweer lang geleden pour moi :)

eerlijk gezegd weet ik dat niet zo 1-2-3. Als je gewoon 1 zinentje doet oid, pakt-ie dat wel? of een enkel getal, whatever? of "OK" ?

Klaar voor een nieuwe uitdaging.


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Nee dat werkt ook niet, maar ik heb het al gevonden.

Die ene pagina die ik eerst had was een php pagina waarin ik vars doorgaf:

order.php?action=succes

En dat werkte niet, als ik dezelfde melding in een simpele html pagina zet gaat het wel goed, en dat is niet zo mooi, want ik moet toch echt de succesmelding uit de database halen :(

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

Op donderdag 28 februari 2002 09:56 schreef TangLeFuzZ het volgende:
Nee dat werkt ook niet, maar ik heb het al gevonden.

Die ene pagina die ik eerst had was een php pagina waarin ik vars doorgaf:

order.php?action=succes

En dat werkte niet, als ik dezelfde melding in een simpele html pagina zet gaat het wel goed, en dat is niet zo mooi, want ik moet toch echt de succesmelding uit de database halen :(
geef dan een html'etje mee die weer via javascript de user doorsluist naar je php page. + html linkje, uiteraard :)

Klaar voor een nieuwe uitdaging.


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Ochja...dat kan natuurlijk ook :)
Ik ga d'r mee bezig...thnx

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
pff, dat gaat ook niet echt lekker...bibit verkloot nl. de link in m'n javascriptje:

redirect naar www.mijnserver.com/blaat.php?action=ok wordt:

www.mijnserver.com/blaat.php?action=www.mijnserver.com/ok

;(
Bibit zuigt :)

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

hmz, bibit doet idd het eea. met die links om https-errors in de browser te voorkomen (via een https proxy)
uhm... wat je DAN moet doen, is die link uit losse stukjes opzetten, zodat bibit het niet als een link herkent. geloof ik.

Klaar voor een nieuwe uitdaging.


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Nog even over die receive.php:

Ik heb gevraagd of ze de confirmation method op POST en XML wilden zetten, dat hebben ze gedaan (zeggen ze), maar nu krijg ik in m'n recieve.txt:

"No XML post message found at all."

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hmmm ik denk dat ik al een goeie oplossing voor m'n probleem heb gevonden zodat ik die receive file niet hoef te gebruiken (m'n klant checked het liever via mail zei hij):

ik genereer een 32 characters lang random 'sessie' id, die gooi ik in de basket, en als iemand dan een order plaatst via bibit kijk ik eerst of er al een order is geplaatst met dat id door die user, is dat zo: redirecten naar bibit, is dat niet zo: plaatsen en redirecten naar bibit.

Op die manier moet het gewoon goed gaan..lijkt me.

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Ik kom er net achter dat wat ik ook doe, het toch geen zin heeft, want als je 2 keer op next drukt op het moment dat hij contact maakt met Bibit, dan krijg je een 'bibit error: 5 - Duplicate Order' melding, Bibit stored een order dus ook al VOOR die betaling gedaan is, vind ik erg raar, maar het is toch zo ;(

Hebben jullie daar geen last mee?

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

nee...

ik snap het probleem ook niet helemaal :?

wat wij deden (klant is van bibit afgestapt) was:
-klant plaatst bestelling @ site
-klant wordt doorgestuurd naar bibit
-bla bla bla
-klant komt terug op site -> session flush, klaar.

indien er op plekken ge-F5'ed werd was dat geen probleem, aangezien de status in de sessie werd onthouden en de klant evt. doorgeheaderd werd naar de juiste page

Klaar voor een nieuwe uitdaging.


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Ok, ik zal het nog wel een keer doornemen...ik doe het ook ongeveer op die manier, maar werk niet met sessies...

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Chem, heb jij nog ergens een testshop oid?
Zoja, probeer dan ook 's op het moment dat hij naar bibit wordt geredirect dat scherm te verversen, bij mij gaat het dan echt mis, ik krijg die duplicate error.
Ik heb dan dus nog geen betaalgegevens ingevuld, maar het order is al wel gestored bij Bibit.
Pagina: 1