Avatar billede pablopablo Nybegynder
21. april 2008 - 19:22 Der er 26 kommentarer og
1 løsning

Hjælp til kommunikation med betalingsmodul

Hejsa...

Jeg sidder og skal kommunikere med et betalingsmodul, men det er ikke så let for mig, idet jeg er vant til asp.net og udbyderens eksemple er i asp, html og aml kode.
I nedestående link kan i downloade udbyderens asp kode eksempel på en mine webshop - så meget har jeg ikke engang brug for!

http://www.unicdesign.dk/ASPShop.rar

Det jeg ønsker er meget simpelt!
Via en egen aspx side, hvor brugeren kun kan vælge ét produkt, via en radiobutton skal resultatet postes til betalingsserveren. Men jeg kan bare ikke forstå hvordan jeg skal gøre det, da de i eksemplet sender til "Order.htm" som inkluderer "Order.asp", hvilket jeg ikke forstår hvad betyder og derfor heller ikke kan se hvordan jeg skal ændre i aml kode eller blot poste data til htm filen fra aspx siden så de forstår hinanden...
Derudover bruges en "result.htm" fil som inkluderer siden "result.apx" som modtager en værdi tilbage fra PSB og denne side vil jeg også gerne have laves i asp.net.
Jeg har også lagt min nuværende aspx og c# fil ind i overstående RAR.

I PDF filen (dokumentationen) kan I se en oversigt over hvordan deres eksempel hænger sammen.

Håber virkelig meget at I kan hjælpe mig!

Mvh. PabloPablo
Avatar billede kalp Novice
21. april 2008 - 20:14 #1
jeg har ikke hentet din kode, men er det DIBS du programmere op i mod eller hvem?
Avatar billede pablopablo Nybegynder
21. april 2008 - 21:54 #2
Hejsa! Det er Scannet. De siger det er deres eget...
Avatar billede kalp Novice
21. april 2008 - 22:50 #3
jeg kender dem ikke desværre.

men er det meningen du skal uploade filerne til deres server på din konto?
for i de filer du har pakket køre den SQL imod deres server for, at finde produkterne.

men hvis det er tilfældet så kan f.eks tilføje et produkt til indkøbs kurven ved, at sende id'et ti cart.asp

det logik du ikke skal bruge i cart.asp kan du fjerne og hvis du ikke vil have brugeren skal ende på den side kan du lave en redirect til en anden side fra den.

men ved ikke om det er din problematik?
Avatar billede pablopablo Nybegynder
21. april 2008 - 23:00 #4
Ja man upload order.htm og result.htm til deres server via et login

Jeg har ikke brug for indkøbskurven, aml kode, database eller noget.
Jeg ønsker kun at bruge min aspx fil og submitte købet direkte til betalingsserveren.
Men det ved jeg ikke hvordan jeg gør...
Avatar billede kalp Novice
21. april 2008 - 23:08 #5
det ser ud til at du skal bruge GET og ikke POST i det du selv har lavet.
Avatar billede pablopablo Nybegynder
21. april 2008 - 23:14 #6
okay...vil sætte stor pris på hvis du kan vise mig præcis hvordan er gået helt kold...men hvordan skal jeg bruge de submittede/sendte data i order.htm filen? Jeg ønsker jo som sagt ikke at gøre, som de gør med aml og db...ville aller helst køre i ren asp.net...men det kan sikkert ikke lade sig gøre....??
Avatar billede kalp Novice
21. april 2008 - 23:52 #7
det jeg siger er, at i din egen kode så skal du bruge GET

<form action="https://pay.scannet.dk/butiksnr/secure/order.htm" method="post" autocomplete="off">

til

<form action="https://pay.scannet.dk/butiksnr/secure/order.htm" method="GET" autocomplete="off">

der står jo i doc's at order.htm GET'er :)
Avatar billede pablopablo Nybegynder
21. april 2008 - 23:56 #8
ja ok! Men hvordan modtager jeg så de submittede værdier i htm siden?
Avatar billede kalp Novice
22. april 2008 - 00:09 #9
hvis man ser på deres eksempel så modtager htm siden intet.
den redirecter til pay.asp som henter order oplysninger fra databasen og submitter videre til en auth3.pl url.

hvis du ikke skal bruge den database, så bør derfor kunne submitte direkte til url'en fra en ASPX side, men du skal dog have de der felter de kræver.

(når jeg altså kigger på den order.htm der ligger i folderen)
Avatar billede pablopablo Nybegynder
22. april 2008 - 00:18 #10
hhhmm...men form action="/cgi-bin/auth3.pl" indeholder jo ikke noget butiksId ellers noget...jeg mener, modulet skal jo vide hvilken en shop order kommer fra...
Avatar billede kalp Novice
22. april 2008 - 08:14 #11
ja men det modtager den også.. formen ser således ud

<form action="https://pay.scannet.dk/cgi-bin/auth3.pl" method="post" autocomplete="off">
<input type="hidden" name="butiksnummer" value="xxxxxxxxxx">
<input type="hidden" name="ordrenr" value="next">
<input type="hidden" name="valuta" value="208">
<input type="hidden" name="dkvalues" value="1">
<input type="text" name="navn" value="test test">
<input type="text" name="adresse" value="adresse">
<input type="text" name="postnr" value="postnr">
<input type="text" name="by" value="by">
<input type="text" name="email" value="test@test.dk">
<input type="text" name="vare_1_navn" value="test">
<input type="text" name="vare_1_antal" value="1">
<input type="text" name="vare_1_pris" value="1,00">
<input type="text" name="vare_1_exmoms" value="0,80">
<input type="text" name="kortnr" value="" maxlength="16">
<select name="udloebsmaaned">
<option>01<option>02<option>03<option>04<option>05<option>06<option>07<option>08<option>09<option>10<optio
n>11<option>12<option></select>
<select name="udloebsaar">
<option>02<option>03<option>04<option>05<option>06<option>07<option>08<option>09<option>10<option>11<optio
n>12<option>13<option>14</select> mm/yy
<input type="text" name="kontrol" value="" maxlength="4" size="4">
<input type="submit" value="Submit Order">
</form>
Avatar billede pablopablo Nybegynder
22. april 2008 - 16:39 #12
Jeg har brug for at postet benyttet server controls! Jeg kan ikke selv få det til at virke med server controls...

Jeg bruger ellers: <asp:Button ID="btnNext" runat="server" Text="Submit" UseSubmitBehavior="False" PostBackUrl="https://pay.scannet.dk/cgi-bin/auth3.pl" CssClass="button1" />

Kan du vise mig hvordan du vil gøre det? Er der flere forskellige måder at poste form data på asp.net...??
Avatar billede kalp Novice
22. april 2008 - 21:44 #13
i forhold til din egen kode ville jeg gøre det sådan her - men der skal tilføjes de sidste fields også.

men ellers har jeg nok ikke helt forstået hvorfor du ikke vil have det på den her måde.
men hensyn til formen kan du også smide runat="server" på den osv.

<form action="https://pay.scannet.dk/cgi-bin/auth3.pl" method="get" autocomplete="off">
                                <asp:HiddenField ID="vare_1_navn" runat="server" Value="1" />
                                <asp:HiddenField ID="vare_1_pris" runat="server" Value="1" />
                                <asp:HiddenField ID="vare_1_exmoms" runat="server" Value="1" />
                                <asp:HiddenField ID="vare_1_antal" runat="server" Value="1" />
  <asp:Button ID="btnNext" runat="server" Text="Submit" UseSubmitBehavior="True" CssClass="button1" />
                            </form>
Avatar billede pablopablo Nybegynder
22. april 2008 - 22:00 #14
Hejsa! Jeg fik stort det set til at virke tidligere! Dvs. det er nu kun én ting, som jeg mangler!

1. Den første form som poster til order.htm siden på betalingsserveren hedder : ChoseCredits.aspx

2. Order.htm inkluderer BuyCredits.aspx og det er her jeg falder fra, hvordan piller jeg de 4 stk variable ud som er sendt fra chosecredits.aspx i buycredits.aspx??

Umiddelbart, burde de jo ligge i querystring'en ...men har prøvet at hive dem ud i min c# code behind fil...men de er bare tomme...derudover ville det jo heller ikke hjælpe meget, idet at formen i BuyCredits.aspx er 100% REN HTML og jeg derfor IKKE kan tilgå felterne via code behind...det var blot for at tjekke...så med andre ord:

Hvordan modtager/piller jeg de 4 variabler sendt fra chosecredits.aspx ud og indsætter dem i BuyCredits HTML felterne, så de kan submitter videre sammen med de resterende data??
Avatar billede pablopablo Nybegynder
22. april 2008 - 22:03 #15
btw! du kan se min kode her:

http://www.unicdesign.dk/kode.txt
Avatar billede kalp Novice
22. april 2008 - 22:09 #16
Hvordan prøver du at hente værdierne?
Hvis du benytter

Request["xxx"] istedet for Request.QueryString["xxx"]

vil den kigge både i querystring (GET) men også i POST.

prøv lige om den kan finde de værdier.
Avatar billede pablopablo Nybegynder
22. april 2008 - 22:24 #17
Har ikke prøvet det endnu...men lige om lidt...men hvis det virker, hvordan får jeg så værdierne ind i HTML felterne?

Kan man ikke trække queryString variabler ud direkte i HTML kode med nogle specielle TAGS?
Avatar billede kalp Novice
22. april 2008 - 22:28 #18
hvorfor laver du ikke runat="Server" på dem? det kan man godt og så kan du tilgå dem fra serveren:)
Avatar billede pablopablo Nybegynder
22. april 2008 - 22:35 #19
Jeg har prøvet men uden held...ved ikke om jeg gjorde det forkert eller om det er deres AML kode som er meget følsom? Men i deres eksempel bruger de jo HTML, så det brude vel være muligt? Eller kan du ikke se hvordan?

Du må meget gerne vise mig 100% hvordan du ville gøre det med runat="server" !
Avatar billede kalp Novice
22. april 2008 - 22:50 #20
det med runat="server" på almindelig html gør du sådan her.
f.eks på dette felt.
<input type="hidden" name="butiksnummer" value="butiksnr"/>
ret det til
<input type="hidden" id="butiksnummer" runat="server" name="butiksnummer" value="butiksnr"/>

og fra codebehind kan du så tilgå den og tilføje en value på denne måde

butiksnummer.Attributes.Add("value", "xxxxx");

hvor xxxxx er din value.

I deres eksempel overføre deres AML kode kun 2 parametre.. id og checksum.
ud fra id'et henter de ordre oplysninger fra databasen.
Det er ihvertfald sådan jeg så koden
Avatar billede pablopablo Nybegynder
22. april 2008 - 22:54 #21
Okay, super!

Jamen SÅ er opgaven "blot" at fange div. parametre i codebehind!
Du har ret i det du skriver...at de kun sender 2 parametre med...
Jeg prøvede bare at fylde data i ID feltet...gad ikke at oprette
flere, hvis det alligevel ikke virkede...

Request["xxx"] ændrer desværre ikke noget... :( ???
Avatar billede kalp Novice
22. april 2008 - 23:10 #22
hvis du kan Request["id"] og det giver dig noget (skulle give dig teksten "test" ifølge din kode.
så tror jeg godt jeg ved hvordan du får resten er parametrene med over
Avatar billede pablopablo Nybegynder
22. april 2008 - 23:13 #23
hehe, ja! Men jeg skrev jo at Request["xxx"] IKKE giver noget.... :/
Avatar billede pablopablo Nybegynder
22. april 2008 - 23:22 #24
Det er bare MEGET underligt, for jeg kan godt hive div. parametre ud i min Result.aspx som kommer fra result.hm siden...altså via Request.QueryString["id"]...

Så hvad pokker kan der være galt...order.htm filen bliver jo kaldt...og indeholde de to parametre....
Avatar billede kalp Novice
22. april 2008 - 23:32 #25
når du bliver sendt til BuyCredits.aspx hvad står der så i din url?
ifølge den så skal de som min. stå ID og Checksum, men de er måske slet ikke angivet der?
jeg kan godt høre de ikke findes via. QueryString, men er de der så heller ikke?
Avatar billede pablopablo Nybegynder
24. april 2008 - 23:22 #26
Godaften og undskyld forsinkelsen :)

Problem er løst.
Det skyldtes i korte træk 2 ting:

1. Min masterpage indeholder et Form TAG med runat="server". Det er vel ikk en desideret fejl, men det betød at min kode i dette tilfælde ikke virkede. Løsningen var så at oprette seperate aspx sidensom ikke byggede på min masterpage...og derefter indsætte form TAGS og ruat="server" efter behov.

2. Den første form som postede data, var lavet via server controls...og det kunne jeg ikke få til spille, så jeg ændrede det til 100% ren HTML...det BURDE jo egentlig ikke spille en rolle, idet at div. server controls bliver renderet som almindelig HTML...anyway...det virker nu! :)
Avatar billede pablopablo Nybegynder
25. april 2008 - 16:52 #27
Læg blot et svar og lad os dele points'ne...:)

Btw, kan du svarer på: http://www.eksperten.dk/spm/829226
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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