Betalingslinks
Opret genanvendelige betalingslinks
Betalingslinks er genanvendelige URL'er, der giver kunder mulighed for at betale for en ordre. I modsætning til standardordrer, der udløber efter et enkelt fejlet forsøg, understøtter betalingslinks flere genforsøg, hvilket gør dem ideelle til fakturaer, e-mailbaserede betalinger og scenarier, hvor kunden muligvis ikke betaler med det samme.
Nøglefunktioner
- Genanvendelige: Kunder kan forsøge betaling op til 25 gange, hvis tidligere forsøg fejler.
- Langtidsgyldige: Standardudløb er 30 dage (konfigurerbar via
expiration_period). - Delbare: Send linket via e-mail, SMS, chat eller indlejr det på dit website.
Oprettelse af et betalingslink
Send en POST-anmodning til /v1/paymentlinks/:
curl -X POST https://api.costplus.online/v1/paymentlinks/ \
-u YOUR_API_KEY: \
-H "Content-Type: application/json" \
-d '{
"merchant_order_id": "invoice-1234",
"amount": 995,
"currency": "EUR",
"description": "Invoice #1234"
}'Svaret inkluderer payment_url til at dele med kunden og et unikt id til sporing:
{
"id": "e6eecc6a-47c5-4948-bcc0-d8b73f5c55a1",
"merchant_order_id": "invoice-1234",
"amount": 995,
"currency": "EUR",
"description": "Invoice #1234",
"expiration_period": "P30D",
"payment_url": "https://pay.costplus.online/paymentlinks/e6eecc6a.../",
"status": "new",
"reason": "Payment Link was created, not yet visited",
"orders": {},
"created": "2026-01-15T12:00:00.000000Z"
}Gem id — du bruger det til at tjekke betalingslinkstatus senere.
Påkrævede felter
| Felt | Beskrivelse |
|---|---|
merchant_order_id | Dit eget reference-ID for betalingslinket |
amount | Beløb i øre/cent (f.eks. 9,95 EUR = 995) |
currency | ISO 4217-valutakode (f.eks. EUR, GBP) |
Valgfrie felter
| Felt | Beskrivelse |
|---|---|
description | Beskrivelse vist til kunden |
expiration_period | ISO 8601-varighed. Standard er P30D (30 dage) |
return_url | URL til at omdirigere kunden efter vellykket betaling |
failure_url | URL til at omdirigere kunden ved annullering, udløb eller fejl |
webhook_url | URL til at modtage statusændringsnotifikationer |
customer | Kundedetaljer-objekt (navn, e-mail osv.) |
Hvis du angiver både return_url og failure_url, omdirigeres kunder til failure_url, når ordrestatus er cancelled, expired eller error. Ellers går alle omdirigeringer til return_url.
Hentning af et betalingslink
Send en GET-anmodning til /v1/paymentlinks/{id}/ med betalingslinkets id fra oprettelsessvaret:
curl -u YOUR_API_KEY: \
https://api.costplus.online/v1/paymentlinks/e6eecc6a-47c5-4948-bcc0-d8b73f5c55a1/Svaret inkluderer den aktuelle status og referencer til alle ordrer oprettet fra linket, grupperet efter deres status:
{
"id": "e6eecc6a-47c5-4948-bcc0-d8b73f5c55a1",
"merchant_order_id": "invoice-1234",
"amount": 995,
"currency": "EUR",
"description": "Invoice #1234",
"expiration_period": "P30D",
"payment_url": "https://pay.costplus.online/paymentlinks/e6eecc6a.../",
"status": "completed",
"reason": "Completed",
"completed": "2026-01-15T12:05:30.123456+00:00",
"completed_order_id": "3bb663cc-2a20-400d-8bf6-18d9695d0c66",
"orders": {
"error": ["0d79014c-0aaa-4fd6-87c5-c8cfa5f5ac69"],
"completed": ["3bb663cc-2a20-400d-8bf6-18d9695d0c66"]
}
}I dette eksempel foretog kunden ét fejlet forsøg (ordre 0d79014c... med error-status), inden det lykkedes (ordre 3bb663cc... med completed-status). Du kan hente alle detaljer for enhver ordre via GET /v1/orders/{order_id}/.
Betalingslinkstatusser
| Status | Beskrivelse |
|---|---|
new | Linket er oprettet, men der er ikke foretaget noget betalingsforsøg. |
processing | Et betalingsforsøg er i gang. |
all_unsuccessful | Alle betalingsforsøg er hidtil fejlet. Kunden kan stadig forsøge igen (op til 25 forsøg). |
completed | Betalingen var vellykket. Linket er ikke længere aktivt. |
expired | Linket er udløbet, inden en vellykket betaling blev foretaget. |
Statusen all_unsuccessful er ikke en endelig status. Kunden kan stadig forsøge at betale igen, indtil enten betalingen lykkes, det maksimale antal forsøg (25) er nået, eller linket udløber.
Når et betalingslink når status completed eller expired, kan det ikke bruges igen. Opret et nyt betalingslink, hvis kunden skal betale igen.
Eksempel på workflow
- Opret et betalingslink via
POST /v1/paymentlinks/. - Del den returnerede
payment_urlmed din kunde (f.eks. via e-mail, SMS eller faktura). - Kunden åbner linket og gennemfører betalingen.
- Cost+ sender en webhook til din
webhook_url, når status ændres. - Verificer betalingslinkstatus via
GET /v1/paymentlinks/{id}/. - Opfyld ordren, når status er
completed.
Relaterede endpoints
- Opret betalingslink — opret et genanvendeligt betalingslink
- Hent betalingslink — hent den aktuelle status for et betalingslink