Betaling

Toont de betaalmethoden die het hotel accepteert voor online boekingen en start de betaalstap voor de gekozen methode. Wat je per methode doet, staat in de handleiding Betaalflow.

Betaalmethoden opvragen#

GET/external/online/payment/type

Authenticatie: Authorization: Bearer

Geeft de betaalmethoden terug die het hotel voor online verkoop heeft ingeschakeld. Vaste type-ID’s: 1 betalen in het hotel, 3 bankoverschrijving, 9 creditcard (kaartgegevens gaan mee met de boeking), 10 online betaling (virtuele POS).

Queryparameters

hotelIDintegerverplicht
Hotel-ID.

Antwoord

200 Geslaagd.

Verzoek
curl "https://test.hms.gen.tr/external/online/payment/type?hotelID=1000" \
  -H "Authorization: Bearer $HMS_TOKEN"
Antwoord · 200
{
    "success": true,
    "count": 3,
    "items": [
        {
            "title": "Betalen in het hotel",
            "title_translate": "odeme.otelde_odeme",
            "typeID": 1
        },
        {
            "title": "Bankoverschrijving",
            "title_translate": "odeme.havale",
            "typeID": 3
        },
        {
            "title": "Online kaartbetaling",
            "title_translate": "odeme.online_odeme",
            "typeID": 10
        }
    ]
}

Gegevens virtuele POS#

GET/external/payment/company

Authenticatie: Authorization: Bearer

Geeft de provider van de virtuele POS en de merchantgegevens van het hotel terug. Alleen nodig als je de provider zelf rechtstreeks koppelt; de standaardflow gebruikt POST …/payment/type/10. Het antwoord bevat geheime gegevens; houd het aan de serverkant.

Queryparameters

hotelIDintegerverplicht
Hotel-ID.

Antwoord

200 Geslaagd.

Foutantwoorden

  • 200 hotel_company_info_could_not_found — geen virtuele POS ingesteld voor het hotel.
Verzoek
curl "https://test.hms.gen.tr/external/payment/company?hotelID=1000" \
  -H "Authorization: Bearer $HMS_TOKEN"
Antwoord · 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"
    }
}

Betaalstap starten#

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

Authenticatie: Authorization: Bearer · Body: application/json

Geeft terug wat je voor de gekozen betaalmethode moet doen. Voor type 1 en 9 is alleen hotelID nodig; type 3 toont de bankrekeningen; bij type 10 wordt de betaling gestart met gast- en winkelmandgegevens en render je de teruggegeven code (HTML) op de pagina van de gast om door te schakelen naar het betaalscherm van de provider.

Padparameters

paymentTypeintegerverplicht
ID van de betaalmethode.
13910

Body van het verzoek

hotelIDintegerverplicht
Hotel-ID.
totalPricedecimal
Verplicht voor type 10. Totaalbedrag dat moet worden afgerekend.
orderIDstring
Verplicht voor type 10. Jouw order- of boekingsnummer.
returnUrlstring
Verplicht voor type 10. URL waar de gast na de betaling naar terugkeert.
name / surname / email / phonestring
Verplicht voor type 10. Gegevens van de betaler.
city / addressstring
Verplicht voor type 10. Factuuradres.
countryIDinteger
Verplicht voor type 10. id uit de landenlijst.
baskets[]object[]
Verplicht voor type 10, minimaal één item. Elk item: id, name, piece, price.

Antwoord

200 Type 10: code bevat een HTML-fragment dat doorschakelt naar de betaalprovider (afhankelijk van de provider een formulier dat zichzelf verstuurt, een window.location-script of een ingesloten betaalformulier). Render het ongewijzigd in de browser van de gast. Bij andere typen geeft het veld message aan wat je moet doen.

Foutantwoorden

  • 200 required_input_info_not_submitted (+ errors[]) — ontbrekend veld voor type 10; country_info_sent_incorrectly — ongeldige countryID; there_is_missing_info_in_the_shopping_cart — ontbrekend veld in een item van de winkelmand; bank_info_is_not_found — geen bankrekening ingesteld voor type 3.
  • 404 Onbekende paymentType.
Verzoek
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": "Standaardkamer · Logies en ontbijt",
            "piece": 1,
            "price": 1930
        },
        {
            "id": 12,
            "name": "Diner",
            "piece": 1,
            "price": 400
        }
    ]
}'
Antwoord · 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>"
}
Antwoord · 200 (type 3, bankoverschrijving)
{
    "success": true,
    "message": "payment_by_bank_transfer",
    "banks": [
        {
            "companyName": "Ziraat Bank",
            "holder": "Demo Turizm A.Ş.",
            "branchName": "Denizli",
            "branchNumber": "0123",
            "bankAccountNumber": "12345678-5001",
            "iban": "TR00 0001 0001 2345 6789 5001 01"
        }
    ]
}
Antwoord · 200 (type 1 / type 9)
{
    "success": true,
    "message": "credit_card_info_should_be_requested"
}
Laatst bijgewerkt: 21 september 2026Fout gevonden? Laat het ons weten