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:
| Status | Endelig | Beskrivelse |
|---|---|---|
new | Nej | Ordren er netop oprettet. Der er endnu ikke foretaget noget betalingsforsøg. |
processing | Nej | Et betalingsforsøg er i gang. Kunden kan være i gang med at gennemføre 3D Secure eller et andet verifikationstrin. |
error | Nej | Betalingsforsøget fejlede. Kunden kan forsøge igen med den samme eller en anden betalingsmetode. |
completed | Ja | Betalingen var vellykket. Du kan opfylde ordren. |
cancelled | Ja | Ordren blev annulleret, enten af kunden eller via API'et. |
expired | Ja | Ordren 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:
| Felt | Beskrivelse |
|---|---|
payment_method | Den anvendte betalingsmetode (f.eks. credit-card, ideal, apple-pay) |
payment_method_brand | Mærket eller udstederen (f.eks. visa, mastercard, amex) |
payment_method_details | Et objekt med metodespecifikke detaljer som kortets sidste fire cifre, udløb og kortholders navn |
status | Status for denne specifikke transaktion |
amount | Transaktionsbeløbet i øre/cent |
currency | Transaktionsvalutaen |
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