Statusförfrågningar
Kontrollera order- och transaktionsstatusar
Varje betalning i Cost+ representeras av en order som innehåller en eller flera transaktioner. Du kan kontrollera aktuell status för valfri order genom att fråga API:et, antingen genom polling eller genom att förlita dig på webhooks.
Hämta orderstatus
Skicka en GET-förfrågan till /v1/orders/\{id\}/ för att hämta det fullständiga orderobjektet inklusive dess aktuella status och alla tillhörande transaktioner.
GET /v1/orders/b9ae6.../Även om polling fungerar för att kontrollera orderstatus är webhooks det rekommenderade tillvägagångssättet för produktionsintegrationer. De ger realtidsnotifieringar utan overhead av upprepade API-anrop.
Orderstatusar
En order fortskrider genom följande statusar:
| Status | Slutgiltig | Beskrivning |
|---|---|---|
new | Nej | Ordern har just skapats. Inget betalningsförsök har gjorts ännu. |
processing | Nej | Ett betalningsförsök pågår. Kunden kan genomföra 3D Secure eller ett annat verifieringssteg. |
error | Nej | Betalningsförsöket misslyckades. Kunden kan försöka igen med samma eller en annan betalningsmetod. |
completed | Ja | Betalningen lyckades. Du kan uppfylla ordern. |
cancelled | Ja | Ordern avbröts, antingen av kunden eller via API:et. |
expired | Ja | Ordern löpte ut innan en lyckad betalning gjordes. Standardutgångsperioden är 30 minuter. |
Endast statusar markerade som Slutgiltig = Ja är terminala. Ordrar med status new, processing eller error kan fortfarande övergå till completed.
Exempel: Order under behandling
När en kund har initierat betalning men den ännu inte är slutförd:
{
"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"]
}Exempel: Slutförd order
När betalningen har lyckats når ordern statusen 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
Varje transaktion inom en order innehåller följande nyckelfält:
| Fält | Beskrivning |
|---|---|
payment_method | Den använda betalningsmetoden (t.ex. credit-card, ideal, apple-pay) |
payment_method_brand | Märket eller utgivaren (t.ex. visa, mastercard, amex) |
payment_method_details | Ett objekt med metodspecifika detaljer som kortets sista fyra siffror, utgångsdatum och kortinnehavarens namn |
status | Statusen för denna specifika transaktion |
amount | Transaktionsbeloppet i ören/cent |
currency | Transaktionsvalutan |
Förlita dig inte enbart på att kunden omdirigeras till din return_url som bekräftelse på betalning. Verifiera alltid orderstatus via API:et eller genom en webhook innan du uppfyller en order.
Relaterade endpoints
- Hämta order — hämta det fullständiga orderobjektet och dess aktuella status
- Lista ordrar — lista ordrar med datumintervallfiltrering