Avatar billede carstenandersen Nybegynder
06. april 2011 - 20:25 Der er 4 kommentarer og
1 løsning

Loader side flere gange efter betaling i popup vindue

Hej eksperter

Når man kommer frem til betalingssiden i vores system, kan man betale med dankort i et popupvindue. Sker med denne kode:

<form action="https://betaling.wannafind.dk/paymentwindow.php" method="post" target="wannafind_paymentwindow" name="wannafind" id="wannafind">
<input type="hidden" name="shopid" value="XXXXXXXXXX">
<input type="hidden" name="currency" value="208">
<input type="hidden" name="amount" value="<% Response.Write Session("Pris") %>00">
<input type="hidden" name="orderid" value="<% Response.Write Naestefakturaid %><% Response.Write Session("Ordreid") %>">
<input type="hidden" name="paytype" value="creditcard">
<input type="hidden" name="cardtype" value="DK,V-DK">
<input type="hidden" name="uniqueorderid" value="true">
<input type="hidden" name="lang" value="da">

<input type="hidden" name="accepturl" value="http://<% Response.Write Tilbageside %>/sideedit/konto/forlaeng-betaling-dataopdatering.asp?Id=<% Response.Write Session("Bruger") %>&Pakke=<% Response.Write Session("Pakke") %>&Pakkeoprindelig=<% Response.Write rs("Pakke") %>&Pris=<% Response.Write Session("Pris") %>&Ordrenr=<% Response.Write Naestefakturaid %><% Response.Write Session("Ordreid") %>">
<input type="hidden" name="declineurl" value="http://<% Response.Write Tilbageside %>/sideedit/konto/forlaeng-betaling-decline.asp">
</form>

Jeg oplever dog ofte, at når en bruger har betalt med dankort i popup-vinduet, og bliver sendt videre til "accepturl", så sker der ofte det, at "accepturl" bliver kørt eller loaded mange gange. Kunden får derfor flere bekræftelser, en gang helt op til 15 gange, inden systemet går videre.

Ved I hvad dette kan skyldes? Vores udbyder siger, at det er hvis en bruger klikker flere gange, men fejlen sker også, hvis jeg selv laver en testbetaling og virkelig kun har trykket 1 gang.

På forhånd tak.
Avatar billede Slettet bruger
04. maj 2011 - 00:49 #1
Det absolut eneste jeg kan se i din kode, der sender nogen som helst videre, er din formular action.
Men den sender personen videre til https://betaling.wannafind.dk/paymentwindow.php.

Hvorhenne bliver personen sendt til "accepturl"?
Avatar billede carstenandersen Nybegynder
04. maj 2011 - 06:56 #2
erizias, fedt at du vil forsøge at hjælpe :-) Når brugeren i popup-vinduet hos Wannafind har indtastet sine kreditoplysninger og de er godkendt, sendes brugeren tilbage til en af mine sider, "accepturl". Denne side sørger for at opdatere brugerens udløbsdato, udstede faktura, sende bekræftelse osv. Det er denne side, som af en eller anden mærkelig grund loades flere gange?
Avatar billede Slettet bruger
04. maj 2011 - 11:17 #3
Og måden hvorpå wannafinds side finder ud af, hvilken side den skal sende videre til, er vha. dit input accepturl?

Så er der enten en fejl på wannafinds betalingsside, eller også er der en fejl i din forlaeng-betaling-dataopdatering.asp

Evt. prøv at skrive koden for denne?
Avatar billede carstenandersen Nybegynder
04. maj 2011 - 11:30 #4
Wannafind siger, at det hænger sammen med, at brugeren er utålmodig og trykker flere gange. Det kan ikke helt passe, da den også gør det ved tests, hvor jeg selv, tålmodigt, foretager et køb.

Koden kommer her (med lidt xxx):

<!-- #include virtual="/forb6675.asp"-->

<%

Bruger = Request.QueryString("Id")
Bruger = replace(Bruger, "'", "")
SQL = "Select * from Brugere where Id= " & Bruger

Set rs = Conn.Execute(SQL)

Navn = rs("Navn")
Adresse = rs("Adresse")
Postnr = rs("Postnr")
Partnerid = rs("Partnerid")

function DBDate(sDate)
    DBDate=year(sDate)&"-"&right("0"&month(sDate),2) &"-"& right("0"&day(sDate),2)
end function

if Request.QueryString("Pakkeoprindelig") = 0 then

Id = rs("Id")
Pakke = Request.QueryString("Pakke")
Pakke = replace(Pakke, "'", "")
SQL2 = "UPDATE Brugere set Udloeb ='"&DBDate(DateAdd("d",459,CDate(rs("Udloeb"))))&"'"
SQL2 = SQL2 & ", Pakke= '" & Pakke & "'"

SQL2 = SQL2 & "  Where Id= " & Id

Set rs2 = conn.execute(SQL2)

else

Id = rs("Id")
Pakke = Request.QueryString("Pakke")
Pakke = replace(Pakke, "'", "")
SQL2 = "UPDATE Brugere set Udloeb ='"&DBDate(DateAdd("d",366,CDate(rs("Udloeb"))))&"'"
SQL2 = SQL2 & ", Pakke= '" & Pakke & "'"

SQL2 = SQL2 & "  Where Id= " & Id

Set rs2 = conn.execute(SQL2)

end if

%>

<%

if Request.QueryString("Pakke") = 3 then

if Request.QueryString("Pakkeoprindelig") < 3 then

Intrabruger = rs("Id")
Maxmedlemmer = 200
Maxgruppe = 999
Maxgruppemedlem = 200
SQL6 = "UPDATE Intrabruger set Maxmedlemmer ='" & Maxmedlemmer & "'"
SQL6 = SQL6 & ", Maxgruppe = '" & Maxgruppe & "'"
SQL6 = SQL6 & ", Maxgruppemedlem = '" & Maxgruppemedlem & "'"

SQL6 = SQL6 & "  Where Bruger = " & Intrabruger

Set rs6 = conn.execute(SQL6)

end if

end if

%>

<!-- #include virtual="sideedit/include/luk-database.asp"-->

<!-- #include virtual="/forbfaktura6675.asp"-->

<%

Side = "xxxxxxx"
Bruger = Request.QueryString("Id")
Bruger = replace(Bruger, "'", "")
dg=Day(Date())
md=Month(Date())
yyyy=YEAR(Date())
Udstedt = yyyy&"-"&md&"-"&dg

dg=Day(Date())
md=Month(Date())
yyyy=YEAR(Date())
Forfald = yyyy&"-"&md&"-"&dg

dg=Day(Date())
md=Month(Date())
yyyy=YEAR(Date())
Betalingsdato = yyyy&"-"&md&"-"&dg

Betalt = 1

Tekst = "xxxxxxx"
Antal = 12
Pristemp = Request.QueryString("Pris")
Pristemp = replace(Pristemp, "'", "")
Pris = Pristemp / 100 * 80
Belob = Pris
Moms = Pristemp / 100 * 20
Ialt = Pristemp

SQL3 = "INSERT INTO Faktura(Side, Bruger, Udstedt, Forfald, Betalingsdato, Betalt, Navn, Adresse, Postnr, Tekst, Antal, Pris, Belob, Moms, Ialt, Partnerid)"
SQL3 = SQL3 & "Values("
    SQL3 = SQL3 & "'" & Side & "',"
    SQL3 = SQL3 & "'" & Bruger & "',"
    SQL3 = SQL3 & "'" & Udstedt & "',"
    SQL3 = SQL3 & "'" & Forfald & "',"
    SQL3 = SQL3 & "'" & Betalingsdato & "',"
    SQL3 = SQL3 & "'" & Betalt & "',"
    SQL3 = SQL3 & "'" & Navn &"',"
    SQL3 = SQL3 & "'" & Adresse & "',"
    SQL3 = SQL3 & "'" & Postnr & "',"
    SQL3 = SQL3 & "'" & Tekst & "',"
    SQL3 = SQL3 & "'" & Antal & "',"
    SQL3 = SQL3 & "'" & Pris & "',"
    SQL3 = SQL3 & "'" & Belob & "',"
    SQL3 = SQL3 & "'" & Moms & "',"
    SQL3 = SQL3 & "'" & Ialt & "',"
    SQL3 = SQL3 & "'" & Partnerid & "'"
    SQL3 = SQL3 & ")"
   
    Set RS3 = conn.execute(SQL3)

%>

<!-- #include virtual="sideedit/include/luk-database.asp"-->

<!-- #include virtual="/forb6675.asp"-->

<%

Bruger = Request.QueryString("Id")
Bruger = replace(Bruger, "'", "")
SQL4 = "Select * from Brugere where Id= " & Bruger

Set rs4 = Conn.Execute(SQL4)

Udloeb = rs4("Udloeb")

Transaktionsnr = Request.QueryString("transact")
Transaktionsnr = replace(Transaktionsnr, "'", "")

dg=Day(Date())
md=Month(Date())
yyyy=YEAR(Date())
Dagsdato = yyyy&"-"&md&"-"&dg

if rs4("Egetdomaene") = "" then
Link = "xxxxxxx"
else
Link = rs4("Egetdomaene")
end if

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.CharSet = 2
Mailer.RemoteHost = "xxxxxxx"
Mailer.FromName = "xxxxxxx"
Mailer.FromAddress = "xxxxxxx"
Mailer.AddRecipient rs4("Navn"), rs4("Email")
Mailer.Subject = "Ordrebekræftelse"
Mailer.BodyText = "xxxxxxx"
if not Mailer.SendMail then
else
end if

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.CharSet = 2
Mailer.RemoteHost = "xxxxxxx"
Mailer.FromName = "xxxxxxx"
Mailer.FromAddress = "xxxxxxx"
Mailer.AddRecipient "xxxxxxx", "xxxxxxx"
Mailer.Subject = "xxxxxxx"
Mailer.BodyText = "xxxxxxx"
if not Mailer.SendMail then
else
end if

%>

<%

if Request.QueryString("Pakkeoprindelig") = 0 then

Art = 2
dg=Day(Date())
md=Month(Date())
yyyy=YEAR(Date())
Dato = yyyy&"-"&md&"-"&dg
Tid = time()
Partnerid = rs4("Partnerid")
Partnerside = rs4("Partnerside")

SQL5 = "INSERT INTO Partnerelog(Art, Dato, Tid, Partnerid, Partnerside)"
SQL5 = SQL5 & "Values("
    SQL5 = SQL5 & "'" & Art & "',"
    SQL5 = SQL5 & "'" & Dato & "',"
    SQL5 = SQL5 & "'" & Tid & "',"
    SQL5 = SQL5 & "'" & Partnerid & "',"
    SQL5 = SQL5 & "'" & Partnerside & "'"
    SQL5 = SQL5 & ")"
   
    Set RS5 = conn.execute(SQL5)
   
end if

%>

<!-- #include virtual="sideedit/include/luk-database.asp"-->

<%

Session("Pakkeoprindelig") = Request.QueryString("Pakkeoprindelig")

Response.Redirect "forlaeng-betaling-accept.asp"
%>
Avatar billede carstenandersen Nybegynder
13. oktober 2011 - 10:48 #5
Lukker ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester