Sådan opkræves kortbetalinger

 
Opbygning af kortindtastningsside For at kunne gennemføre en autorisation af kortholders betaling, skal kunden indtaste:

- Kortnummer
- Udløbsdato,
- CVC/CVV/CVD mv.


Desuden skal FRIbetaling kende oplysninger om beløb, valuta og lignende.
I dette bilag beskrives de krævede felter og mulighederne for opbygning af formularen til gennemførsel af betalinger fra kortholdere.

På HTML-siden skal der udarbejdes en FORM med følgende indhold.

Det bør nævnes, at kun felter markeret med optional kan undlades.
Formen kan alene sendes med post-metoden, da parametre sendt via URL'en ikke krypteres.
Formen skal som minimum indeholde følgende obligatoriske parametre:

<FORM NAME="Betaling" ACTION="https://pgw.fribetaling.dk/betal.fri" METHOD="POST" TARGET="_TOP" AUTOCOMPLETE="OFF">
<INPUT TYPE="HIDDEN" NAME="Amount" VALUE="xxxx">
<INPUT TYPE="HIDDEN" NAME="Currency" VALUE="yyy">
<INPUT TYPE="HIDDEN" NAME="Accept" VALUE="accepturl">
<INPUT TYPE="HIDDEN" NAME="Decline" VALUE="declineurl">
<INPUT TYPE="Text" NAME="Cardnumber" SIZE=19>
<INPUT TYPE="Text" NAME="CVC" SIZE=3>
<INPUT TYPE="Text" NAME="Expmm" SIZE="2">
<INPUT TYPE="Text" NAME="Expyy" SIZE="2">
<INPUT TYPE="HIDDEN" NAME="Merchant" VALUE="zzzzzzz">
<INPUT TYPE="HIDDEN" NAME="Ordernumber" VALUE="qqqqq">
<INPUT TYPE="HIDDEN" NAME="AddFee" VALUE="ff">
<INPUT TYPE="HIDDEN" NAME="Emailresponse" VALUE="eeeee">
<INPUT TYPE="HIDDEN" NAME="Autocapture" VALUE="a">
<INPUT TYPE="SUBMIT" VALUE="Fortsæt"> <INPUT TYPE="Reset">
</FORM>
   

Parametre
Hvor parametrene og feltnavne har følgende betydning:

INPUT NAME

(PARAMETER)

DATATYPE

VALUE

Merchant (zzzzzzz) Numerisk Forretningsnummer som opgivet af PBS og registreret på serveren
Currency (yyy) Numerisk
(længde: 3)
ISO4217-formatteret numerisk kode, som angiver valutatypen (møntfoden) for transaktionen. Skal normalt udfyldes med: 208 (Danske Kroner)
Cardnumber Numerisk
(længde: op til 19)
Kortnummeret, som indtastet af kunden. Der må ikke foretages validering af feltet.
CVC Numerisk
(længde: 3) CVC
CVC, CVV eller CVD, som indtastet af kunden. CVC/CVV/CVD (eller kontrolcifrene, som de omtales i daglig tale), bruges af PBS til check af forsøg på snyd. Feltet må ikke valideres.
Expmm Numerisk
(længde: 2)
Kortets månedsudløbsdato, som opgivet af kunden (MM). Der må ikke foretages validering af feltet. Kan evt. udfærdiges som en <SELECT>, hvor alle valgmuligheder listes.
Expyy Numerisk (længde: 2) Kortets årsudløbsdato, som opgivet af kunden (ÅÅ). Der må ikke foretages validering af feltet. Kan evt. udfærdiges som en <SELECT>, hvor alle valgmuligheder listes.
Amount (xxxx) Numerisk Beløbet, som kunden har godkendt. Beløbet skal være angivet i mindste møntenhed – uden decimaladskillelse eller tusindtalsseparator. Eks. for danske kroner angives beløbet i øre, således vil et beløb på kr. 5.984,21 skulle skrives: 598421
Ordernumber (qqqqq) Streng
(op til: 20)
Reference eller ordrenummer. Skal være unik for hver transaktion. Må ikke indeholde mellemrum eller specialtegn (herunder æ,ø,å)
Description Streng (længde op til: 250) optional Beskrivelsesfelt, der kan benyttes til transaktionsrelevante data – eksempelvis en mailadresse eller navn på personen der har foretaget købet. Feltet vises i FRIbetaling administrationen.
Accept (accepturl) Streng (længde: op til 400) Her angives den absolutte URL til den kvitteringsside som skal vises hvis transaktionen er gennemført (godkendt af PBS). Hertil tilføjes ordrenummeret som parameter. ?Order=nnnn, hvor nnnn angiver ordrenummeret som afsendt i et tidligere felt. Desuden tilføjes et transaktionsnummer, ligeledes som parameter. &Transno=mmmm, hvor mmmm angiver transaktionsnummeret. Eks. På side der loades: http://www.minbutik.dk/accept.html?order=8922&transno=1234 når følgende er sendt til gatewayen: http://www.minbutik.dk/accept.html
Decline (declineurl) Streng Her angives den absolutte URL til den side som skal vises hvis transaktionen ikke kan gennemføres. Hertil tilføjes en fejlbeskrivelse som parameter. Desuden returneres ordrenummeret og transaktionsnummeret. Eksempler: ?Order=3325&Transno=1234&Error=Decline eller ?Order=3694&Transno=4323&Error=Expired%20Card eller ?Order=336943&Transno=4432&Error=Amount%20Error
AddFee (ff) Boolean Angives med "1" hvis det ønskes, at der automatisk skal beregnes og tillægge det af PBS opkrævede gebyr afhængig af korttypen der anvendes. Feltet udelades, hvis ikke det ønskes, at FRIbetaling skal tillægge gebyret.
Emailresponse (eeeee) Streng (længde op til: 64) optional) Her kan der angives en mailadresse, hvortil der afsendes en email, hvis ordren er accepteret af FRIbetaling gatewayen. Husk at du altid skal dobbeltchecke om ordren er accepteret direkte i FRIbetaling administrationen, hvor du også skal udføre capture inden varen sendes. Dette er for at sikre, at ordren også rent faktisk er godkendt, da ondsindede personer kan afsende en mail med FRIbetaling som afsender, uden at den reelt kommer fra os.
Autocapture (a) Boolean optional) Her kan angives om systemet automatisk skal udføre capture på de indsendte transaktioner. Værdien angives til 1, såfremt der skal udføres autocapture. Hvis ikke der skal udføres autocapture, kan feltet udelades.
   
RETUR-paramentre På alle godkendte autorisationer medsendes en række ekstra parametre,
som kan anvendes på den modtagende accept eller decline side.

Parametrene overføres som GET-parametre, der overføres via URL’en. De er således ukrypterede kan teoretisk modificeres under overførslen til modtageren eller af modtageren. Derfor medsendes også en MD5 kodet hash-værdi, som kan bruges til at checke om værdierne er ændret under overførslen.

   
Parametrene og feltnavne har følgende betydning:

INPUT NAME

(PARAMETER)

DATATYPE

VALUE

Order Streng

(op til: 20)

Reference eller ordrenummer. Direkte kopieret fra parametrene angivet af forretningen.

Amount

Numerisk

Beløbet, som kunden har godkendt. Beløbet angives i mindste møntenhed – uden decimaladskillelse eller tusindtalsseparator.

Fee

Numerisk

PBS gebyret, som er tillagt såfremt "AddFee"-funktionaliteten er anvendt. Fee er indregnet i Amount-feltet. Fee angives i samme valuta som specificeret i Currency-feltet.

Currency Numerisk (længde: 3)

ISO4217-formatteret numerisk kode, som angiver valutatypen (møntfoden) for transaktionen. Kopieret direkte fra parametrene angivet af forretningen.

Cardtype Streng
(kræver særligt feature)

Angivelse af den korttype der har været anvendt af kortholder. Følgende er mulige:

AMEX, AMEXDK, DIN, DINDK, DK, ECMC, ECMCDK, JCB, MAE, VDK, VISA, VISADK

Cardnumbers Streng
(kræver særligt feature)

Delvis angivelse af det kortnummer er har været anvendt til autorisationen. Dette kan eksempelvis udskrives på kundens kvittering.

 

Eksempel:

4571 35XX XXXX 1253

Transno Numerisk

Transaktionsnummer, som er FRIbetalings unikke reference til betalingen.

Validatemd Streng Validatemd er en beregnet MD5 streng, som kan anvendes til validering af de modtagne parametres gyldighed på acceptsiden. Parameteren overføres IKKE til declinesiden.

Validatemd kan beregnes på følgende måde:
order + amount (+ fee, hvis den eksisterer) + currency (+ cardtype, hvis den eksisterer) (+ cardnumbers, hvis den eksisterer) + transno + FRIbetaling MAC nøgle

Værdierne konkatineres uden mellemrum og uden brug af “plus-tegn”.

Såfremt den medsendte Validatemd-værdi stemmer med det som forretningen selv kan udregne på baggrund af de medsendte værdier, så er der sikkerhed for at autorisationen er gyldig og uændret.

Bemærk i øvrigt, at cardtype og cardnumbers kun medtages i beregningen, hvis de medsendes fra FRIbetaling.



Din FRIbetaling MAC nøgle finder du i oprettelsesbrevet sammen med dit brugernavn og password. Bemærk at MAC nøglen der skal anvendes til test er angivet i afsnittet herunder omkring ”Sådan kan du teste”.
   
Sikkerhed Bemærk at remoteload også benytter denne sikkerhedsfunktion, således at remoteload kun vil vise sider, som er oprettet som kilde.
   
Sådan kan du teste FRIbetaling omfatter et fuldt funktionelt test system, som gør at udviklere løbende kan afprøve gennemførelse af autorisationer samt verifikation af autorisationer.

Test systemet udfører ingen reelle bagvedliggende transaktioner, men stiller udvikleren i stand til at simulere både godkende og afviste autorisationer.

Autorisation

Godkend (accept)
For at orientere FRIbetaling om at der er tale om test-transaktioner, skal der medsendes en ekstra særlig parameter, når https://pgw.fribetaling.dk/betal.fri kaldes.
Såfremt det ønskes, at FRIbetaling skal håndtere transaktionen som en godkendt (accept) autorisation, medsendes følgende:

<input type="hidden" name="Testtransaction" value="A" />


Afvis transaktionen (decline)
Ønskes det derimod, at FRIbetaling afviser transaktionen (decline), medsendes følgende:

<input type="hidden" name="Testtransaction" value="D" />


For begges vedkommende:
Følgende test merchant nummer SKAL benyttes.
Der kan IKKE gennemføres testtransaktioner på numre der afviger fra nedenstående:

<input type="hidden" name="Merchant" value="2133334" />


Hvis ikke begge ovenstående betingelser er opfyldt, vil systemet forsøge at håndtere autorisationen på normal vis og dermed sandsynligvis afvise alle transaktioner.

Bemærk, at såfremt der gennemføres transaktioner på et gyldigt merchant nummer med gyldige kortnumre er der overvejende sandsynlighed for at kortet spærres, da de gentagne transaktioner i PBS’ system opfattes som forsøg på misbrug af kortet.
Desuden vil FRIbetaling ligeledes efter kort tid opdage det unormale transaktionsmønster og totalt blokere adgangen til transaktionssystemet.

Test af Autorisation-verifikation og Remote-capture
Autorisation-verifikation kan udføres på helt normal vis, ved anvendelse af ovenstående Merchant-nummer, og vil returnere en status, der svarer til den der er anmodet om i Testtransaction-parameteren på den forudgående udførte autorisation.

Remote-capture samt Capture-verifikation kan på helt tilsvarende vis anvendes.


Omstilling til normal drift
Når testen er fuldendt, fjernes Testtransaction-parameteren fra autorisationskaldet og Merchant nummeret rettes til forretningens eget på alle omfattede funktioner.
Derefter vil systemet fungere på normal vis.


FRIbetaling MAC nøglen til testformål er:

n8vh4h29uyadihg849jgkuhs89a

og kan kun anvendes i forbindelse med test merchantnummeret 2133334

   
 
  LUK VINDUET