Hurtigstart
Modtag din første betaling på 5 minutter
Denne vejledning guider dig igennem oprettelse og gennemførelse af en testbetaling med Cost+ API'et. Til sidst har du en fungerende integration, du kan bygge videre på.
Forudsætninger
- En Cost+-konto med et sandbox-website — opret et i forhandlerportalen
- Din sandbox API-nøgle (findes under Websites → dit sandbox-website → Integration)
Er du i tvivl om, hvordan du finder din API-nøgle? Se Test din integration for detaljerede opsætningsinstruktioner.
Trin 1: Opret en ordre
Send en POST-anmodning for at oprette en betalingsordre. Erstat YOUR_API_KEY med din sandbox API-nøgle:
curl -X POST https://api.costplus.online/v1/orders/ \
-u YOUR_API_KEY: \
-H "Content-Type: application/json" \
-d '{
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-first-order",
"description": "Test order",
"return_url": "https://example.com/return",
"webhook_url": "https://example.com/webhook",
"transactions": [
{
"payment_method": "credit-card"
}
]
}'amount angives i den mindste valutaenhed (øre/cent). 1295 betyder 12,95 EUR.
API'et returnerer det fulde ordreobjekt. De vigtigste felter er id, status og payment_url i transaktionen:
{
"id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
"status": "new",
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-first-order",
"description": "Test order",
"return_url": "https://example.com/return",
"webhook_url": "https://example.com/webhook",
"created": "2026-01-15T12:00:05.433502+00:00",
"modified": "2026-01-15T12:00:05.553125+00:00",
"expiration_period": "PT1H",
"transactions": [
{
"id": "d291f03f-a406-428a-967a-4895a46e03fd",
"payment_method": "credit-card",
"status": "new",
"amount": 1295,
"currency": "EUR",
"payment_url": "https://pay.costplus.online/4851e31c.../credit-card/d291f03f...",
"is_capturable": false,
"expiration_period": "PT30M"
}
]
}Gem id — du skal bruge det i trin 3.
Trin 2: Gennemfør testbetalingen
- Åbn
payment_urlfra svaret i din browser - Indtast testkortoplysningerne på betalingssiden:
| Felt | Værdi |
|---|---|
| Kortnummer | 4111 1111 1111 1111 |
| Udløb | En vilkårlig fremtidig dato (f.eks. 12/28) |
| CVC | Vilkårlige 3 cifre (f.eks. 123) |
- Indsend betalingen
- Du bliver omdirigeret tilbage til din
return_url
Stol ikke udelukkende på omdirigeringen som bekræftelse af betalingen. Kunden kan lukke sin browser, inden omdirigeringen sker. Bekræft altid via API'et (trin 3) eller webhooks (trin 4).
Trin 3: Verificer betalingen
Hent ordren for at bekræfte, at den er gennemført:
curl -u YOUR_API_KEY: \
https://api.costplus.online/v1/orders/4851e31c-4137-4e91-95ef-1df945ee76a2/En vellykket betaling ser sådan ud:
{
"id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
"status": "completed",
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-first-order",
"completed": "2026-01-15T12:02:30.123456+00:00",
"transactions": [
{
"id": "d291f03f-a406-428a-967a-4895a46e03fd",
"payment_method": "credit-card",
"status": "completed",
"amount": 1295,
"currency": "EUR",
"payment_method_details": {
"truncated_pan": "1111",
"card_expiry": "122028"
}
}
]
}Ordrens status er "completed" — betalingen var vellykket.
Trin 4: Håndter webhook (anbefalet)
Når betalingsstatus ændres, sender Cost+ en POST-anmodning til din webhook_url:
{
"event": "status_changed",
"order_id": "4851e31c-4137-4e91-95ef-1df945ee76a2"
}Når du modtager denne:
- Kald
GET /v1/orders/{order_id}/for at verificere den aktuelle status (stol aldrig på webhook-payloaden alene) - Returner HTTP
200for at bekræfte modtagelsen - Opfyld ordren, hvis status er
"completed"
Til lokal udvikling kan du bruge en tunnel som ngrok til at eksponere din lokale server og modtage webhooks.
Se Webhooks-vejledningen for retry-logik, best practices og payload-detaljer.
Alternativ: Betalingslinks
Hvis du ikke har brug for server-side redirect-logik, tilbyder betalingslinks en enklere løsning. Opret et link, del URL'en med din kunde, og tjek status senere.
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": 2500,
"currency": "EUR",
"description": "Invoice #1234"
}'Svaret inkluderer en payment_url, du kan dele via e-mail, SMS eller chat. Kunden kan forsøge betaling flere gange (op til 25), indtil linket udløber, eller betalingen lykkes.
Se Betalingslinks-vejledningen for det fulde workflow.
Hvad nu?
Du har gennemført din første betaling. Her er, hvad du kan gøre nu:
- Hosted Payment Page — fuld HPP-reference med alle anmodningsfelter og muligheder
- Tilbagevendende betalinger — opsæt abonnementer og planlagt fakturering
- Et-klik-betalinger — hurtig checkout for tilbagevendende kunder
- Autorisation / Hævning / Annullering — autoriser først, hæv senere (f.eks. ved forsendelse)
- Refusioner — behandl fulde og delvise tilbagebetalinger
- SDK'er — officielle biblioteker til Node.js, Python, PHP, Java/Kotlin, C#/.NET og Ruby
- Plugins — færdige integrationer til Shopify, WooCommerce, Magento og mere
Relaterede endpoints
- Opret ordre — fuld API-reference for ordreoprettelse
- Hent ordre — hent ordredetaljer og status
- Opret betalingslink — opret genanvendelige betalingslinks