Betalningslänkar
Skapa återanvändbara betalningslänkar
Betalningslänkar är återanvändbara URL:er som gör det möjligt för kunder att betala för en order. Till skillnad från standardordrar som löper ut efter ett enda misslyckat försök stöder betalningslänkar flera omförsök, vilket gör dem idealiska för fakturor, e-postbaserade betalningar och scenarier där kunden kanske inte betalar omedelbart.
Huvudfunktioner
- Återanvändbara: Kunder kan försöka betala upp till 25 gånger om tidigare försök misslyckas.
- Långlivade: Standardutgångstiden är 30 dagar (konfigurerbar via
expiration_period). - Delbara: Skicka länken via e-post, SMS, chatt eller bädda in den på din webbplats.
Skapa en betalningslänk
Skicka en POST-förfrågan till /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 innehåller payment_url att dela med kunden och ett unikt id för spårning:
{
"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"
}Spara id — du använder det för att kontrollera betalningslänkens status senare.
Obligatoriska fält
| Fält | Beskrivning |
|---|---|
merchant_order_id | Ditt eget referens-ID för betalningslänken |
amount | Belopp i ören/cent (t.ex. 9,95 EUR = 995) |
currency | ISO 4217-valutakod (t.ex. EUR, GBP) |
Valfria fält
| Fält | Beskrivning |
|---|---|
description | Beskrivning som visas för kunden |
expiration_period | ISO 8601-duration. Standard är P30D (30 dagar) |
return_url | URL att omdirigera kunden till efter lyckad betalning |
failure_url | URL att omdirigera kunden till vid avbrytning, utgång eller fel |
webhook_url | URL för att ta emot statusändringsnotifieringar |
customer | Kunddetaljobjekt (namn, e-post, etc.) |
Om du anger både return_url och failure_url omdirigeras kunder till failure_url när orderstatus är cancelled, expired eller error. Annars går alla omdirigeringar till return_url.
Hämta en betalningslänk
Skicka en GET-förfrågan till /v1/paymentlinks/{id}/ med betalningslänkens id från skapandesvaret:
curl -u YOUR_API_KEY: \
https://api.costplus.online/v1/paymentlinks/e6eecc6a-47c5-4948-bcc0-d8b73f5c55a1/Svaret innehåller aktuell status och referenser till alla ordrar skapade från länken, grupperade efter 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 detta exempel gjorde kunden ett misslyckat försök (order 0d79014c... med status error) innan det lyckades (order 3bb663cc... med status completed). Du kan hämta fullständiga detaljer för valfri order via GET /v1/orders/{order_id}/.
Betalningslänkstatusar
| Status | Beskrivning |
|---|---|
new | Länken har skapats men inget betalningsförsök har gjorts. |
processing | Ett betalningsförsök pågår just nu. |
all_unsuccessful | Alla betalningsförsök hittills har misslyckats. Kunden kan fortfarande försöka igen (upp till 25 försök). |
completed | Betalningen lyckades. Länken är inte längre aktiv. |
expired | Länken har löpt ut innan en lyckad betalning gjordes. |
Statusen all_unsuccessful är inte en slutgiltig status. Kunden kan fortfarande försöka betala igen tills antingen betalningen lyckas, det maximala antalet försök (25) har nåtts, eller länken löper ut.
När en betalningslänk når statusen completed eller expired kan den inte användas igen. Skapa en ny betalningslänk om kunden behöver betala igen.
Exempel på arbetsflöde
- Skapa en betalningslänk via
POST /v1/paymentlinks/. - Dela den returnerade
payment_urlmed din kund (t.ex. via e-post, SMS eller faktura). - Kunden öppnar länken och genomför betalningen.
- Cost+ skickar en webhook till din
webhook_urlnär statusen ändras. - Verifiera betalningslänkens status via
GET /v1/paymentlinks/{id}/. - Uppfyll ordern när statusen är
completed.
Relaterade endpoints
- Skapa betalningslänk — skapa en återanvändbar betalningslänk
- Hämta betalningslänk — hämta aktuell status för en betalningslänk