Cost+Docs

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:

StatusEndgültigBeschreibung
newNeinBestellung wurde gerade erstellt. Es wurde noch kein Zahlungsversuch unternommen.
processingNeinEin Zahlungsversuch ist in Bearbeitung. Der Kunde schließt möglicherweise 3D Secure oder einen anderen Verifizierungsschritt ab.
errorNeinDer Zahlungsversuch ist fehlgeschlagen. Der Kunde kann es mit derselben oder einer anderen Zahlungsmethode erneut versuchen.
completedJaZahlung war erfolgreich. Sie können die Bestellung ausführen.
cancelledJaDie Bestellung wurde storniert, entweder vom Kunden oder über die API.
expiredJaDie 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:

FeldBeschreibung
payment_methodDie verwendete Zahlungsmethode (z. B. credit-card, ideal, apple-pay)
payment_method_brandDie Marke oder der Aussteller (z. B. visa, mastercard, amex)
payment_method_detailsEin Objekt mit methodenspezifischen Details wie den letzten vier Kartendigits, Ablaufdatum und Karteninhabername
statusDer Status dieser spezifischen Transaktion
amountDer Transaktionsbetrag in Cent
currencyDie 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

On this page