Remote capture

 
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

     
 
    LUK VINDUET