Avatar billede AnyFellow Mester
21. november 2012 - 15:33 Der er 4 kommentarer og
1 løsning

Javascript fra EPAY i en jquery-funktion

Jeg er ved at integrere denne fra epay på en hjemmeside:

<script type="text/javascript" src="https://ssl.ditonlinebetalingssystem.dk/integration/ewindow/paymentwindow.js" charset="UTF-8"></script>
 
<script type="text/javascript">
    paymentwindow = new PaymentWindow({
        'merchantnumber': "",
        'amount': "",
        'currency': "",
        'orderid': "",
        'ordertext': "",
        'paymenttype': "",
        'language': "",
        'ownreceipt': "",
        'accepturl': "",
        'cancelurl': "",
        'cssurl': "",
        'windowstate': "",
        'hash': ""
    });
</script>
 
<input type="button" onclick="java script: paymentwindow.open()" value="Go to payment" />


Da jeg i forvejen har en jquery, der validerer og sikrer at alt er som det skal være, var min idé at "indbygge" ovenstående javascript i min funktion, men jeg har nogle problemer med at få det til at virke.

Det jeg har sat ind i min jquery er dette:

$.ajax({
    type: $(this).attr('method'),
    url: '/test.php?type=json',
    cache: false,
    data: $(this).serialize(),
    dataType: 'json',
    success: function(result){
        if (result.payment === 'epay') {
            paymentwindow = new PaymentWindow({
                'merchantnumber': result.epay.merchantnumber,
                'amount':        result.epay.amount,
                'currency':      result.epay.currency,
                'orderid':        result.epay.orderid,
                'ordertext':      result.epay.ordertext,
                'paymenttype':    result.epay.paymenttype,
                'language':      result.epay.language,
                'ownreceipt':    result.epay.ownreceipt,
                'accepturl':      result.epay.accepturl,
                'cancelurl':      result.epay.cancelurl,
                'cssurl':        result.epay.cssurl,
                'windowstate':    result.epay.windowstate,
                'hash':          result.epay.hash
            });
           
            paymentwindow.open();
            alert("EPAY");
        } else if (result.payment === 'none') {
            alert("NONE");
        }
    }
});


Paymentwindow.js er inkluderet i min html.

Når jeg bruger ovenståede, åbner den ikke paymentwindow, men viser min alert.

Jeg har en idé om at det har noget at gøre med de variabler jeg sætter ind (result.epay.xxxxx), men er langt fra sikker.

Bruger jeg denne kode i stedet:

$.ajax({
    type: $(this).attr('method'),
    url: '/test.php?type=json',
    cache: false,
    data: $(this).serialize(),
    dataType: 'json',
    success: function(result){
        if (result.payment === 'epay') {
            paymentwindow = new PaymentWindow({
                'merchantnumber': "\""+result.epay.merchantnumber+"\"",
                'amount':        "\""+result.epay.amount+"\"",
                'currency':      "\""+result.epay.currency+"\"",
                'orderid':        "\""+result.epay.orderid+"\"",
                'ordertext':      "\""+result.epay.ordertext+"\"",
                'paymenttype':    "\""+result.epay.paymenttype+"\"",
                'language':      "\""+result.epay.language+"\"",
                'ownreceipt':    "\""+result.epay.ownreceipt+"\"",
                'accepturl':      "\""+result.epay.accepturl+"\"",
                'cancelurl':      "\""+result.epay.cancelurl+"\"",
                'cssurl':        "\""+result.epay.cssurl+"\"",
                'windowstate':    "\""+result.epay.windowstate+"\"",
                'hash':          "\""+result.epay.hash+"\""
            });
           
            paymentwindow.open();
            alert("EPAY");
        } else if (result.payment === 'none') {
            alert("NONE");
        }
    }
});


...åbnes vinduet men melder fejl på alle variabler jeg medsender, idet de indeholder " (gåseøjne).

Nogen der har et bud på hvad jeg kan/skal gøre for at få det til at virke?
Avatar billede olebole Juniormester
21. november 2012 - 17:15 #1
<ole>

Du skal ikke bruge gåseøjne om variablerne:

'hash':          result.epay.hash

/mvh
</bole>
Avatar billede AnyFellow Mester
21. november 2012 - 18:15 #2
olebole...> Okay, så er den tvivl i hvertfald væk.

Er der ellers noget der springer i øjnene?
Avatar billede AnyFellow Mester
21. november 2012 - 19:20 #3
Flot, har fundet fejlen.

Jeg havde fået ændret en parameter omkring hvordan vinduet skulle åben, hvilket forklarer hvorfor det ikke åbnede som ventet.

olebole...> Beklager jeg har spildt din tid, selvom jeg da fik en smule lærdom ud af det :)
Avatar billede olebole Juniormester
21. november 2012 - 21:06 #4
Hehe ... no problemo. Kast et accepteret svar, så tråden lukkes  *o)
Avatar billede AnyFellow Mester
22. november 2012 - 16:43 #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
Vi tilbyder markedets bedste kurser inden for webudvikling

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