Avatar billede annettef Nybegynder
27. april 2005 - 09:54 Der er 3 kommentarer og
1 løsning

Problemer med betaling fra Unipay

Hej

Jeg sidder og knokler med at få lavet betalingsdelen på en shop. Jeg arbejder ud fra Unipay's system og har fået en demoversion af selve systemet.

Men nu har jeg fået et meget underligt problem. Jeg har en knap som af en eller anden mystisk grund ikke fungerer, selvom jeg har gjort nøjagtigt som det stå i min vejledning.

På siden hvos brugeren vælger betalingsmetode skal der være en knap som åbner et nyt vindue hvor kortoplysninger skal indtastes, men denne knap virker ikke - der sker ikke mnoget når der trykkes på den.

Min kode
::::START::::
<%@ Language=VBScript %>
<!-- #include file="db.asp" -->
<!-- #include file="adovbs.inc" -->
<!--#include file="dbconn.inc"--><!-- Database forbindelse oprettes via ekstern fil-->
<%

    set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open ConString

    if cstr(Session("orderID")) = "" then
%>
<head>
<title>Datronic ApS</title>
<Link Rel="stylesheet" href="datronic.css" Type="text/css" > <!-- link til ekstern style sheet -->
<style type="text/css">
<!--
body {
    margin-top: 0px;
    margin-left: 4px;
}
-->
</style>
</head>
<body>
<%
        Response.Write "<p><b>"
        Response.Write "Der er ingen varer i din indkøbsvogn. "
        Response.Write "Hvis du tidligere har lagt varer i indkøbsvognen, "
        Response.Write "er der måske sket en timeout - beklager fejlen.<br><br>"
        Response.Write "<a href='forside_butik.htm' target='tekst'><img src='grafik/fortsat_shop.gif' alt='Fortsæt med at shoppe' border='0' name='fortsat' ></a>&nbsp;"
        Response.Write "<b></p>"
%>
</body>
</html>
<% 
else
       
        intOrderID = cstr(Session("orderID"))

        set rsProd = Server.CreateObject("ADODB.Recordset")
        rsProd.Open "SELECT * FROM ordrelinie " _
            & "WHERE orderID="& intOrderID, _
            Conn, adOpenDynamic, adLockPessimistic, adCmdText
        %>
<html>
<head>
<title>Datronic ApS</title>
<Link Rel="stylesheet" href="datronic.css" Type="text/css" > <!-- link til ekstern style sheet -->
<style type="text/css">
<!--
body {
    margin-top: 0px;
    margin-left: 4px;
}
-->
</style>
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>

<script type="text/javascript">

function validering(f){

  var chckd = false;
  for(i=0;f.strBetaling.length>i;i++)chckd = chckd||f.strBetaling[i].checked;
 
  if(!chckd){
    alert('Du skal vælge en betalingsform!');
    f.strBetaling[0].focus();
    return false;
  }
 
  if(!f.handelbeting.checked){
    alert('Du skal acceptere Datronic ApS\' handelsbetingelser!');
    f.handelbeting.focus();
    return false;
  }
 
  return true;
}
</script>

<script>
language="JavaScript"
src="https://ssl.unipay.dk/payments/scripts.js"
</script>
</head>
<body>
<br>
  <table width="670" cellpadding="0" cellspacing="0">
    <tr>
      <td height="18" bgcolor="#545DB9"><span class="style1">Kassen - Trin 3 af 4 </span></td>
    </tr>
    <tr>
      <td><p>Vælg Betalingsform<br>
        <br>
    </p></td>
  </tr>
    <tr><td>Din ordre indeholder følgende varer</td>
    </tr>
    <tr><td>
   
                  <table border="0" cellpadding="1" cellspacing="1" width="660"><!--varetabel-->
            <tr bgcolor="#F2F2FA">
                <td width="13%" align="left" valign="middle" nowrap><font color="#000098" face="Verdana" size="1" style="background-color: #F2F2FA"><strong>Antal</strong></font></td>
                <td width="13%" align="left" valign="middle" nowrap><font color="#000098" face="Verdana" size="1" style="background-color: #F2F2FA"><strong>Vare ID</strong></font></td>
                <td width="44%" align="left" valign="middle"><font color="#000098" face="Verdana" size="1" style="background-color: #F2F2FA"><strong>Vare</strong></font></td>
                <td width="15%" align="right" valign="middle" nowrap><font color="#000098" face="Verdana" size="1" style="background-color: #F2F2FA"><strong>Pris pr stk</strong></font></td>
                <td width="15%" align="right" valign="middle" nowrap><font color="#000098" face="Verdana" size="1" style="background-color: #F2F2FA"><strong>Pris i alt</strong></font></td>
            </tr>
<%
            set rsProdInfo = Server.CreateObject("ADODB.Recordset")
            rsProdInfo.Open "vare", Conn, adOpenStatic, adLockOptimistic, adCmdTable

            intTotal = 0

            rsProd.MoveFirst
            while not rsProd.EOF
                rsProdInfo.MoveFirst
                rsProdInfo.Find "vareid = " & rsProd("vareid")
                intProdID = rsProd("vareid")
                strProdName = rsProdInfo("titel")
                strProdBeskriv = rsProdInfo("beskriv")
                strProdModel = rsProdInfo("model")
                intPrice = formatNumber(rsProdInfo("pris"), 2)
                intQuant = rsProd("antal")
                intProdVaegt = rsProdInfo("vaegt")
                  longVaegt = longVaegt + (intQuant * intProdVaegt)
                intExtPrice = formatNumber((intPrice * intQuant), 2)
                intTotal = intTotal + intExtPrice
%>
                <tr>
                    <td width="13%" align="left" valign="middle" nowrap><font face="Verdana" size="1"><%= intQuant %></font></td>
                    <td width="13%" align="left" valign="middle" nowrap><font face="Verdana" size="1"><%= intProdID %></font></td>
                    <td width="44%" align="left" valign="middle" nowrap><font face="Verdana" size="1"><%= strProdName %></font></td>
                    <td width="15%" align="right" valign="middle" nowrap><font face="Verdana" size="1"><%= intPrice %></font></td>
                    <td width="15%" align="right" valign="middle" nowrap><font face="Verdana" size="1"><%= intExtPrice %></font></td>
                </tr>
                <input type="hidden" value="<%=intProdVaegt %>" name="intProdVaegt">
                <input type="hidden" name="strOrderItem" value="<%= intProdID %>¤#¤<%= intQuant %>¤#¤<%= server.HTMLEncode(strProdName) %>¤#¤<%= server.HTMLEncode(strProdBeskriv) %>¤#¤<%= server.HTMLEncode(strProdModel) %>¤#¤<%= intPrice %>">
                <input type="hidden" value="<%= longVaegt %>" name="longVaegt">
                <input type="hidden" name="intQuant" value="<%= intQuant %>">
                <input type="hidden" name="StrProdName" value="<%= strProdName %>">
                <input type="hidden" name="intPrice" value="<%= intPrice %>">
                <input type="hidden" name="intExtPrice" value="<%= intExtPrice %>">
                <input type="hidden" name="intProdID" value="<%= intProdID %>">
                <input type="hidden" name="intProdVaegt" value="<%= intProdVaegt %>">
           
               
               
<%
                rsProd.MoveNext
            wend                       
%>
<%
' SQL forespørgsel
strSQL = "SELECT * FROM fragtPriser WHERE fragtid = 1"

' Udfør strSQL (rs1 kommer til at indeholde dataen)
Set rs1 = Conn.Execute(strSQL)
%>
<%
' SQL forespørgsel
strSQL = "SELECT * FROM fragtPriser WHERE fragtid = 2"

' Udfør strSQL (rs2 kommer til at indeholde dataen)
Set rs2 = Conn.Execute(strSQL)
%>
<%
' SQL forespørgsel
strSQL = "SELECT * FROM fragtPriser WHERE fragtid = 3"

' Udfør strSQL (rs3 kommer til at indeholde dataen)
Set rs3 = Conn.Execute(strSQL)
%>
<%
' SQL forespørgsel
strSQL = "SELECT * FROM fragtPriser WHERE fragtid = 4"

' Udfør strSQL (rs4 kommer til at indeholde dataen)
Set rs4 = Conn.Execute(strSQL)
%>
<%
' SQL forespørgsel
strSQL = "SELECT * FROM fragtPriser WHERE fragtid = 5"

' Udfør strSQL (rs5 kommer til at indeholde dataen)
Set rs5 = Conn.Execute(strSQL)
%>
<%
intTimes = 0
if longVaegt > rs5("maxVaegt") then
intTimes = int(longVaegt / rs5("maxVaegt"))
longVaegt = (longVaegt - (intTimes * rs5("maxVaegt")))
else intTimes = 0
end if

if longVaegt < rs1("maxVaegt") then
intShipping1 = rs1("fragtPris")
elseIf longVaegt < rs2("maxVaegt") then
intShipping1 = rs2("fragtPris")
elseIf longVaegt < rs3("maxVaegt") then
intShipping1 = rs3("fragtPris")
elseIf longVaegt < rs4("maxVaegt") then
intShipping1 = rs4("fragtPris")
elseIf longVaegt < rs5("maxVaegt") then
intShipping1 = rs5("fragtPris")
end If
%>

<%            strFirst = Request.form("strFirst")
            strLast = Request.Form("strLast")
            strEmail = Request.Form ("strEmail")
            strAddress1 = Request.Form ("strAddress1")
            strPostalCode = Request.Form ("strPostalCode")
            strCity = Request.Form ("strCity")
            strCountry = Request.Form ("strCountry")
            strPhone = Request.Form ("strPhone")
            strShipAdresse = Request.Form ("strShipAdresse")

%>

<%
' SQL forespørgsel
strSQL = "SELECT * FROM fragtPriser WHERE fragtid = 6"

' Udfør strSQL (rs6 kommer til at indeholde dataen)
Set rs6 = Conn.Execute(strSQL)
%>
<%
' SQL forespørgsel
strSQL = "SELECT * FROM fragtPriser WHERE fragtid = 7"

' Udfør strSQL (rs7 kommer til at indeholde dataen)
Set rs7 = Conn.Execute(strSQL)
%>
<%
' SQL forespørgsel
strSQL = "SELECT * FROM fragtPriser WHERE fragtid = 8"

' Udfør strSQL (rs8 kommer til at indeholde dataen)
Set rs8 = Conn.Execute(strSQL)
%>
<%
' SQL forespørgsel
strSQL = "SELECT * FROM fragtPriser WHERE fragtid = 9"

' Udfør strSQL (rs9 kommer til at indeholde dataen)
Set rs9 = Conn.Execute(strSQL)
%>

<%
if strBetaling = rs9("tekst") then
intShipping2 = rs9("fragtPris")
elseif strBetaling = rs6("tekst") then
intShipping2 = rs6("fragtPris")
elseIf strBetaling = rs7("tekst") then
intShipping2 = rs7("fragtPris")
elseIf strBetaling = rs8("tekst") then
intShipping2= rs8("fragtPris")
end if
       
%>

<%
if strBetaling = rs8("tekst") then
intShipping1 = 0.00
end if
%>

<%
if strBetaling = rs8("tekst") then
intTimes = 0.00
end if
%>

<%
intShipping = (intShipping1 + intShipping2 + (intTimes * rs5("fragtPris")))
%>
<%
            'display total for products in cart
%>                       
            <!--<tr>
                <td colspan="4" align="left" valign="middle" nowrap><font face="Verdana" size="2">Subtotal:</font></td>
                <td align="right" valign="middle" nowrap><font face="Verdana" size="2">
                    <%'= formatNumber(intTotal, 2) %>
                </font></td>
            </tr>-->
           
<%
            'add and display amount charged for sales tax:
            'in this case it's 8% of total for products in cart
            'change the .08 to meet your state/province requirements
%>                         
            <!--<tr>
                <td colspan="4" align="left" valign="middle" nowrap><font face="Verdana" size="2">Heraf moms (25%):</font></td>
                <td align="right" valign="middle" nowrap><font face="Verdana" size="2">-->
                    <%'= formatNumber((intTotal * .20), 2) %>
                    <input type="hidden" name="intTax" value="<%= formatNumber((intTotal * .20), 2) %>">
                <!--</font></td>
            </tr>-->
<%
            'add and display amount charged for shipping:
            'in this case it's 5% of total for products in cart
            'change the .05 to meet your requirements
%>                       
          <tr>
                <td colspan="4" align="left" valign="middle" nowrap><font face="Verdana" size="1">Forsendelse</font></td>
                <td align="right" valign="middle" nowrap><font face="Verdana" size="1">
                    <%= formatNumber((intShipping1 + intShipping2 + (intTimes * rs5("fragtPris"))), 2) %>
                    <input type="hidden" name="intShipping" value="<%= formatNumber((intShipping1 + intShipping2 + (intTimes * rs5("fragtPris"))), 2) %>">
                </font></td>
            </tr>

<%
            'display Grand Total: to get the multiplier 1.0 is the product(s) total plus .08
            'for sales tax and .05 for shipping which equals 1.13. Be sure to change this
            'to meet your requirements
%>             
            <tr>
                <td colspan="4" align="left" valign="middle" nowrap style="background-color: #F2F2FA"><font face="Verdana" size="1"><b>Kr. Total:</b></font></td>
                <td align="right" valign="middle" nowrap style="background-color: #F2F2FA"><font face="Verdana" size="1"><b>
                    <%= formatNumber((intTotal + intShipping), 2) %>
                    <input type="hidden" name="intTotal" value="<%= formatNumber((intTotal + intShipping), 2) %>">
                </b></font></td>
            </tr>
           
            </table>
<%
intTotalOre = ((intTotal + IntShipping)*100)
'linie til at tjekke at det totale beløb i øre er rigtigt
'Response.Write intTotalOre
%>       
    </td></tr>
    <tr><td>&nbsp;</td></tr>
    <tr><td>&nbsp;</td></tr>
    <tr>
      <td><hr color="#CCCCCC" size="1" noshade></td>
    </tr>
      <form action="https://ssl.unipay.dk/payments/auth.asp" ID="PayFOrm" method="post" name="form2">
    <!--felter som skal bruges til unipay -->
    <input type="hidden" name="UnipayNumber" value="80192699"> <!-- Butiksnummer fået ved oprettelse hos unipay -->
    <input type="hidden" name="Amount" value="<%=intTotalOre%>"> <!-- det totale beløb for ordren angivet i øre -->
    <input type="hidden" name="Currency" value="208" maxlength="3"> <!-- Valuta DKK er tallet 208 -->
    <input type="hidden" name="OrderNumber" value="<%=intOrderID%>"> <!-- ordreID - skal være unikt -->
    <input type="hidden" name="Test" value="1"> <!-- Værdien 1: betalingen gennemføres ikke / Værdien 0: betalingen gennemføres-->
    <input type="hidden" name="InstantCapture" value="0"> <!-- Værdien 1: beløbet hæves fra kundens konto straks / Væriden 0: beløbet hæves senere -->
    <input type="hidden" name="Culture" value="da"> <!-- Angiver hvilket sprog der anvendes (da eller en) -->
    <!--slut på felter som skal bruges til unipay -->
   
    <input type="hidden" name="intOrderID" value="<%=intOrderID%>">
    <input type="hidden" name="strFirst" value="<%=strFirst%>">
    <input type="hidden" name="strLast" value="<%=strLast%>">
    <input type="hidden" name="strEmail" value="<%=strEmail%>">
    <input type="hidden" name="strAddress1" value="<%=strAddress1%>">
    <input type="hidden" name="strPostalcode" value="<%=strPostalcode%>">
    <input type="hidden" name="strCity" value="<%=strCity%>">
    <input type="hidden" name="strCountry" value="<%=strCountry%>">
    <input type="hidden" name="strPhone" value="<%=strPhone%>">
    <input type="hidden" name="strShipAdresse" value="<%=strShipAdresse%>">
      <tr bgcolor="F2F2FA">
      <td><strong>Betaling med kort (Dankort | VISA/Dankort | VISA | Eurocard | VISA Electron | American Express) </strong></td>
    </tr>
    <tr>
      <td><font face="Verdana" size="2">
        <input type="radio" name="strBetaling" value="<%=rs9("tekst")%>" checked>
      Betalingskort
        </font></td>
    </tr>
    <tr><td align="right">
    <Button onClick="InitUnipay('https://ssl.unipay.dk',document.form,1)" ID="btnPay"> Betal med kort </button>
    </td></tr>
    </form>
   
    <tr><td><hr color="#CCCCCC" size="1" noshade></td></tr>
    <form action="checkout3.asp" method="post" name="form3" onsubmit="return validering(this);">
    <input type="hidden" name="intOrderID" value="<%=intOrderID%>">
    <input type="hidden" name="strFirst" value="<%=strFirst%>">
    <input type="hidden" name="strLast" value="<%=strLast%>">
    <input type="hidden" name="strEmail" value="<%=strEmail%>">
    <input type="hidden" name="strAddress1" value="<%=strAddress1%>">
    <input type="hidden" name="strPostalcode" value="<%=strPostalcode%>">
    <input type="hidden" name="strCity" value="<%=strCity%>">
    <input type="hidden" name="strCountry" value="<%=strCountry%>">
    <input type="hidden" name="strPhone" value="<%=strPhone%>">
    <input type="hidden" name="strShipAdresse" value="<%=strShipAdresse%>">
    <tr bgcolor="F2F2FA">
      <td><strong>Anden betalingsmåde</strong></td>
    </tr>
    <tr>
      <td><font face="Verdana" size="2">
        <input type="radio" name="strBetaling" value="<%=rs6("tekst")%>">
    Bankoverf&oslash;rsel
    <input type="radio" name="strBetaling" value="<%=rs7("tekst")%>">
    Efterkrav (<%=rs7("fragtPris")%> kr till&aelig;gges)
    <input type="radio" name="strBetaling" value="<%=rs8("tekst")%>" id="afhentes">
    Afhentes i Butikken (forsendelse fratrækkes)</font></td>
    </tr>
    <tr><td align="right">
    <input type="submit" name="kassen" size="50" value="Anden betaling">
    </td></tr>
    <tr>
      <td><hr color="#CCCCCC" size="1" noshade></td>
    </tr>
    <tr><td></td>
    </tr>
    </form>
  </table>
 
 
  </td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
</body>
</html>
<%       
end if
Conn.Close
set Conn = Nothing
%>

::::SLUT::::

Det er linie 374 hvor knappen er:
369        <input type="radio" name="strBetaling" value="<%=rs9("tekst")%>" checked>
370      Betalingskort
371        </font></td>
372    </tr>
373    <tr><td align="right">
374    <Button onClick="InitUnipay('https://ssl.unipay.dk',document.form,1)" ID="btnPay"> Betal med kort </button>
375    </td></tr>
376    </form>

Håber der er nogen der kan hjælpe mig!

/Annette

P.S Hvis det er til nogen hjælp, så kan en arbejdsversion af siden ses på denne adresse www.q-dvd.dk
Avatar billede kinderaeg Nybegynder
27. april 2005 - 10:44 #1
Du har ikke nogen form der blot hedder form, derfor returnerer document.form ingenting, og det giver et problem. Du skal enten kalde formen med document.form2 eller document.form[0]
Avatar billede annettef Nybegynder
27. april 2005 - 12:38 #2
Ups, jeg kan godt se at jeg har glemt et 2-tal.....

Nu har jeg rettet det, så der står document.form2,1 men så kommer der en fejl når jeg trykker på knappen - der står et objekt var ventet og så den linie med knappen

/Annette
Avatar billede kinderaeg Nybegynder
28. april 2005 - 08:09 #3
Ah, der hvor du henter kilden til unipay's valideringsfunktion har du sat >'en forkert. Der bør i stedet stå:
<script type="text/javascript" language="JavaScript" src="https://ssl.unipay.dk/payments/scripts.js">
</script>
Avatar billede annettef Nybegynder
28. april 2005 - 09:00 #4
Tusind tak for hjælpen - nu fungerer det som det skal.

/Annette
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