Datahåndtering (Secure Capture)

Efter kunden har tastet data fra securetunnel.asp laves et kald (POST) til securecapture.asp, som håndterer medsendte variabler.

POST request sendt til: https://pay.dandomain.dk/securecapture.asp tager følgende parametre:

Parameter Beskrivelse
MerchantNumber (krævet) Merchantnummer tildelt af PBS
Amount (krævet) Beløb som hæves. Bemærk, decimal separatoren er altid , (komma)
OrderID (krævet) Butikkens ID nr. for ordren
CurrencyID (krævet) Valutakode (ISO4217) 208 for DKK er default
CardNumber (krævet) Kreditkortnummer
CardCVC (krævet) Kontrolcifre
ExpireMonth (krævet) Kreditkort udløbsmåned (Krævet – længde:2)
ExpireYear (krævet) Kreditkort udløbsår (Krævet – længde:2)
OKURL (Valgfri) En godkendt transaktion viderestilles hertil.

Følgende parametre tilføjes:

transact(transaktionsnr)

orderid(transaktionens ordreid)

Tager prioritet over OKURL angivet i administrationen

FAILURL (Valgfri) Ved afvist transaktion viderestilles hertil.

Desuden tilføjes parameteren errorcode(fejlkode).

Tager prioritet over FAILURL angivet i administrationen

SessionID (Valgfri) SessionID
OKStatusURL (Valgfri) Der foretages et skjult http kald til adressen, hvis transaktionen godkendes.

Desuden tilføjes parametrerne transact(transaktionsnummeret) samt orderid(transaktionens ordreid)

Disse parametre medsendes også:

CardType= Visa  (korttypen)

Attempts= 3   (antal forsøg på at gennemføre betaling i denne session)

Attempts FromIPToday=6  (antal forsøg fra denne ip adresse idag)

Hvis man kører 3D secure: 3DLiabilityshift=1 (0 = nej, 1= ja)

FAILStatusURL (Valgfri) Der foretages et skjult http kald til adressen, hvis transaktionen afvises.

Desuden tilføjes parameteren errorcode(fejlkode).

Tager prioritet over FAILURL angivet i administrationen

Port Kan angives på OKStatusUrl og FailStatusUrl.

fx. <input type=”hidden” name=”port” value=”8080″>

vil denne blive brugt både på OKStatusUrl og FailStatusUrl.

Denne kan med fordel benyttes til integrering med eksterne systemer. Også selvom server for modtagelse af status kaldene bruger anden port end standard port 80

ReferenceText I ReferenceText er det muligt at angive en referencetext til eget brug. Denne medtages på E-mailen der sendes fra Betalingssystemet ved gennemførsel af en transaktion. (Valgfri)
PayType (Valgfri) Kan tage følgende værdier:

0 = Normal kreditkort (Default)

1 = eDankort

2 = 3D Secure

10 = eWire

PostingID

KeyLabel

SigISO9796

AuthLifeCycle

Signaturfelter som bruges til eDankort. Alle felter skal med og skal afspejle data modtaget fra banken. (Vigtig: linierne skal med som det står her)
Checksum Angivelse af sikkerhedsnøgle for MD5 kryptering.

CheckSum er resultatet af:

I asp vil det se således ud:

CheckSum = md5(OrderID & “+” & Amount & “+” & ChecksumSecretKey & “+” & CurrencyID)

I PHP vil det se således ud:

$CheckSum = md5($OrderID.”+”.$Amount.”+”.$ChecksumSecretKey.”+”.$CurrencyID);

Hvis variablerne indeholder følgende: OrderID=100 Amount=100,50 ChecksumSecretKey=key

så det bliver en streng der hedder 100+100,50+key+208 som man så md5’er og gemmer i variablen CheckSum

Brug af MD5 checksum skal sikrer mod svindel, da transaktioner der ikke opfylder Checksum specifikationer afvises

kode for post: <input type=”hidden” name=”checksum” value=”info fra ChecksumCalced”>

InstantCapture Betyder, at der foretages øjeblikkelig hævning af transaktionen lige efter autorisation.

eksempel på instantcapture felt: <input type=”hidden” name=”instantcapture” value=”1″>

CardTypeID Mulighed for at sende flere parametre for hvilke korttyper der kan benyttes. Se liste over korttyper: Korttyper

SecureCapture.asp kaldes med følgende for kontrol af korttyper:

https://pay.dandomain.dk/SecureCapture.asp?CardTypeID=1,2,3,4

Her begrænses betalingen til typerne: Dankort, Visa, Mastercard og Visa / Dankort

TestMode (Valgfri) Hvis parameteren medtages og sættes = 1 kører systemet i testmode. Dvs. at det er muligt at teste implementeringen op mod betalingsserveren, uden at der foretages nogen form for rigtig registrering.

For at simulere en betaling kan der testes med følgende kortnr.:

1111111111111111 = Godkendt kort

2222222222222222 = Afvist transaktion

Bemærk! Der genereres ikke nogen rigtig transaktion – dvs. at transaktionen ikke kan ses i administrationsmodulet.

Bemærk: Da der er tale om en test implementering, vil der ikke blive trukket informationer fra betalingssystem administrationen for OkUrl og FailUrl eksempelvis. Disse kan dog sættes ind i html formularen istedet. MerchantNumber SKAL sendes med som et POST request hvis testmode != 1 ellers vil man få fejlen “KUN POST requests tillades!!”

<input type=”hidden” name=”TestMode” value=”1″>

Specielt for oprettelse af abonnementsbetalinger (kræver specialaftale med PBS!)

I tillæg til ovenstående, kan der angives om nye transaktioner skal oprettes som abonnementsbetalinger. Dette gøres ved at benytte:

Parameter Beskrivelse Format
RecurringPayment

(krævet)

Sættes den til værdien 1, vil transaktionen blive oprettet som abonnementsbetaling.

<input type=”hidden” name=”RecurringPayment” value=”1″>

Int
RecurringCustNumber

(Krævet)

Her sættes kundenummer der skal tillægges til den nyoprettede abonnementsbetaling. Bemærk dette kundenummer bruges fremover som reference til det aktuelle abonnement. String
RecurringDelete Hvis en kunde skal slettes sættes parameteren RecurringDelete=1 i kombination med RecurringCustNumber=kundenummer for den kunde der skal slettes String
RecurringDays* Angiver interval af dage mellem hver abonnementsbetaling. Int
RecurringMonths* Angiver interval af måneder mellem hver abonnementsbetaling. Int
RecurringNextCapure*

 

Angiver hvornår den næste abonnementsbetaling skal finde sted. Datoformat for eksempelvis d. 22 oktober 2006 er:

22-10-06

String

*Det er ikke nødvendigt at sende både RecurringDays, RecurringMonths, RecurringNextCapure med en af dem er nok.

Opdatering af abonnementer

Se punkt PayApi / efterbehandling  under Specielt for abonnementsbetalinger

For at opdatere eksisterende abonnementer, kan man til securecapture.asp og payapi.asp medsende variablen UpdateExistingSubscriber.

Fejlkoder

Hvis der opstår fejl under betalingstransaktionen medtages følgende fejlkoder til FAILURL samt FAILStatusURL kaldene.

Se mere om disse error codes i afsnit 4.1 Dandomains fejlkoder.

Form eksempel for kreditkort transaktioner:

Eksempler kan også findes under Download eksempler