API
Gavekort
Fire endepunkter dækker hele kortets liv gennem API'et: udsted, list, slå op, indløs.
| Metode | Sti | Gør |
|---|---|---|
| POST | /v1/api/giftcards | Udsteder et kort |
| GET | /v1/api/giftcards | Lister forretningens kort |
| GET | /v1/api/giftcards/{code} | Slår ét kort op |
| POST | /v1/api/giftcards/{code}/redeem | Indløser et beløb |
Udsted et kort
Udsteder et kort uden om betalingsflowet — til et B2B-salg mod faktura eller et kort givet med på huset.
| Felt | Type | Krav |
|---|---|---|
| amountOre | heltal | Påkrævet. Beløb i øre, mindst 1. |
| validityMonths | heltal | Valgfrit. Mindst 36 — kortere afvises. |
| origin | b2b | comp | Valgfrit. Standard er comp. |
| reference | tekst | Valgfrit. Din egen note, fx et fakturanummer. Højst 200 tegn. |
curl -X POST https://api.pirr.fun/v1/api/giftcards \
-H "Authorization: Bearer pk_live_..." \
-H "Content-Type: application/json" \
-d '{
"amountOre": 50000,
"origin": "b2b",
"reference": "Faktura 2026-114"
}'Svarer 201 med kortet under giftCard. Beløbet er i øre — 50000 er 500,00 kr.
List kort
curl https://api.pirr.fun/v1/api/giftcards \
-H "Authorization: Bearer pk_live_..."Svarer 200 med forretningens kort under giftCards.
Slå et kort op
curl https://api.pirr.fun/v1/api/giftcards/GC-XXXX-XXXX \
-H "Authorization: Bearer pk_live_..."Svarer 200 med kortet under giftCard, eller 404 hvis koden ikke findes på din forretning.
Indløs
Trækker et beløb fra kortets saldo. Koden står i stien, beløbet i kroppen.
| Felt | Type | Krav |
|---|---|---|
| amountOre | heltal | Påkrævet. Beløb i øre, mindst 1. |
| location | tekst | Valgfrit. Hvor det skete, fx "Vesterbro". Højst 120 tegn. |
| idempotencyKey | tekst | Valgfrit, men anbefalet. Samme nøgle to gange trækker kun én gang. |
curl -X POST https://api.pirr.fun/v1/api/giftcards/GC-XXXX-XXXX/redeem \
-H "Authorization: Bearer pk_live_..." \
-H "Content-Type: application/json" \
-d '{
"amountOre": 6400,
"location": "Vesterbro",
"idempotencyKey": "pos-terminal-3-1753440000"
}'Svarer 200 med resultatet af indløsningen:
{
"code": "GC-XXXX-XXXX",
"amountOre": 6400,
"remainingBalanceOre": 43600,
"status": "active"
}status er kortets tilstand efter indløsningen — en af active, redeemed, expired, void. Er saldoen brugt op, skifter den til redeemed.