/api/v3/paymentsΑπαιτεί Idempotency-KeyΔημιουργία πληρωμής
Η απόκριση 201 περιέχει τα payment_url και expires_at. Οδηγήστε τον πελάτη στο payment_url· η σελίδα πληρωμής ισχύει για 24 ώρες. Αν επιστραφεί 409 / 9000039, επαναλάβετε το ίδιο αίτημα με το ίδιο Idempotency-Key.
Σώμα αιτήματος
| Πεδίο | Τύπος | Υποχρεωτικό | Περιγραφή |
|---|---|---|---|
amount | string | Υποχρεωτικό | Θετικό ποσό, ως δεκαδική συμβολοσειρά σταθερής κλίμακας με 2 δεκαδικά (π.χ. "250.00"), στο currency_code. Πρέπει να είναι εντός των ορίων πληρωμής του λογαριασμού σας (ελέγχονται σε USD μετά τη μετατροπή με την τρέχουσα ισοτιμία· δείτε τα όρια στη σελίδα API Key & Ενσωμάτωση του πίνακα)· διαφορετικά το αίτημα επιστρέφει 422 9000005. |
currency_code | string | Υποχρεωτικό | Νόμισμα προέλευσης.USDEURAEDTRY |
merchant_reference | string | null | Προαιρετικό | Η δική σας αναφορά παραγγελίας (έως 64 χαρακτήρες). Μοναδική ανά λογαριασμό και περιβάλλον: μια αναφορά δεν μπορεί να ξαναχρησιμοποιηθεί, ούτε καν για πληρωμή που έληξε (409 9000007). Προαιρετικό.maxLength 64 |
webhook_url | string | null | Προαιρετικό | Διεύθυνση https:// που λαμβάνει τις υπογεγραμμένες ειδοποιήσεις (payment.paid, payment.refunded, payment.failed). Ο κεντρικός υπολογιστής πρέπει να επιλύεται μέσω DNS σε δημόσια διεύθυνση (χωρίς ιδιωτική ή δεσμευμένη IP, χωρίς localhost)· η διεύθυνση έχει το πολύ 500 χαρακτήρες και δεν πρέπει να περιέχει όνομα χρήστη ή κωδικό πρόσβασης. Προαιρετικό: αν παραλειφθεί, χρησιμοποιείται η διεύθυνση webhook που έχει αποθηκευτεί στον πίνακα για το περιβάλλον του κλειδιού υπογραφής σας· αν δεν υπάρχει αποθηκευμένη, δεν στέλνεται ειδοποίηση.maxLength 500 |
merchant_name | string | null | Προαιρετικό | Όνομα που εμφανίζεται στην οθόνη πληρωμής. Προαιρετικό· η προεπιλογή είναι Hesap <account number> (ο 6ψήφιος αριθμός λογαριασμού σας). Μια τιμή μεγαλύτερη από 120 χαρακτήρες περικόπτεται και δεν απορρίπτεται. |
return_url | string · uri | null | Προαιρετικό | Προαιρετικό return_url (έως 2048 χαρακτήρες). Το live απαιτεί HTTPS· το sandbox δέχεται και HTTP σε localhost, 127.0.0.1 ή [::1]. Χωρίς στοιχεία χρήστη, τμήμα, χαρακτήρες ελέγχου ή κενά. Τα διεθνή ονόματα τομέα μετατρέπονται σε ASCII. Μη έγκυρο URL: 422 / 9000038. Όταν τελειώσει η πληρωμή, η σελίδα αποτελέσματος εμφανίζει ένα κουμπί που οδηγεί τον πελάτη σε αυτή τη διεύθυνση, με προσθήκη των code, status και, αν το στείλατε, merchant_reference στο ερώτημα· δεν υπάρχει αυτόματη ανακατεύθυνση. Μην την αλλάζετε κατά την επανάληψη με το ίδιο Idempotency-Key.maxLength 2048 |
Σώμα αιτήματος · Παράδειγμα
{
"amount": "10.00",
"currency_code": "USD",
"merchant_reference": "INV-104",
"merchant_name": "Test Shop",
"return_url": "https://shop.example.invalid/return?basket=104"
}Το limits περιέχει currency_code, min_amount και max_amount (null: χωρίς ανώτατο όριο). Τα παρακάτω ποσά είναι παραδείγματα, όχι τα όριά σας.
HTTP 422 / 9000005
{
"type": "https://www.cryptoavans.com/errors/9000005",
"title": "Invalid amount",
"status": 422,
"code": "9000005",
"correlation_id": "example",
"detail": "Amount outside the account limits.",
"limits": {
"currency_code": "USD",
"min_amount": "25.00",
"max_amount": null
}
}Απόκριση · 201
Η πληρωμή δημιουργήθηκε. Αν επαναληφθεί με το ίδιο Idempotency-Key, επιστρέφεται αντί γι' αυτό 200.
Payment
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
code | string | Σύντομος κωδικός πληρωμής (4–16 πεζοί χαρακτήρες). |
merchant_reference | string | null | Η αναφορά παραγγελίας σας, όπως στάλθηκε. |
status | string | Κατάσταση κύκλου ζωής της πληρωμής: created μέχρι να πληρώσει ο πελάτης και μετά paid· expired όταν ο σύνδεσμος λήξει απλήρωτος.createdpaidexpired |
amount | string | Μικτό ποσό, ως δεκαδική συμβολοσειρά σταθερής κλίμακας με 2 δεκαδικά, στο currency_code. |
currency_code | string | Νόμισμα προέλευσης αυτής της πληρωμής· διαβάστε την τιμή που επιστρέφεται αντί να υποθέτετε το νόμισμα του παραδείγματος.USDEURAEDTRY |
environment | string | Περιβάλλον στο οποίο ανήκει αυτή η πληρωμή.sandboxlive |
payment_url | string | Οδηγήστε τον πελάτη στο payment_url που επιστρέφεται ως κανονική σελίδα (πλοήγηση ανωτάτου επιπέδου)· μην δημιουργείτε και μην αλλάζετε εσείς τη διεύθυνση. Η σελίδα δεν μπορεί να ενσωματωθεί σε iframe. Δεν αποστέλλονται δεδομένα κάρτας σε αυτό το API. |
created_at | string · date-time | Ώρα δημιουργίας (UTC, ISO-8601). |
expires_at | string · date-time | UTC. Η σελίδα πληρωμής ισχύει για 24 ώρες μετά τη δημιουργία. Δημιουργήστε νέα πληρωμή μετά τη λήξη· δεν υπάρχει endpoint ανανέωσης. Επαληθεύστε την πληρωμή με GET /api/v3/payments/{code} ή υπογεγραμμένο webhook· η επιστροφή του πελάτη στον ιστότοπό σας είναι ενημερωτική. |
paid_at | string · date-time | null | Πότε πληρώθηκε ή null. |
payment_url_kind | string | Πάντα platform (η δική μας σελίδα πληρωμής). Το πεδίο διατηρείται για τις υπάρχουσες ενσωματώσεις· το provider_hosted δεν επιστρέφεται πλέον.platformprovider_hosted |
card | MerchantCardSummary | null | Στοιχεία κάρτας της επιτυχούς προσπάθειας· null πριν από την πληρωμή ή αν δεν είναι διαθέσιμα. |
failure | PaymentFailureSummary | null | Τελευταία αποτυχημένη προσπάθεια όσο δεν έχει πληρωθεί, αλλιώς null. Δεν είναι τελικό: μπορεί να πληρωθεί μέχρι expires_at. Το attempt_count μετρά τις αποτυχίες και στις επαναπροσπάθειες. |
Απόκριση · Παράδειγμα
{
"code": "a1b2c3d4",
"merchant_reference": "INV-104",
"status": "created",
"amount": "10.00",
"currency_code": "USD",
"environment": "live",
"payment_url": "https://pay.example.com/l/a1b2c3d4",
"payment_url_kind": "platform",
"created_at": "2026-10-05T12:00:00Z",
"expires_at": "2026-10-06T12:00:00Z",
"paid_at": null,
"card": null,
"failure": null
}Άλλες αποκρίσεις
200Επανάληψη idempotent: επιστρέφεται η αρχική πληρωμή· δεν δημιουργείται δεύτερη πληρωμή.422Ποσά εκτός ορίων λογαριασμού (9000005, και κάτω από 0.01 μετά τη μετατροπή ή πάνω από τη χωρητικότητα) περιλαμβάνουν limits στο βασικό νόμισμα λογαριασμού. Το sandbox εφαρμόζει τον ίδιο έλεγχο. Άλλα σφάλματα μπορεί να μην έχουν limits.