Cost+Docs

Αιτήματα Κατάστασης

Έλεγχος κατάστασης παραγγελιών και συναλλαγών

Κάθε πληρωμή στην Cost+ αναπαρίσταται από μια παραγγελία που περιέχει μία ή περισσότερες συναλλαγές. Μπορείτε να ελέγξετε την τρέχουσα κατάσταση οποιασδήποτε παραγγελίας ρωτώντας το API, είτε με polling είτε βασιζόμενοι σε webhooks.

Ανάκτηση Κατάστασης Παραγγελίας

Στείλτε ένα αίτημα GET στο /v1/orders/\{id\}/ για να ανακτήσετε το πλήρες αντικείμενο παραγγελίας, συμπεριλαμβανομένης της τρέχουσας κατάστασης και όλων των σχετικών συναλλαγών.

GET /v1/orders/b9ae6.../

Αν και το polling λειτουργεί για τον έλεγχο κατάστασης παραγγελίας, τα webhooks είναι η συνιστώμενη προσέγγιση για ενσωματώσεις production. Παρέχουν ειδοποιήσεις σε πραγματικό χρόνο χωρίς το κόστος επαναλαμβανόμενων κλήσεων API.

Καταστάσεις Παραγγελίας

Μια παραγγελία προχωρά μέσα από τις ακόλουθες καταστάσεις:

ΚατάστασηΤελικήΠεριγραφή
newΌχιΗ παραγγελία μόλις δημιουργήθηκε. Δεν έχει γίνει καμία προσπάθεια πληρωμής ακόμα.
processingΌχιΜια προσπάθεια πληρωμής βρίσκεται σε εξέλιξη. Ο πελάτης μπορεί να ολοκληρώνει 3D Secure ή άλλο βήμα επαλήθευσης.
errorΌχιΗ προσπάθεια πληρωμής απέτυχε. Ο πελάτης μπορεί να επαναπροσπαθήσει με την ίδια ή διαφορετική μέθοδο πληρωμής.
completedΝαιΗ πληρωμή ήταν επιτυχής. Μπορείτε να εκτελέσετε την παραγγελία.
cancelledΝαιΗ παραγγελία ακυρώθηκε, είτε από τον πελάτη είτε μέσω του API.
expiredΝαιΗ παραγγελία έληξε πριν γίνει επιτυχής πληρωμή. Η προεπιλεγμένη περίοδος λήξης είναι 30 λεπτά.

Μόνο οι καταστάσεις με Τελική = Ναι είναι τερματικές. Παραγγελίες σε κατάσταση new, processing ή error μπορούν ακόμα να μεταβούν σε 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: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"]
}

Παράδειγμα: Ολοκληρωμένη Παραγγελία

Μόλις η πληρωμή είναι επιτυχής, η παραγγελία φτάνει στην κατάσταση 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"]
}

Λεπτομέρειες Συναλλαγής

Κάθε συναλλαγή μέσα σε μια παραγγελία περιέχει τα ακόλουθα βασικά πεδία:

ΠεδίοΠεριγραφή
payment_methodΗ μέθοδος πληρωμής που χρησιμοποιήθηκε (π.χ., credit-card, ideal, apple-pay)
payment_method_brandΗ μάρκα ή ο εκδότης (π.χ., visa, mastercard, amex)
payment_method_detailsΑντικείμενο με λεπτομέρειες ειδικές για τη μέθοδο, όπως τα τελευταία τέσσερα ψηφία κάρτας, λήξη και όνομα κατόχου
statusΗ κατάσταση αυτής της συγκεκριμένης συναλλαγής
amountΤο ποσό συναλλαγής σε λεπτά
currencyΤο νόμισμα της συναλλαγής

Μην βασίζεστε αποκλειστικά στην ανακατεύθυνση του πελάτη στο return_url ως επιβεβαίωση πληρωμής. Πάντα επαληθεύετε την κατάσταση παραγγελίας μέσω του API ή μέσω webhook πριν εκτελέσετε μια παραγγελία.

Σχετικά Endpoints

  • Λήψη Παραγγελίας — ανάκτηση του πλήρους αντικειμένου παραγγελίας και της τρέχουσας κατάστασής της
  • Λίστα Παραγγελιών — λίστα παραγγελιών με φιλτράρισμα εύρους ημερομηνιών

On this page