Cost+Docs

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-webbplatsskapa 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:

Create an order
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:

Response
{
  "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

  1. Öppna payment_url från svaret i din webbläsare
  2. På betalningssidan, ange testkortuppgifterna:
FältVärde
Kortnummer4111 1111 1111 1111
UtgångsdatumValfritt framtida datum (t.ex. 12/28)
CVCValfria 3 siffror (t.ex. 123)
  1. Skicka betalningen
  2. 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:

Check order status
curl -u YOUR_API_KEY: \
  https://api.costplus.online/v1/orders/4851e31c-4137-4e91-95ef-1df945ee76a2/

En lyckad betalning ser ut så här:

Response (completed)
{
  "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:

Webhook payload
{
  "event": "status_changed",
  "order_id": "4851e31c-4137-4e91-95ef-1df945ee76a2"
}

När du tar emot denna:

  1. Anropa GET /v1/orders/{order_id}/ för att verifiera aktuell status (lita aldrig på webhook-payloaden ensam)
  2. Returnera HTTP 200 för att bekräfta mottagandet
  3. 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.

Create a payment link
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:

Relaterade endpoints

On this page