Cost+Docs

Statusforespørgsler

Tjek ordre- og transaktionsstatus

Hver betaling i Cost+ repræsenteres af en ordre, der indeholder en eller flere transaktioner. Du kan tjekke den aktuelle status for enhver ordre ved at forespørge API'et, enten ved polling eller ved at bruge webhooks.

Hentning af ordrestatus

Send en GET-anmodning til /v1/orders/\{id\}/ for at hente det fulde ordreobjekt inklusive dens aktuelle status og alle tilknyttede transaktioner.

GET /v1/orders/b9ae6.../

Selvom polling fungerer til at tjekke ordrestatus, er webhooks den anbefalede tilgang til produktionsintegrationer. De giver realtidsnotifikationer uden overhead fra gentagne API-kald.

Ordrestatusser

En ordre gennemgår følgende statusser:

StatusEndeligBeskrivelse
newNejOrdren er netop oprettet. Der er endnu ikke foretaget noget betalingsforsøg.
processingNejEt betalingsforsøg er i gang. Kunden kan være i gang med at gennemføre 3D Secure eller et andet verifikationstrin.
errorNejBetalingsforsøget fejlede. Kunden kan forsøge igen med den samme eller en anden betalingsmetode.
completedJaBetalingen var vellykket. Du kan opfylde ordren.
cancelledJaOrdren blev annulleret, enten af kunden eller via API'et.
expiredJaOrdren udløb, inden en vellykket betaling blev foretaget. Standardudløbsperioden er 30 minutter.

Kun statusser markeret med Endelig = Ja er terminale. Ordrer med status new, processing eller error kan stadig skifte til completed.

Eksempel: Ordre under behandling

Når en kunde har påbegyndt betaling, men den endnu ikke er fuldført:

{
  "id": "b9ae6...",
  "project_id": "proj_abc123",
  "merchant_order_id": "my-order-id-1",
  "created": "2024-01-01T12:00:00.000000+00:00",
  "modified": "2024-01-01T12:01:30.000000+00:00",
  "completed": null,
  "expiration_period": "PT30M",
  "status": "processing",
  "currency": "EUR",
  "amount": 1295,
  "description": "My amazing order",
  "return_url": "https://www.example.com",
  "payment_url": "https://pay.costplus.com/...",
  "webhook_url": "https://www.example.com/webhook",
  "transactions": [
    {
      "id": "txn_001...",
      "payment_method": "credit-card",
      "payment_method_brand": "visa",
      "status": "processing",
      "amount": 1295,
      "currency": "EUR"
    }
  ],
  "flags": ["is-test"]
}

Eksempel: Gennemført ordre

Når betalingen er vellykket, når ordren status completed:

{
  "id": "b9ae6...",
  "project_id": "proj_abc123",
  "merchant_order_id": "my-order-id-1",
  "created": "2024-01-01T12:00:00.000000+00:00",
  "modified": "2024-01-01T12:02:15.000000+00:00",
  "completed": "2024-01-01T12:02:15.000000+00:00",
  "expiration_period": "PT30M",
  "status": "completed",
  "currency": "EUR",
  "amount": 1295,
  "description": "My amazing order",
  "return_url": "https://www.example.com",
  "payment_url": "https://pay.costplus.com/...",
  "webhook_url": "https://www.example.com/webhook",
  "transactions": [
    {
      "id": "txn_001...",
      "payment_method": "credit-card",
      "payment_method_brand": "visa",
      "payment_method_details": {
        "card_last_four": "4242",
        "card_expiry_month": 12,
        "card_expiry_year": 2026,
        "card_holder_name": "J. Smith"
      },
      "status": "completed",
      "amount": 1295,
      "currency": "EUR"
    }
  ],
  "flags": ["is-test"]
}

Transaktionsdetaljer

Hver transaktion i en ordre indeholder følgende nøglefelter:

FeltBeskrivelse
payment_methodDen anvendte betalingsmetode (f.eks. credit-card, ideal, apple-pay)
payment_method_brandMærket eller udstederen (f.eks. visa, mastercard, amex)
payment_method_detailsEt objekt med metodespecifikke detaljer som kortets sidste fire cifre, udløb og kortholders navn
statusStatus for denne specifikke transaktion
amountTransaktionsbeløbet i øre/cent
currencyTransaktionsvalutaen

Stol ikke udelukkende på, at kunden omdirigeres til din return_url som bekræftelse af betaling. Bekræft altid ordrestatus via API'et eller via en webhook, inden du opfylder en ordre.

Relaterede endpoints

  • Hent ordre — hent det fulde ordreobjekt og dens aktuelle status
  • List ordrer — list ordrer med datointervalfiltrering

On this page