Problem med sessions i betalingssystem
Jeg forsøger at integrere en betalingsløsning fra dandomain på en shop, og har fuldt deres eksempler, men jeg har problemer med at sessions ikke kommer med fra serveren til deres secure server hver gang. Hvis man trykker F5 nogle gange på den secure server kommer og forsvinder sessions variablerne på siden. Jeg har integreret med flg. kode:fil1 (min server):
<b>OrderNumber. : <%=Session("OrderNumber")%></b><br><br>
TestProductNumber 1 - <%=Session("TotalPrice")%> DKK
<form method="post" action="https://pay.dandomain.dk/securetunnel.asp?merchantnumber=<%=Session("MerchantID")%>&sessionid=<%=Server.URLEncode(Request.ServerVariables("HTTP_COOKIE"))%>&tunnelurl=<%=Server.URLEncode(tunnelpage)%>" name="Form" autocomplete="off">
<input type="hidden" name="TestMode" value="1">
<input type="submit" value="Send">
</form>
Fil2:
<form method="post" action="https://pay.dandomain.dk/securecapture.asp" name="Form" autocomplete="off">
<input type="hidden" name="OKURL" value="http://<%=Request.ServerVariables("server_name")%>/main/ok.asp?ok=1">
<input type="hidden" name="FAILURL" value="https://pay.dandomain.dk/securetunnel.asp?merchantnumber=4216433&sessionid=<%=Server.URLEncode(Request.ServerVariables("HTTP_COOKIE"))%>&tunnelurl=http://<%=Request.ServerVariables("server_name")%>/main/ex2.asp?DankortFejl=1">
<input type="hidden" name="SessionID" value="<%=Request.ServerVariables("HTTP_COOKIE")%>">
<input type="hidden" name="OrderID" value="<%=Session("OrderNumber")%>">
<input type="hidden" name="CurrencyID" value="208">
<input type="hidden" name="Amount" value="<%=Session("TotalPrice")%>">
<input type="hidden" name="MerChantNumber" value="<%=Session("MerChant")%>">
<input type="hidden" name="TestMode" value="1">
Problemet er som skrevet at session ikke altid kommer med over. Nogle gode forslag? dandomain mener det er fordi urlstrengen bliver for lang og har leveret nedenstående kode:
sessionIDStr = Request.ServerVariables("HTTP_COOKIE")
pos = inStr(sessionIDStr, "ASPSESSION")
If pos > 0 then
sessionIDStr = Mid(sessionIDStr, pos)
End If
men det hjælper ikke.