Funktionen
|
|
Med funktionen nævnt i nærværende dokument, er det muligt via et https-kald, at udføre capture på allerede autoriserede transaktioner.
Funktionen kaldes med oplysning om oprindeligt transaktionsnummer, transaktions message-digest, beløb, valuta og en message-digest over indholdet. Funktionen returnerer i HTML bodyen returkoden for udførslen af capturen.
|
| Forudsætninger |
|
Der er en forudsætning, at der forud for gennemførslen af capture funktionen, at der eksisterer en autorisation, som er gået godt. Dvs. at web-shoppen har modtaget et Transno fra FRIbetaling betalingsgatewayen, som er sendt til accept-siden.
FRIbetaling understøtter ikke del-captures.
Venligst se www.webpay.dk, såfremt dette er påkrævet.
|
Remotecapture.fri
|
|
Remote capture funktionen på FRIbetaling gatewayen kaldes én gang for hver transaktion der ønskes gennemført og returnerer en action-kode. Siden loades ved et GET-kald til følgende adresse:
"https://pgw.fribetaling.dk/remotecapture.fri?Merchant=xxxxxxx&Order=yyyyyyyy&
Amount=zzz&Currency=nnn&Function=ffff&Transno=tttttt&Md=ddddd&Debug=1" |
Hvor:
INPUT NAME
(PARAMETER) |
FORKLARING |
 |
| xxxxxxx: |
angiver det unikke merchant nummer (forretningsnummer) oplyst af PBS |
| yyyyyyyy: |
angiver det unikke ordrenummer som forretningen ar angivet i den oprindelige autorisation |
| zzz: |
angiver beløbet i mindste møntenhed, som ikke overstiger det autoriserede beløb. |
| nnn: |
angiver valutakoden i ISO4217-format.
Valutakoden skal svare til den valutakode, som den oprindelige transaktion blev gennemført i. |
| ffff: |
angiver en af følgende:
| – |
Capture, hvis ordrens skal captures |
| – |
Credit, hvis en tidligere captured transaktion skal tilbageføres. |
| – |
Delete, hvis transaktionen skal slettes |
|
| tttttt: |
angiver transaktionsnummeret, som blev returneret ved accept af den oprindelige transaktion. |
| ddddd: |
angiver en message-digest, som skal udregnes på baggrund af de øvrige variable og butikkens MAC nøgle.
Kaldet til denne adresse svarer tilbage, med en PBS action-kode, hvis den gennemføres korrekt. Hvis capturen ikke kan gennemføres, eller den afvises pga. forkert udregnet message-digest eller falske parametre, vil der blive svaret retur med –01. Endvidere returneres –01, hvis en eller flere af parametrene ikke svarer til den oprindelige autorisation transaktion. |
| a: |
angiver on der skal medsendes debug output. 1 betyder at der sendes debug output. 0 betyder at der ikke gøres. I produktionsmode skal man helt undlade at medsende debug parameteren, da den ingen funktion har.
Parameteren kan udelukkende anvendes i testmode (dvs. med merchant 2133334) og vil sørge for at give detaljeret information om hvad årsagen er til afvisninger, f.eks. om hvad serveren har beregnet message-digest til og på baggrund af hvilke værdier. |
Encapsulation
Action-koden sendes som svar på GET-kommandoen. Svaret er en clear-text streng med vilkårlig længde, hvor der på en vilkårlig position findes strengen:
<!-- <RESULT>action-kode</RESULT> -->
Hvor action-koden, svarer til PBS-action-koden, som er 000 for godkendte transaktioner
(se komplet reference i administrations-modulet ved at bruge dit brugernavn og password på https://pgw.fribetaling.dk/admin).
Ved modtagelse af en godkendt transaktion, vil betalingen automatisk blive hævet fra kundens konto og betalingen vil figurere som en captured betaling i FRIbetaling administrations-modulet.
|
| Beregning af message-digest (ddddd) |
|
For at FRIbetaling betalingsgatewayen kan verificere, at anmodningen om hævning kommer fra en godkendt kilde, skal der udregnes en message-digest, som er kodet med forretningens MAC nøgle. Dermed sikres det, at det alene er forretningen, der kan have gennemført transaktionen, da MAC nøglen ikke er kendt af andre.
Message-digest værdien skal være kodet med MD5-algoritmen, og skal baseres på at parameter-værdierne konkatineres til en lang streng, hvorpå MD5-algoritmen anvendes.
Det er meget vigtigt, at parameterværdierne konkatineres i præcis den rækkefølge, der er angivet herunder.
| xxxxxxxx + yyyyyyyy + zzz + nnn + ffff + tttttt + password |
2133334 + AF46834 + 995 + 208 + Capture + 3623 + MAC nøgle
Dette vil eksempelvis give følgende konkatinerede strengværdi:
2133334AF46834995208Capture3623macnoegle
På denne streng anvendes MD5-algoritmen ifgl. RFC1321.
Der findes i de fleste webprogrammeringssprog indbyggede funktioner til at lave MD5 koder (også kaldet hash-værdier).
Ovenstående eksempel, vil korrekt angivet producere følgende MD5-streng, som skal medsendes som den sidste parameter i forespørgslen: 336D28F75E5B395494E741446C54E4E1 |