Statusabfragen
Bestell- und Transaktionsstatus überprüfen
Jede Zahlung in Cost+ wird durch eine Bestellung dargestellt, die eine oder mehrere Transaktionen enthält. Sie können den aktuellen Status jeder Bestellung über die API abfragen, entweder durch Polling oder durch Webhooks.
Bestellungsstatus abrufen
Senden Sie einen GET-Request an /v1/orders/\{id\}/, um das vollständige Bestellungsobjekt einschließlich des aktuellen Status und aller zugehörigen Transaktionen abzurufen.
GET /v1/orders/b9ae6.../Obwohl Polling zur Überprüfung des Bestellungsstatus funktioniert, sind Webhooks der empfohlene Ansatz für Produktionsintegrationen. Sie bieten Echtzeitbenachrichtigungen ohne den Overhead wiederholter API-Aufrufe.
Bestellungsstatus
Eine Bestellung durchläuft die folgenden Status:
| Status | Endgültig | Beschreibung |
|---|---|---|
new | Nein | Bestellung wurde gerade erstellt. Es wurde noch kein Zahlungsversuch unternommen. |
processing | Nein | Ein Zahlungsversuch ist in Bearbeitung. Der Kunde schließt möglicherweise 3D Secure oder einen anderen Verifizierungsschritt ab. |
error | Nein | Der Zahlungsversuch ist fehlgeschlagen. Der Kunde kann es mit derselben oder einer anderen Zahlungsmethode erneut versuchen. |
completed | Ja | Zahlung war erfolgreich. Sie können die Bestellung ausführen. |
cancelled | Ja | Die Bestellung wurde storniert, entweder vom Kunden oder über die API. |
expired | Ja | Die Bestellung ist abgelaufen, bevor eine erfolgreiche Zahlung erfolgt ist. Die Standard-Ablaufzeit beträgt 30 Minuten. |
Nur Status mit Endgültig = Ja sind terminal. Bestellungen im Status new, processing oder error können noch zu completed wechseln.
Beispiel: Bestellung in Bearbeitung
Wenn ein Kunde die Zahlung eingeleitet hat, diese aber noch nicht abgeschlossen ist:
{
"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"]
}Beispiel: Abgeschlossene Bestellung
Sobald die Zahlung erfolgreich ist, erreicht die Bestellung den 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"]
}Transaktionsdetails
Jede Transaktion innerhalb einer Bestellung enthält die folgenden wichtigen Felder:
| Feld | Beschreibung |
|---|---|
payment_method | Die verwendete Zahlungsmethode (z. B. credit-card, ideal, apple-pay) |
payment_method_brand | Die Marke oder der Aussteller (z. B. visa, mastercard, amex) |
payment_method_details | Ein Objekt mit methodenspezifischen Details wie den letzten vier Kartendigits, Ablaufdatum und Karteninhabername |
status | Der Status dieser spezifischen Transaktion |
amount | Der Transaktionsbetrag in Cent |
currency | Die Transaktionswährung |
Verlassen Sie sich nicht allein auf die Weiterleitung des Kunden zu Ihrer return_url als Zahlungsbestätigung. Verifizieren Sie den Bestellungsstatus immer über die API oder durch einen Webhook, bevor Sie eine Bestellung ausführen.
Verwandte Endpunkte
- Bestellung abrufen — das vollständige Bestellungsobjekt und seinen aktuellen Status abrufen
- Bestellungen auflisten — Bestellungen mit Datumsbereichsfilterung auflisten