|
| 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 |