API aadress on https://pangalink.indoorsman.ee/api/

Pangalink-net API koosneb kahest osast – esiteks lisaparameetritest, mida on võimalik kaasa anda maksevormiga, ning teiseks HTTP JSON API, mis võimaldab automatiseerida makselahenduste loomisega seonduvat.

Lisaparameetrid

Järgmised POST parameetrid saab kaasa panna tavalise maksevormiga. Näiteks kui tahad vaikimisi määrata maksja nime, siis võid tavalistele VK_* parameetritele lisaks panna maksevormi juurde ka parameetri PANGALINK_NAME, mis määrabki maksevormis maksja nime.

  • PANGALINK_NAME – määrab maksja nime maksevormis (vaikimisi "Tõõger Leõpäöld")
  • PANGALINK_ACCOUNT – määrab maksja konto maksevormis (vaikimisi seotud panga tüübiga)
  • PANGALINK_USER – määrab autentimisvormis kasutaja kokkuleppelise identifikaatori
  • PANGALINK_USER_NAME – määrab autentimisvormis kasutaja nime
  • PANGALINK_USER_ID – määrab autentimisvormis kasutaja isikukoodi
  • PANGALINK_COUNTRY – määrab autentimisvormis isikukoodi riigi
  • PANGALINK_OTHER – määrab autentimisvormis kasutaja lisainfo
  • PANGALINK_TOKEN – määrab autentimisvormis valitud autentimisvahendi
  • PANGALINK_AUTOPAY – automaatselt aktsepteerib/keeldub maksest ja suunab tagasi kaupmehe lehele. Võimalikud väärtused on:
    • accept – makse teostatakse
    • cancel – makse katkestatakse
    • reject – makse lükatakse tagasi tehnilistel põhjustel
    • auth – kasutaja autenditakse

HTTP API

API päringu sisu (POST ja PUT päringute puhul) peab olema JSON formaadis. Samas formaadis on ka päringu vastus.

Juhul kui päring õnnestub, on vastus järgmisel kujul:

{
    "success": true,
    "data": <päringu spetsiifilised andmed>
}

Juhul kui päringus esineb vigu, on vastuseks järgmine objekt:

{
    "success": false,
    "error": "<ilmnenud vea kirjeldus>"
}

Pankade nimekiri

API päringud kasutavad panga määramiseks identifikaatorit type. Näiteks kui tahad luua uut makselahendust tüübiga "Danske Emulaator", siis sea type väärtuseks "sampo".

GET /banks

Vastusparameetrid
Tagastusväärtuseks on massiiv emulaatorite andmetega.
  • type – emulaatori identifikaator
  • name – emulaatori nimi

Demo

Päring
curl -XGET "https://pangalink.indoorsman.ee/api/banks"
Vastus
{
    "success": true,
    "data": [
        {
            "type": "aktiasppop",
            "name": "Aktia/Sp/Pop Emulaator (beta)"
        },
        {
            "type": "alandsbanken",
            "name": "Ålandsbanken Emulaator (beta)"
        },
        {
            "type": "ec",
            "name": "Pankade Kaardikeskuse Emulaator"
        },
        ...
    ]
}

Hetkel kasutuses olevad emulaatorid

Panga nimi Identifikaator
Aktia/Sp/Pop aktiasppop
Ålandsbanken alandsbanken
DNB LT dnb.lt
E-Commerce Payment Gateway ec
Handelsbanken handelsbanken
Ipizza Testpank ipizza
Krediidipank (vana protokoll) krediidipank
Krediidipank krediidipank-common
LHV (vana protokoll) lhv
LHV lhv-common
Nordea (solo) nordea
Danske (vana protokoll) sampo
Danske sampo-common
SEB (vana protokoll) seb
SEB seb-common
Swedbank (vana protokoll) swedbank
Swedbank swedbank-common
Swedbank Lithuania swedbank.lt
Swedbank Latvia swedbank.lv
Tapiola tapiola

Makselahenduste nimekiri

Selle meetodiga saab küsida kasutaja makselahenduste nimekirja.

GET /project

GET parameetrid
  • start_index – millisest kirjest alustada kuvamist (korraga näidatakse kuni 20 kirjet)
Vastusparameetrid
  • total – mitu kirjet on üldse kokku
  • start_index – millisest kirjest alates hetkel nimekirja kuvatakse
  • end_index – milline kirje on kuvatavas nimekirjas viimane
  • list – kirjete nimekiri
    • id – makselahenduse identifikaator
    • type – panga tüüp
    • name – makselahenduse nimi

Demo

Päring
curl -XGET "https://pangalink.indoorsman.ee/api/project"
Vastus
{
    "success": true,
    "data": {
        "total": 67,
        "start_index": 0,
        "end_index": 9,
        "list": [
            {
                "id": "51cc029c69d3730000000003",
                "name": "Testkonto 1",
                "type": "ipizza"
            },
            {
                "id": "51cc026c69d3730000000002",
                "name": "Testkonto 2",
                "type": "ec"
            },
            ...
    ]
}

Makselahenduse andmete pärimine

Selle meetodiga saab küsida makselahenduse andmeid. Vajalik on teada makselahenduse id väärtust.

GET /project/:id

Vastusparameetrid
  • id – makselahenduse identifikaator
  • client_id – kliendi tunnuskood pangale edastamiseks
  • payment_url – maksevormi aadress
  • type – panga tüüp
  • name – makselahenduse nimi
  • description – makselahenduse kirjeldus (kui on määratud)
  • account_owner – konto omaniku nimi (kui on määratud)
  • account_nr – konto number (kui on määratud)
  • key_size – privaatvõtme suurus (kui on määratud)
  • return_url – tagasisuunamise aadress pärast makse sooritamist (kui on määratud)
  • private_key – salajane võti panka mineva makse andmete allkirjastamiseks (ainult avaliku võtme süsteemi kasutavate pankade puhul)
  • bank_certificate – panga sertifikaat pangast saabunud maksekinnituse kontrolliks (ainult avaliku võtme süsteemi kasutavate pankade puhul)
  • mac_key – salajane MAC võti päringute allkirjastamiseks ja valideerimiseks (ainult Nordea puhul)
  • algo – allkirjastamise algoritm (osade pankade puhul). Võimalikud väärtused "md5", "sha1" ja "sha256".
  • auto_response – juhul kui on tõene, siis pank teeb automaatpäringu makse infoga (ainult Nordea puhul)

Demo

Päring
curl -XGET "https://pangalink.indoorsman.ee/api/project/99gAuWmrMGn633n7"
Vastus
{
    "success": true,
    "data": {
        "id": "516e93fd9f89270f97000001",
        "client_id": "uid402268",
        "payment_url": "https://pangalink.indoorsman.ee/banklink/ipizza",
        "type": "ipizza",
        "name": "Testkonto",
        "private_key": "-----BEGIN RSA PRIVATE KEY----- ...",
        "bank_certificate": "-----BEGIN CERTIFICATE----- ..."
    }
}

Uue makselahenduse loomine

Selle meetodiga saad luua uusi makselahendusi. Edastades makselahenduse andmed, saad vastu loodud makselahenduse kasutajatunnuse ja võtmed.

POST /project

Sisendparameetrid
  • type – panga tüüp
  • name – makselahenduse nimi
  • description – makselahenduse kirjeldus (pole kohustuslik)
  • account_owner – konto omaniku nimi. Vajalik ipizza tüüpi pankade puhul teenuse 1002 kasutamiseks (pole kohustuslik, vaikimisi kasutatakse makselahenduse nime)
  • account_nr – konto number. Vajalik ipizza tüüpi pankade puhul teenuse 1002 kasutamiseks (pole kohustuslik, vaikimisi genereeritakse suvaline number)
  • key_size – avaliku võtme süsteemi kasutavate pankade puhul privaatvõtme suurus (pole kohustuslik, vaikimisi kasutatakse 1024)
  • return_url – tagasisuunamise aadress pärast makse sooritamist. Kohustuslik vaid Pankade Kaardikeskuse valiku korral, muudel juhtudel ei kasutata.
  • algo – allkirjastamise algoritm (pole kohustuslik). Vajalik vaid osade pankade puhul (Nordea, Soome pangad). Kui on määramata, kasutatakse väärtust "md5". Võimalikud väärtused "md5", "sha1" ja "sha256".
  • auto_response – kas pank peaks tegema automaatpäringu makse teostamisel (true või false). Pole kohustuslik. Vajalik vaid Nordea valiku korral, vaikimisi automaatpäringut ei tehta.
Vastusparameetrid
  • id – makselahenduse identifikaator
  • client_id – kliendi tunnuskood pangale edastamiseks
  • payment_url – maksevormi aadress
  • type – panga tüüp
  • name – makselahenduse nimi
  • description – makselahenduse kirjeldus (kui on määratud)
  • account_owner – konto omaniku nimi (kui on määratud)
  • account_nr – konto number (kui on määratud)
  • key_size – privaatvõtme suurus (kui on määratud)
  • return_url – tagasisuunamise aadress pärast makse sooritamist (kui on määratud)
  • private_key – salajane võti panka mineva makse andmete allkirjastamiseks (ainult avaliku võtme süsteemi kasutavate pankade puhul)
  • bank_certificate – panga sertifikaat pangast saabunud maksekinnituse kontrolliks (ainult avaliku võtme süsteemi kasutavate pankade puhul)
  • mac_key – salajane MAC võti päringute allkirjastamiseks ja valideerimiseks (ainult Nordea puhul)
  • algo – allkirjastamise algoritm (osade pankade puhul). Võimalikud väärtused "md5", "sha1" ja "sha256".
  • auto_response – juhul kui on tõene, siis pank teeb automaatpäringu makse infoga (ainult Nordea puhul)

Demo

Päring
curl -XPOST "https://pangalink.indoorsman.ee/api/project" \
    --data '{
        "type": "ipizza",
        "name": "Testkonto"
    }'
Vastus
{
    "success": true,
    "data": {
        "id": "51cc0559fa66e5522c000003",
        "client_id": "uid402268",
        "payment_url": "https://pangalink.indoorsman.ee/banklink/ipizza",
        "type": "ipizza",
        "name": "Testkonto",
        "private_key": "-----BEGIN RSA PRIVATE KEY----- ...",
        "bank_certificate": "-----BEGIN CERTIFICATE----- ..."
    }
}

Makselahenduse kustutamine

Selle meetodiga saab kustutada makselahenduse ja sellega seotud andmed.

DELETE /project/:id

Demo

Päring
curl -XDELETE "https://pangalink.indoorsman.ee/api/project/99gAuWmrMGn633n7"
Vastus
{
    "success": true,
    "data": true
}

API muudatuste ajalugu

  • 04.12.2014 – Juba tükk aega ei ole Mashape API proksi kasutamine enam vajalik
  • 16.08.2013 – API päringud peavad käima läbi Mashape API proksi
  • 01.07.2013 – lisatud lisaparameetrite võimalus (PANGALINK_NAME, PANGALINK_ACCOUNT, PANGALINK_AUTOPAY)
  • 29.06.2013 – parameeter expiration_time kustutatud makselahenduse andmetest
  • 27.06.2013 – lisatud esimene API versioon