Πληρωμή

Επιστρέφει τους τύπους πληρωμής που δέχεται το ξενοδοχείο για online κρατήσεις και ξεκινά το βήμα πληρωμής για τον επιλεγμένο τύπο. Τι κάνετε για κάθε τύπο περιγράφεται στον οδηγό Ροή πληρωμής.

Λίστα τύπων πληρωμής#

GET/external/online/payment/type

Έλεγχος ταυτότητας: Authorization: Bearer

Επιστρέφει τους τύπους πληρωμής που έχει ενεργοποιήσει το ξενοδοχείο για online πωλήσεις. Σταθερά αναγνωριστικά τύπων: 1 πληρωμή στο ξενοδοχείο, 3 τραπεζικό έμβασμα, 9 πιστωτική κάρτα (τα στοιχεία της κάρτας αποστέλλονται με την κράτηση), 10 online πληρωμή (εικονικό POS).

Παράμετροι ερωτήματος

hotelIDintegerυποχρεωτικό
Αναγνωριστικό ξενοδοχείου.

Απόκριση

200 Επιτυχία.

Αίτημα
curl "https://test.hms.gen.tr/external/online/payment/type?hotelID=1000" \
  -H "Authorization: Bearer $HMS_TOKEN"
Απόκριση · 200
{
    "success": true,
    "count": 3,
    "items": [
        {
            "title": "Πληρωμή στο ξενοδοχείο",
            "title_translate": "odeme.otelde_odeme",
            "typeID": 1
        },
        {
            "title": "Τραπεζικό έμβασμα",
            "title_translate": "odeme.havale",
            "typeID": 3
        },
        {
            "title": "Online πληρωμή με κάρτα",
            "title_translate": "odeme.online_odeme",
            "typeID": 10
        }
    ]
}

Στοιχεία εικονικού POS#

GET/external/payment/company

Έλεγχος ταυτότητας: Authorization: Bearer

Επιστρέφει τον πάροχο εικονικού POS του ξενοδοχείου και τα στοιχεία εμπόρου. Χρειάζεται μόνο αν συνδέετε τον πάροχο απευθείας από τη δική σας πλευρά· η τυπική ροή χρησιμοποιεί το POST …/payment/type/10. Η απόκριση περιέχει μυστικά στοιχεία· κρατήστε την στον διακομιστή.

Παράμετροι ερωτήματος

hotelIDintegerυποχρεωτικό
Αναγνωριστικό ξενοδοχείου.

Απόκριση

200 Επιτυχία.

Αποκρίσεις σφαλμάτων

  • 200 hotel_company_info_could_not_found — δεν έχει ρυθμιστεί εικονικό POS για το ξενοδοχείο.
Αίτημα
curl "https://test.hms.gen.tr/external/payment/company?hotelID=1000" \
  -H "Authorization: Bearer $HMS_TOKEN"
Απόκριση · 200
{
    "success": true,
    "paymentCompany": {
        "merchant_id": "4000****",
        "store_key": "********",
        "terminal_no": "VP00****",
        "user": "demo_api",
        "password": "********",
        "max_installment": 6,
        "company_id": 3,
        "company_code": "iyzico",
        "company_name": "iyzico"
    }
}

Έναρξη βήματος πληρωμής#

POST/external/online/payment/type/{paymentType}

Έλεγχος ταυτότητας: Authorization: Bearer · Σώμα: application/json

Επιστρέφει τι πρέπει να γίνει για τον επιλεγμένο τύπο πληρωμής. Οι τύποι 1 και 9 χρειάζονται μόνο το hotelID· ο τύπος 3 επιστρέφει τους τραπεζικούς λογαριασμούς· για τον τύπο 10 η πληρωμή ξεκινά με τα στοιχεία του επισκέπτη και του καλαθιού, και το code (HTML) που επιστρέφεται αποδίδεται στη σελίδα του επισκέπτη για τη μετάβαση στην οθόνη πληρωμής του παρόχου.

Παράμετροι διαδρομής

paymentTypeintegerυποχρεωτικό
Αναγνωριστικό τύπου πληρωμής.
13910

Σώμα αιτήματος

hotelIDintegerυποχρεωτικό
Αναγνωριστικό ξενοδοχείου.
totalPricedecimal
Υποχρεωτικό για τον τύπο 10. Συνολικό ποσό προς χρέωση.
orderIDstring
Υποχρεωτικό για τον τύπο 10. Ο δικός σας αριθμός παραγγελίας/κράτησης.
returnUrlstring
Υποχρεωτικό για τον τύπο 10. URL στο οποίο επιστρέφει ο επισκέπτης μετά την πληρωμή.
name / surname / email / phonestring
Υποχρεωτικό για τον τύπο 10. Στοιχεία πληρωτή.
city / addressstring
Υποχρεωτικό για τον τύπο 10. Διεύθυνση χρέωσης.
countryIDinteger
Υποχρεωτικό για τον τύπο 10. Το id από τη λίστα χωρών.
baskets[]object[]
Υποχρεωτικό για τον τύπο 10, τουλάχιστον ένα στοιχείο. Κάθε στοιχείο: id, name, piece, price.

Απόκριση

200 Τύπος 10: το code περιέχει ένα τμήμα HTML που μεταφέρει τον επισκέπτη στον πάροχο πληρωμών (φόρμα με αυτόματη υποβολή, script window.location ή ενσωματωμένη φόρμα πληρωμής, ανάλογα με τον πάροχο). Αποδώστε το αυτούσιο στο πρόγραμμα περιήγησης του επισκέπτη. Για τους άλλους τύπους, το πεδίο message δείχνει τι πρέπει να γίνει.

Αποκρίσεις σφαλμάτων

  • 200 required_input_info_not_submitted (+ errors[]) — λείπει πεδίο για τον τύπο 10· country_info_sent_incorrectly — μη έγκυρο countryID· there_is_missing_info_in_the_shopping_cart — λείπει πεδίο σε στοιχείο του καλαθιού· bank_info_is_not_found — δεν έχει ρυθμιστεί τραπεζικός λογαριασμός για τον τύπο 3.
  • 404 Άγνωστο paymentType.
Αίτημα
curl -X POST "https://test.hms.gen.tr/external/online/payment/type/10" \
  -H "Authorization: Bearer $HMS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "hotelID": 1000,
    "totalPrice": 2330,
    "orderID": "4811174883",
    "returnUrl": "https://booking.example.com/payment/result",
    "name": "Ayşe",
    "surname": "Demir",
    "email": "[email protected]",
    "phone": "05551112233",
    "city": "Denizli",
    "address": "Kumsal Cad. No: 12",
    "countryID": 1,
    "baskets": [
        {
            "id": 2,
            "name": "Standard Δωμάτιο · Με πρωινό",
            "piece": 1,
            "price": 1930
        },
        {
            "id": 12,
            "name": "Δείπνο",
            "piece": 1,
            "price": 400
        }
    ]
}'
Απόκριση · 200
{
    "success": true,
    "message": "payment_order_code",
    "code": "<form method=\"post\" action=\"https://vpos.provider.example/3d\"><input type=\"hidden\" name=\"orderId\" value=\"4811174883\"> … </form><script>document.forms[0].submit()</script>"
}
Απόκριση · 200 (τύπος 3, τραπεζικό έμβασμα)
{
    "success": true,
    "message": "payment_by_bank_transfer",
    "banks": [
        {
            "companyName": "Τράπεζα Ziraat",
            "holder": "Demo Turizm A.Ş.",
            "branchName": "Denizli",
            "branchNumber": "0123",
            "bankAccountNumber": "12345678-5001",
            "iban": "TR00 0001 0001 2345 6789 5001 01"
        }
    ]
}
Απόκριση · 200 (τύπος 1 / τύπος 9)
{
    "success": true,
    "message": "credit_card_info_should_be_requested"
}
Τελευταία ενημέρωση: 21 Σεπτεμβρίου 2026Βρήκατε κάποιο λάθος; Ενημερώστε μας