Preskoči na sadržaj

Plaćanja

Hostovani checkout na /pay sa amount, project i opaque data.

Pay URL

Preusmjerite kupca na pay stranicu SDK hosta sa query parametrima:

url
/pay?amount=10&project=PROJECT_ID&data=OPAQUE_ORDER_DATA&customId=ORDER_123
  • amount — Cjelobrojni Perper iznos kao query string (npr. 10). Portal ga šalje backendu kao decimalni string.
  • project — id projekta (cuid2).
  • data — Opaque string koji vi definišete (npr. order id). Prosleđuje se da backend može da poveže plaćanje.
  • customId (opciono) — Merchant idempotency ključ. Hostovani /pay prosleđuje ga Contabu (isto kao Contabo QR). Potreban za checkStatus; echo na webhook + redirect.

Checkout UX

Pay stranica prikazuje naziv projekta i iznos. Platilac potvrđuje sa Plati. Na uspjehu portal prati redirect URL sa Perper backend-a. Na grešci se prikaže greška.

Success stranica

/pay/successful potvrđuje završeno slanje kad tok tu završi. Preferirajte fulfill preko apiUrl callback-a, ne samo preko browsera.

Serverski callback (apiUrl)

Perper šalje potpisani JSON rezultat na apiUrl. Browser return URL je samo UX — fulfill ide sa verified webhook-a. Pun ugovor, verify recept i live proof su na stranici Webhook-ovi.

Status transakcije (API)

POST /sdk/transaction/checkStatus sa projectId, customId i JWT hash potpisanim project secretom vraća { successful: boolean }. Hash payload je { projectId, customId } — ne opaque pay data string.

QR pay link (API)

POST /sdk/project/qr (vlasnik) vraća PNG QR ka hostovanom /pay URL-u za amount + project (+ data/customId). Portal prosleđuje te query parametre u Contabo pay — QR → /pay → checkStatus se slažu.

Primjer (Node)

javascript
function buildPayLink({ host, amount, projectId, orderId }) {
  const url = new URL("/pay", host);
  url.searchParams.set("amount", String(amount));
  url.searchParams.set("project", projectId);
  url.searchParams.set("data", orderId);
  url.searchParams.set("customId", orderId); // optional — enables checkStatus
  return url.toString();
}

Kreirajte projekte i kopirajte sample URL sa stranice projekta nakon quickstart-a. Quickstart · Webhook-ovi.