Each offer has a payment_method that tells you how the booking is paid. All reservations in one booking must have the same payment method.
payment_method | Who pays the hotel | payment object on POST /bookings |
|---|---|---|
CREDIT_CARD | You, with a card you provide. This is usually a virtual card (VCC), sometimes the guest's card. The hotel charges the card. | Required |
KTX_PAYMENTS | Katanox Payments. Katanox pays the hotel and settles with you. | Not needed |
payment_modes on the offer tells you when the hotel charges:
PAY_NOW: at booking.PAY_AT_PROPERTY: at the hotel.
If a rate supports both:
- By default you get one offer listing both modes, and the booking is made with the first mode in its
payment_modes. There is no field onPOST /bookingsto choose. - To choose the mode, send
separate_rates_per_payment=truein the availability search. You get one offer per mode; book the one you want. - With
lowest=true, you get a single offer per property even if the rate supports both modes.
The card (payment)
payment)"payment": {
"type": "visa",
"card_number": "4111111111111111",
"cvv": "123",
"card_holder": "John Doe",
"expiry_month": "03",
"expiry_year": "2028"
}| Field | Format |
|---|---|
type | Card brand; see Reference values |
card_number | Digits only, no spaces or dashes |
cvv | 3–4 digits |
card_holder | Name as printed on the card |
expiry_month | Two digits, "01"–"12" |
expiry_year | Four digits, "2028" |
Every field is a string, including the expiry month and year.
- Sending numbers (
"expiry_month": 3) fails with422 Invalid Body Supplied, and the whole booking is rejected. - An expired card is rejected with
card expiry date must be after <Month> <Year>. - The card must still be valid on the check-in date. Some hotels charge on arrival and reject the booking if the card expires before then. The reservation fails with
PAYMENT_ERROR.
Modifications: applying a reservation modification also needs a full payment object (with CVV). We don't reuse the original card.
Card types accepted by each property
Not every hotel accepts every card brand.
- Each property lists what it accepts in
payments_metadata.supported_card_brandsonGET /properties/{id}, e.g.["VISA","MASTER_CARD"](Properties). payment.typemust match the actual card, and must be one of the values listed in Reference values.
Card declines
Katanox passes the card to the hotel system and does not charge it ourselves.
What you see: if the hotel can't charge the card, the reservation fails with PAYMENT_ERROR.
Who resolves it:
- Declines, insufficient funds, wrong amount charged: these are between you, your card issuer and the hotel. Katanox support can help find the hotel's contact.
- Which amount the hotel charges: see Pricing and taxes.