Zapytania o status
Sprawdzanie statusów zamówień i transakcji
Każda płatność w Cost+ jest reprezentowana przez zamówienie zawierające jedną lub więcej transakcji. Aktualny status dowolnego zamówienia możesz sprawdzić, odpytując API, poprzez odpytywanie cykliczne lub korzystając z webhooków.
Pobieranie statusu zamówienia
Wyślij żądanie GET na /v1/orders/\{id\}/, aby pobrać pełny obiekt zamówienia, w tym jego aktualny status i wszystkie powiązane transakcje.
GET /v1/orders/b9ae6.../Chociaż odpytywanie cykliczne działa do sprawdzania statusu zamówienia, webhooki są zalecanym podejściem w integracji produkcyjnej. Zapewniają powiadomienia w czasie rzeczywistym bez obciążenia związanego z wielokrotnym wywoływaniem API.
Statusy zamówień
Zamówienie przechodzi przez następujące statusy:
| Status | Końcowy | Opis |
|---|---|---|
new | Nie | Zamówienie zostało właśnie utworzone. Nie podjęto jeszcze żadnej próby płatności. |
processing | Nie | Próba płatności jest w toku. Klient może realizować 3D Secure lub inny krok weryfikacji. |
error | Nie | Próba płatności nie powiodła się. Klient może spróbować ponownie tą samą lub inną metodą płatności. |
completed | Tak | Płatność zakończyła się sukcesem. Możesz zrealizować zamówienie. |
cancelled | Tak | Zamówienie zostało anulowane przez klienta lub przez API. |
expired | Tak | Zamówienie wygasło przed dokonaniem pomyślnej płatności. Domyślny okres ważności to 30 minut. |
Tylko statusy oznaczone jako Końcowy = Tak są terminalne. Zamówienia ze statusem new, processing lub error nadal mogą przejść do statusu completed.
Przykład: Zamówienie w trakcie przetwarzania
Gdy klient zainicjował płatność, ale nie jest ona jeszcze zakończona:
{
"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"]
}Przykład: Zrealizowane zamówienie
Po pomyślnej płatności zamówienie osiąga 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"]
}Szczegóły transakcji
Każda transakcja w ramach zamówienia zawiera następujące kluczowe pola:
| Pole | Opis |
|---|---|
payment_method | Użyta metoda płatności (np. credit-card, ideal, apple-pay) |
payment_method_brand | Marka lub wydawca (np. visa, mastercard, amex) |
payment_method_details | Obiekt ze szczegółami specyficznymi dla metody, takimi jak ostatnie cztery cyfry karty, data ważności i imię posiadacza |
status | Status tej konkretnej transakcji |
amount | Kwota transakcji w groszach/centach |
currency | Waluta transakcji |
Nie polegaj wyłącznie na przekierowaniu klienta na Twój return_url jako potwierdzeniu płatności. Zawsze weryfikuj status zamówienia przez API lub webhook przed realizacją zamówienia.
Powiązane punkty końcowe
- Pobierz zamówienie — pobierz pełny obiekt zamówienia i jego aktualny status
- Lista zamówień — lista zamówień z filtrowaniem po zakresie dat