Snabbstart
Ta emot din första betalning på 5 minuter
Denna guide leder dig genom att skapa och slutföra en testbetalning med Cost+ API:et. I slutet kommer du att ha en fungerande integration som du kan bygga vidare på.
Förutsättningar
- Ett Cost+-konto med en sandbox-webbplats — skapa ett i handlarportalen
- Din sandbox API-nyckel (finns under Webbplatser → din sandbox-webbplats → Integration)
Osäker på hur du hittar din API-nyckel? Se Testa din integration för detaljerade instruktioner.
Steg 1: Skapa en beställning
Skicka en POST-förfrågan för att skapa en betalningsorder. Ersätt YOUR_API_KEY med din sandbox API-nyckel:
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 anges i minsta valutaenhet (ören/cent). 1295 innebär 12,95 EUR.
API:et returnerar det fullständiga orderobjektet. De viktigaste fälten är id, status och payment_url inuti 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"
}
]
}Spara id — du behöver det i steg 3.
Steg 2: Genomför testbetalningen
- Öppna
payment_urlfrån svaret i din webbläsare - På betalningssidan, ange testkortuppgifterna:
| Fält | Värde |
|---|---|
| Kortnummer | 4111 1111 1111 1111 |
| Utgångsdatum | Valfritt framtida datum (t.ex. 12/28) |
| CVC | Valfria 3 siffror (t.ex. 123) |
- Skicka betalningen
- Du omdirigeras tillbaka till din
return_url
Förlita dig inte enbart på omdirigeringen för att bekräfta betalningen. Kunden kan stänga sin webbläsare innan omdirigeringen sker. Verifiera alltid via API:et (steg 3) eller webhooks (steg 4).
Steg 3: Verifiera betalningen
Hämta ordern för att bekräfta att den slutförts:
curl -u YOUR_API_KEY: \
https://api.costplus.online/v1/orders/4851e31c-4137-4e91-95ef-1df945ee76a2/En lyckad betalning ser ut så här:
{
"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"
}
}
]
}Orderns status är "completed" — betalningen lyckades.
Steg 4: Hantera webhooken (rekommenderas)
När betalningsstatusen ändras skickar Cost+ en POST-förfrågan till din webhook_url:
{
"event": "status_changed",
"order_id": "4851e31c-4137-4e91-95ef-1df945ee76a2"
}När du tar emot denna:
- Anropa
GET /v1/orders/{order_id}/för att verifiera aktuell status (lita aldrig på webhook-payloaden ensam) - Returnera HTTP
200för att bekräfta mottagandet - Fullfölj ordern om statusen är
"completed"
För lokal utveckling, använd en tunnel som ngrok för att exponera din lokala server och ta emot webhooks.
Se Webhooks-guiden för omförsökslogik, bästa praxis och payload-detaljer.
Alternativ: Betalningslänkar
Om du inte behöver omdirigering på serversidan erbjuder betalningslänkar en enklare väg. Skapa en länk, dela URL:en med din kund och kontrollera statusen senare.
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 innehåller en payment_url som du kan dela via e-post, SMS eller chatt. Kunden kan försöka betala flera gånger (upp till 25) tills länken löper ut eller betalningen lyckas.
Se guiden för betalningslänkar för det fullständiga arbetsflödet.
Vad händer nu?
Du har genomfört din första betalning. Här är vart du kan gå härifrån:
- Hosted Payment Page — fullständig HPP-referens med alla förfrågningsfält och alternativ
- Återkommande betalningar — ställ in prenumerationer och schemalagd fakturering
- Betalning med ett klick — snabb utcheckning för återkommande kunder
- Auktorisering / Debitering / Makulering — auktorisera först, debitera senare (t.ex. vid frakt)
- Återbetalningar — hantera fullständiga och partiella återbetalningar
- SDK:er — officiella bibliotek för Node.js, Python, PHP, Java/Kotlin, C#/.NET och Ruby
- Plugins — färdiga integrationer för Shopify, WooCommerce, Magento och fler
Relaterade endpoints
- Skapa order — fullständig API-referens för orderskapande
- Hämta order — hämta orderdetaljer och status
- Skapa betalningslänk — skapa återanvändbara betalningslänkar