4 - Forritunarskil
Upplýsingar um prófanavefslóð Greiðslusíðu Valitor og fleira tengt prófunum má finna í kafla 2.
Þegar kaupandi er sendur á Greiðslusíðu Valitor þarf að senda neðangreindar færibreytur með.
Hægt er að nota bæði HTTP GET og HTTP POST.
4.1 - Parameters
Svæði | Type | Len. min | Len. max | Notk. | Lýsing |
---|---|---|---|---|---|
MerchantID | N | 1 | 9 | M | Einkvæmt auðkenni söluaðila. |
Language | A | 2 | 2 | O | Tungumál. IS er sjálfgefið ef ekkert er sent inn. Leyfileg gildi:
|
Currency | A | 3 | 3 | M | Gjaldmiðill, t.d. ISK. Verður að passa við gjaldmiðil sem er á samningi söluaðila. |
AuthorizationOnly | N | 1 | 1 | M | Ekki notað í dag. Verður að nota gildið 0. |
ReferenceNumber | S | 0 | 100 | O | Einkvæmt tilvísunarnúmer söluaðila. |
Product_X_Description | S | 1 | 500 | M | Lýsing á vöru. X stendur fyrir tölustaf frá 1 til 500. Ef verið er að nota HTTP GET er best að HTML enkóða þennan streng og URL enkóða strenginn ef verið er að nota HTTP POST. ATH! Ef CreateVirtualCardOnly færibreytan er sett sem 1 þá skal sleppa þessari færibreytu. |
Product_X_Quantity | N | 1 | 5 | M | Magn vöru. X stendur fyrir tölustaf frá 1 til 500. ATH! Ef CreateVirtualCardOnly færibreytan er sett sem 1 þá skal sleppa þessari færibreytu. |
Product_X_Price | D | 1 | 12 | M | Verð á einni einingu af vörunni. Nota skal kommu til að aðgreina aukastafi fyrir erlenda gjaldmiðla. X stendur fyrir tölustaf frá 1 til 500. ATH! Ef CreateVirtualCardOnly færibreytan er sett sem 1 þá skal sleppa þessari færibreytu. |
Product_X_Discount | D | 1 | 12 | M | Upphæð afsláttar á vöru per einingu. Nota skal kommu til að aðgreina aukastafi fyrir erlenda gjaldmiðla. X stendur fyrir tölustaf frá 1 til 500. ATH! Ef CreateVirtualCardOnly færibreytan er sett sem 1 þá skal sleppa þessari færibreytu. |
PaymentSuccessfulURL | S | 0 | 500 | O | Slóð sem birtist á kvittanasíðu og bendir notanda á að halda áfram á vef söluaðila. Hægt er að hafa færibreytur (e.parameter) á þessari slóð. Greiðslusíðan bætir færibreytum sem innihalda upplýsingar um söluna aftan við slóðina. Ef verið er að nota HTTP GET er best að HTML enkóða þennan streng. Sjá nánar í kafla 4.1.2. |
PaymentSuccessfulURLText | S | 0 | 500 | O | Texti sem birtist á tengli (PaymentSuccessfulURL) sem birtist á kvittanasíðu. |
PaymentSuccessfulAutomaticRedirect | N | 1 | 1 | O | 0 eða 1. Segir til um hvort flytja eigi kaupanda sjálfkrafa yfir á PaymentSuccessfulURL ef að greiðsla tekst. ATH! Ef þessi færibreyta er sett á 1 þá verður söluaðili að birta kvittun/staðfestingu fyrir kaupum á sinni síðu. |
PaymentSuccessfulServerSideURL | S | 0 | 500 | O | Slóð sem Valitor kallar á til að láta söluaðila vita að greiðsla tókst. Hægt er að hafa færibreytur (e.parameter) á þessari slóð. Þessi síða þarf að skila HTTP Status Code 200 og verður að svara á porti 80 (HTTP) eða 443 (HTTPS). Greiðslusíðan bætir færibreytum sem innihalda upplýsingar um söluna aftan við slóðina. Ef verið er að nota HTTP GET er best að HTML enkóða þennan streng. Sjá nánar í kafla 4.1.2. |
PaymentCancelledURL | S | 0 | 500 | O | Slóð sem notandi er sendur á ef hann hættir við kaup, þ.e. smellir á ”Hætta við” hnapp. Ef verið er að nota HTTP GET er best að HTML enkóða þennan streng. |
DigitalSignature | S | 0 | 500 | M | MD5/SHA256 hash sem notað er til að tryggja réttmæti upplýsinga sem sendar eru á Greiðslusíðuna. Sjá nánar í kafla 4.1.1. |
SessionExpiredTimeoutInSeconds | N | 0 | 9 | O | Ef að þetta gildi er sent inn þá er kaupandi sendur á SessionExpiredRedirectURL þegar tíminn er liðinn. |
SessionExpiredRedirectURL | S | 0 | 500 | O | Slóð sem notandi er sendur á ef að session rennur út. Ef verið er að nota HTTP GET er best að HTML enkóða þennan streng. |
DisplayBuyerInfo | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að birta eigi innsláttarsvæði fyrir kennitölu, nafn, heimilisfang, póstnúmer, stað, land, síma, netfang og athugasemdir kaupanda. |
RequireSSN | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að svæði fyrir kennitölu kaupanda verði að vera útfyllt. |
RequireName | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að svæði fyrir nafn kaupanda verði að vera útfyllt. |
RequireAddress | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að svæði fyrir heimilisfang kaupanda verði að vera útfyllt. |
RequirePostalCode | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að svæði fyrir póstnumer kaupanda verði að vera útfyllt. |
RequireCity | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að svæði fyrir stað kaupanda verði að vera útfyllt. |
RequireCountry | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að svæði fyrir land kaupanda verði að vera útfyllt. |
RequirePhone | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að svæði fyrir síma kaupanda verði að vera útfyllt. |
RequireEmail | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að svæði fyrir netfang kaupanda verði að vera útfyllt. |
RequireComments | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að svæði fyrir athugasemdir kaupanda verði að vera útfyllt. |
HideSSN | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að fela eigi svæði fyrir kennitölu kaupanda. |
HideName | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að fela eigi svæði fyrir nafn kaupanda. |
HideAddress | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að fela eigi svæði fyrir heimilisfang kaupanda. |
HidePostalCode | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að fela eigi svæði fyrir póstnumer kaupanda. |
HideCity | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að fela eigi svæði fyrir stað kaupanda. |
HideCountry | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að fela eigi svæði fyrir land kaupanda. |
HidePhone | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að fela eigi svæði fyrir síma kaupanda. |
HideEmail | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að fela eigi svæði fyrir netfang kaupanda. |
HideComments | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að fela eigi svæði fyrir athugasemdir kaupanda. |
IsCardLoan | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að kaup séu kortalán. Ef ekkert er sett í þennan reit fer greiðsla fram með greiðslukorti. Upphæð láns þarf að vera yfir 30.000 kr. til að hægt sé að stofna lán. |
MerchantName | N | 0 | 100 | O | Senda þarf inn notandanafn söluaðila ef um kortalán er að ræða. Sjá nánar í kafla 4.1.3. |
IsInterestFree | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að kortalán sé vaxtalaust. Ef gildið er óútfyllt eða tómt er lán samkvæmt samningi fyrirtækis við Valitor. |
CreateVirtualCardOnly | N | 1 | 1 | O | 0 eða 1. Segir til um hvort að greiðslusíðan sé eingöngu notuð til að stofna ný sýndarkort. ATH! Ef þessi færibreyta er sett sem 1 þá er eingöngu stofnað nýtt sýndarkort og engin greiðsla er framkvæmd. |
4.1.1 - DigitalSignature
MD5/SHA256 hash til að auðkenna réttmæti upplýsinga sem sendar eru á Greiðslusíðuna en Greiðslusíðan reiknar út sama MD5/SHA256 og ber saman við það sem er sent inn.
Búinn er til langur strengur á ákveðinn hátt og svo er tekið MD5/SHA256 hash á strengnum.
Mikilvægt er að gögnin í strengnum komi í þessari röð:
VerificationCode (Öryggisnúmer) + AuthorizationOnly + Product_x_y + //eingöngu ef CreateVirtualCardOnly=0 eða er ekki sendur með* MerchantID + ReferenceNumber + PaymentSuccessfulURL + PaymentSuccessfulServerSideURL + Currency + IsInterestFree //eingöngu ef stofna á kortalán*
Þar sem Product_x_y eru allar vörurnar á eftirfarandi formi:
Product_1_Quantity + Product_1_Price + Product_1_Discount + Product_2_Quantity + Product_2_Price + Product_2_Discount + o.s.frv.
Til leiðbeiningar
Ef stofna á kortalán með IsCardLoan=1 og IsInterestFree færibreytan er send með og SHA256 er notað þá verður að bæta gildinu fyrir IsInterestFree aftast í DigitalSignature strenginn, þ.e. 1 eða 0. Annars er ekki þörf á því að bæta því við.
Ef CreateVirtualCardOnly færibreytan er notuð og er sett sem 1 þá skal sleppa Product_x_y úr útreikningi á DigitalSignature.
Vinsamlegast athugið
Mikilvægt er að velja SHA256 en ekki MD5 þegar skrifað er á móti greiðslusíðunni þar sem að á ákveðnum tímapunkti mun verða lokað fyrir notkun á MD5.
4.1.1.1 - Dæmi
Ef forsendur eru þessar:
VerificationCode: 2ef8ec654c (Upplýsingar um öryggisnúmer eru á Þjónustuvef undir Greiðslusíða -> Upplýsingar) AuthorizationOnly: 0 Product_1_Quantity: 2 Product_1_Price: 1500 Product_1_Discount: 0 Product_2_Quantity: 1 Product_2_Price: 1000 Product_2_Discount: 0 MerchantID: 207 (MerchantID/VefverslunID is on Valitor's Service Web under Greiðslusíða -> Upplýsingar) ReferenceNumber: 456 PaymentSuccessfulURL: http://www.minsida.is/takkfyrir PaymentSuccessfulServerSideURL: http://www.minsida.is/sale.aspx?c=8282&ref=232 Currency: ISK
Verður strengurinn þessi:
2ef8ec654c0215000110000207456http://www.minsida.is/takkfyrirhttp://www.minsida.is/sale.aspx?c=8282&ref=232ISK
MD5 af þessum streng er A704F243D9373D6F757257544781FD76 og það er gildið fyrir DigitalSignature.
Eftirfarandi gildi eru öll rétt fyrir þennan streng og eru gildið fyrir DigitalSignature:
Hash | Rétt gildi |
---|---|
MD5 | A704F243D9373D6F757257544781FD76 |
MD5 ASCII | 85a55dc4948a4e0139c8951224df8d5f |
SHA256 | c5e360e87eb1a6b402718d82904bc2b08c51bc3be92867db5b5eacb3483fe58f |
SHA256 ASCII | 8573f2a43f4d5fed99aaee4c8d098f14903afaf709ea1e0e7840e5e56edd962a |
Ef ekki tekst að búa til rafræna undirskrift er vert að athuga hvort viðkomandi kerfi sé ekki með rétt MD5/SHA256 fall.
Annað dæmi fyrir strenginn "abc":
Hash | Rétt gildi |
---|---|
ekkert | abc |
MD5 | CE1473CF80C6B3FDA8E3DFC006ADC315 |
MD5 ASCII | 900150983cd24fb0d6963f7d28e17f72 |
SHA256 | 13e228567e8249fce53337f25d7970de3bd68ab2653424c7b8f9fd05e33caedf |
SHA256 ASCII | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
4.1.2 - PaymentSuccesfulURL og PaymentSuccesfulServerSideURL
Ef að færibreyturnar PaymentSuccessfulURL eða PaymentSuccessfulServerSideURL hafa einhver gildi þá eru eftirfarandi gildi hengd aftan á slóðirnar:
Field | Type | Len. min | Len. max | Usage | Description |
---|---|---|---|---|---|
CardType | AN | - | - | - | KortategundDæmi:
|
CardNumberMasked | S | - | - | - | Fyrir PaymentSuccesfulURL þá er þetta síðustu 4 stafir kortnúmers með * táknum fyrir framan. Fyrir PaymentSuccesfulServerSideURL er þetta fyrstu 6 og síðustu 4 stafir kortnúmers með * táknum á milli. |
Date | S | - | - | - | Dagsetning sölu (á forminu dd.MM.yyyy). |
AuthorizationNumber | AN | - | - | - | Heimildarnúmer. |
TransactionNumber | N | - | - | - | Færslunúmer. |
SaleID | S | - | - | - | GUID sem Greiðslusíðan býr til og er einkvæmt fyrir sölu. |
ReferenceNumber | S | - | - | - | Tilvísunarnúmer söluaðila. |
DigitalSignatureResponse | S | - | - | - | MD5/SHA256 hash sem er búið til með að taka MD5/SHA256 af strengnum VerificationCode + ReferenceNumber á sama hátt og gert er í kafla 4.1.1. Nauðsynlegt er að DigitalSignatureResponse sé reiknað út á þeirri síðu sem Greiðslusíðan kallar á og það gildi borið saman við gildið sem Greiðslusíðan sendir til að tryggja að ekki sé verið að búa til tengla og reyna að líkja eftir sölum án þess að greiðsla eigi sér stað. |
ContractNumber | N | - | - | - | Samningsnúmer sem sala fór á. |
ContractType | S | - | - | - | Tegund samnings sem sala fór á. ORUGGS fyrir venjulegan greiðslusíðusamning. |
CardLoanNumber | S | - | - | - | Númer kortaláns |
CardTypeCode | N | - | - | - | Þriggja stafa kóði fyrir tegund korts. |
SSN | N | - | - | - | Ef að DisplayBuyerInfo er jafnt og 1 þá er kennitölu kaupanda skilað til baka (ef það svæði var fyllt út). |
Name | S | - | - | - | Ef að DisplayBuyerInfo er jafnt og 1 þá er nafni kaupanda skilað til baka (ef það svæði var fyllt út). |
Address | N | - | - | - | Ef að DisplayBuyerInfo er jafnt og 1 þá er heimilisfangi kaupanda skilað til baka (ef það svæði var fyllt út). |
PostalCode | N | - | - | - | Ef að DisplayBuyerInfo er jafnt og 1 þá er póstnúmeri kaupanda skilað til baka (ef það svæði var fyllt út). |
City | N | - | - | - | Ef að DisplayBuyerInfo er jafnt og 1 þá er stað kaupanda skilað til baka (ef það svæði var fyllt út). |
Country | N | - | - | - | Ef að DisplayBuyerInfo er jafnt og 1 þá er landi kaupanda skilað til baka (ef það svæði var fyllt út). |
Phone | N | - | - | - | Ef að DisplayBuyerInfo er jafnt og 1 þá er síma kaupanda skilað til baka (ef það svæði var fyllt út). |
N | - | - | - | Ef að DisplayBuyerInfo er jafnt og 1 þá er netfangi kaupanda skilað til baka (ef það svæði var fyllt út). | |
Comments | N | - | - | - | Ef að DisplayBuyerInfo er jafnt og 1 þá er athugasemdum kaupanda skilað til baka (ef það svæði var fyllt út). |
VirtualCard | AN | - | - | - | Ef að CreateVirtualCardOnly er jafnt og 1 þá er sýndarkortinu skilað til baka. |
4.1.3 - IsCardLoan og MerchantName
Ef að um kortalán er um að ræða þarf notandanafn söluaðila að fylgja með.
Svæðið má vera tómt ef svo er ekki.
4.1.4 - CreateVirtualCardOnly
Ef nota á greiðslusíðuna til að stofna sýndarkort með því að senda CreateVirtualCardOnly færibreytuna sem 1 þá er eftirfarandi færibreytum skilað til baka í PaymentSuccesfulURL og PaymentSuccesfulServerSideURL:
CardNumberMasked ReferenceNumber DigitalSignatureResponse ContractNumber VirtualCard