Pređi na sadržaj
platilakoNapravi QR kôd

Dokumentacija za AI agente i programe

Ova stranica je namenjena programima i agentima koji treba da naprave nalog za plaćanje u Srbiji. Sve što ovde piše opisuje ponašanje koje se može proveriti pozivom.

Šta servis radi

platilako od podataka za plaćanje pravi NBS IPS QR kôd — QR sliku u kojoj je upisan nalog za prenos. Kada se takav kôd skenira u aplikaciji banke, polja naloga se popune sama. Postoje dva puta: alat u pregledaču, koji ume i da pročita podatke sa fotografije ili PDF-a računa, i ovaj API.

platilako nije servis Narodne banke Srbije, Uprave za trezor ni bilo kog drugog organa i nije sa njima povezan. Oblik kôda je propisala NBS; to je javno dostupan propis koji svako sme da primeni. Ako citirate ovu stranicu, molimo da tu razliku prenesete.

Servis priprema nalog, ne izvršava plaćanje. Poslednji korak je uvek potvrda korisnika u aplikaciji njegove banke.

Alat u pregledaču i API nisu isti put

Alat u pregledaču

Čitanje dokumenta i crtanje kôda dešavaju se na uređaju korisnika. Dokument se ne šalje ni na jedan server, ni na naš.

API

Suprotan smer: pozivalac svesno šalje podatke na server. Server ih ne čuva — nema baze, odgovor se izračuna i zaboravi.

Razlika je namerna i treba je preneti korisniku. Ako podatke za plaćanje šaljete ovim API-jem, oni napuštaju uređaj korisnika — što kod alata u pregledaču nije slučaj.

Krajnja tačka

POST https://platilako.rs/api/v1/ips-qr

Polja zahteva

Vrednosti se pretvaraju u tekst, pa je za iznos jednako ispravno poslati broj i niz znakova. Nedostajuće polje se tretira kao prazno.

Primer zahteva

POST /api/v1/ips-qr HTTP/1.1
Host: platilako.rs
Content-Type: application/json

{
  "racunPrimaoca": "840-743321843-94",
  "primalac": "Republika Srbija",
  "iznos": "3596,13",
  "sifraPlacanja": "253",
  "svrha": "Republička administrativna taksa",
  "model": "97",
  "pozivNaBroj": "78123456789",
  "slika": false
}

Primer odgovora

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "ok": true,
  "zapis": "K:PR|V:01|C:1|R:840000074332184394|N:Republika Srbija|I:RSD3596,13|SF:253|S:Republička administrativna taksa|RO:9778123456789",
  "polja": {
    "K": "PR",
    "V": "01",
    "C": "1",
    "R": "840000074332184394",
    "N": "Republika Srbija",
    "I": "RSD3596,13",
    "SF": "253",
    "S": "Republička administrativna taksa",
    "RO": "9778123456789"
  },
  "kod": {
    "verzija": 8,
    "korekcija": "M"
  },
  "racun": {
    "banka": "Uprava za trezor",
    "javniPrihod": {
      "konto": "743321",
      "opis": "Prihodi od novčanih kazni za prekršaje"
    }
  },
  "napomena": "Kôd je formiran po specifikaciji Narodne banke Srbije. platilako nije servis NBS. Podaci poslati ovom API-ju se ne čuvaju."
}

Greške

Kada podaci ne zadovoljavaju specifikaciju, vraća se status 400 i spisak grešaka. Polje polje nosi oznaku iz zapisa (na primer R, I ili RO), a null kada se greška ne odnosi ni na jednu oznaku.

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8

{
  "ok": false,
  "greske": [
    {
      "polje": "R",
      "poruka": "Kontrolni broj računa 265-123456-78 ne odgovara (MOD 97-10)."
    }
  ]
}

Greške se ne zaobilaze. Neispravan kontrolni broj računa gotovo uvek znači da je neka cifra pogrešna, a ne da je provera prestroga.

Šta API ne može da proveri

Broj računa i poziv na broj po modelu 97 imaju kontrolni broj, pa se pogrešna cifra otkriva sama. Iznos tu proveru nema — svaki niz cifara je moguć iznos. Ako iznos dolazi iz nepouzdanog izvora, na primer čitanjem sa slike, tražite od korisnika da ga potvrdi pre nego što napravite kôd.

Isto važi za poziv na broj po modelima koji nemaju kontrolni broj: ne postoji način da se proveri, pa se prenosi onako kako je poslat.

Povezane stranice

Odakle su podaci

Propisi se menjaju. Plan računa se izmeni dva do tri puta godišnje, iznosi taksi se usklađuju svakog jula, a spisak banaka NBS ažurira bez najave. Podatke preuzimamo sa zvaničnih izvora i uz svaki piše datum preuzimanja — ali između izmene propisa i osvežavanja ovde može proći nekoliko dana.

Pre plaćanja uporedite broj računa, iznos i poziv na broj sa rešenjem, opomenom ili računom koji ste dobili. Na tom dokumentu piše ono što važi za vas — ovde piše ono što je važilo na dan preuzimanja.

platilako nije državni sajt. Nije servis Narodne banke Srbije, Uprave za trezor, Poreske uprave ni bilo kog drugog organa i nije sa njima povezan. Kôd pravimo po specifikaciji koju je propisala Narodna banka Srbije — to je javno dostupan propis koji svako sme da primeni. Pominjanje NBS-a znači samo da radimo po tom standardu, ništa više.

platilako priprema nalog, ne izvršava plaćanje. Ne vidimo vaš novac i ne dodirujemo vaš račun. Poslednji korak — potvrda u aplikaciji vaše banke — uvek je vaš, i tu ekran banke pokazuje sve podatke još jednom.