Gå til indhold

API-dokumentation

Byg ovenpå Payfriend

Åbent REST API til partnere og systemer der skal integrere med bilag, bogføring og betalinger. JSON, Bearer-tokens og scoped adgang. Credentials får I ved at kontakte os.

  • REST · JSON
  • Bearer tokens
  • Scoped access
  • Partner-first

Hvad API'et er til

Samme motor som appen, over HTTP

API'et eksponerer de domæner I kender fra Payfriend: kunder, fakturaer, bilag, betalinger, flows og kreditor. Det er bygget til white-label, partnerflader og systemintegrationer, ikke til ad-hoc scrapes af UI'et.

Base URL
https://api.payfriend.io/v1

Alle stier i referencen er relative til base URL. Version er i path.

Hurtig start

Tre skridt til første kald

1

Kontakt os

Skriv hvad I vil bygge. Vi afklarer miljø, scopes og om I skal have sandbox først.

2

Få token

I får et Bearer-token med de rettigheder I har brug for. Adgang er ikke self-serve.

3

Kald API'et

Base URL, headers og JSON som nedenfor. Fuld reference og eventuelle webhooks følger med onboarding.

Autentificering

Token-baseret adgang

Alle kald kræver et token. Send det som Bearer i Authorization-headeren. Tokens udstedes af os med de scopes I aftaler. Rotér tokens hvis de lækkes, og brug separate tokens pr. miljø.

Headers

AuthorizationBearer {token}
Acceptapplication/json
Content-Typeapplication/json

Token-scopes

customers:readLæs kunder
customers:writeOpret og opdatér kunder
invoices:readLæs fakturaer og statistik
invoices:writeOpret fakturaer og markér betalt
receipts:readLæs bilag og status
receipts:writeUpload bilag og opdatér metadata
payments:readLæs betalinger
payments:writeRegistrér betalinger
flows:readLæs flows
flows:writeOpret, aktivér og deaktivér flows
suppliers:readLæs leverandører
suppliers:writeOpret og opdatér leverandører
credit-notes:readLæs kreditnotaer
credit-notes:writeOpret kreditnotaer
*Fuld adgang (alle scopes)
Request med token
curl -X GET https://api.payfriend.io/v1/customers \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"
Opret faktura
curl -X POST https://api.payfriend.io/v1/invoices \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "cus_…",
    "currency": "DKK",
    "lines": [
      { "description": "Konsulenttimer", "quantity": 10, "unit_price": 95000 }
    ]
  }'

Beløb er integer minor units (øre). 95000 = 950,00 DKK.

REST API

Endpoint-reference

35 endpoints fordelt på 8 ressourcegrupper. Ressourcegrupper og endpoints. Stier er relative til base URL. Request- og response-skemaer får I i den fulde reference ved onboarding.

Customers

Kunder og stamdata. · 5 endpoints

GET/customers
GET/customers/{id}
POST/customers
PUT/customers/{id}
DELETE/customers/{id}

Invoices

Fakturaer, status og statistik. · 6 endpoints

GET/invoices
GET/invoices/stats
GET/invoices/{id}
POST/invoices
POST/invoices/{id}/mark-paid
POST/invoices/{id}/send

Receipts

Bilag ind, status og kontering. · 5 endpoints

GET/receipts
GET/receipts/{id}
POST/receipts
POST/receipts/{id}/approve
GET/receipts/{id}/suggestions

Payments

Betalinger og registrering. · 3 endpoints

GET/payments
GET/payments/{id}
POST/payments

Flows

Automatiske opfølgnings- og godkendelsesflows. · 5 endpoints

GET/flows
GET/flows/{id}
POST/flows
POST/flows/{id}/activate
POST/flows/{id}/deactivate

Suppliers

Leverandører på kreditorsiden. · 4 endpoints

GET/suppliers
GET/suppliers/{id}
POST/suppliers
PUT/suppliers/{id}

Credit notes

Kreditnotaer knyttet til kunder og fakturaer. · 3 endpoints

GET/credit-notes
GET/credit-notes/{id}
POST/credit-notes

Webhooks

Events til jeres system når noget sker i Payfriend. · 4 endpoints

GET/webhooks
POST/webhooks
DELETE/webhooks/{id}
GET/webhooks/events

Konventioner

Sådan er API'et skruet sammen

Pagination

List-endpoints returnerer cursor-baseret pagination: limit, starting_after og has_more. Default limit er 25, max 100.

Beløb

Alle pengebeløb er integer i minor units (øre for DKK). Aldrig floating point. Valuta sendes som ISO 4217, fx DKK.

Id'er

Ressource-id'er er opaque strings med præfiks, fx cus_, inv_, rcp_, pay_. Behandl dem som strings, ikke tal.

Fejl

Fejl returnerer JSON med type, message og evt. param. HTTP-status følger standard: 400 validering, 401 auth, 403 scope, 404 not found, 429 rate limit, 5xx server.

Idempotens

POST der opretter ressourcer accepterer Idempotency-Key-header. Samme nøgle inden for 24 timer returnerer det oprindelige svar.

Rate limits

Standardkvote er pr. token. Headers X-RateLimit-Limit, X-RateLimit-Remaining og Retry-After følger med når I nærmer jer loftet.

Fejlformat
{
  "error": {
    "type": "invalid_request",
    "message": "customer_id is required",
    "param": "customer_id"
  }
}
List-svar
{
  "data": [ /* … */ ],
  "has_more": true,
  "next_cursor": "cus_…"
}

Partnere

Åbent for dem der vil bygge med os

API'et er til jer der skal mere end en standard-integration til e-conomic, Dinero eller Billy. White-label, egen flade eller intern automation.

Partnere og white-label

Kør Payfriend under jeres brand, og brug API'et til at styre kunder, bilag og status fra jeres egen flade.

Om white-label

Systemintegratorer

Forbind Payfriend til ERP, CRM eller interne værktøjer. Ét sted for bilag og bogføring, jeres system for resten.

Egne produkter

Byg jeres egen oplevelse ovenpå vores motor. Vi leverer bilag, kontering og bank. I leverer UI og relation.

Klar til API-adgang?

Fortæl os hvad I vil bygge. Vi vender tilbage med token, scopes, sandbox hvis relevant, og den fulde reference.

Svar på hverdage · Dansk team · Ingen self-serve keys