Learn how to configure payment information when creating accommodation reservations for business travellers.
This guide explains how to configure the payment object for corporate accommodation bookings using a Virtual Credit Card (VCC), AirPlus, or a card payment taken by Mail Order / Telephone Order (MOTO).
The payment timing and methods available depend on the selected accommodation and product.
Check the available options with /accommodations/details and /orders/preview before creating an order.
This guide is for Corporate partners that create accommodation reservations on behalf of business travellers.
Typical payment scenarios include:
| Payment timing | Corporate payment flow | Payment method | |
|---|---|---|---|
| Pay at the property | Own VCC with authorisation form | ✓ Card | |
| Pay at the property | AirPlus with authorisation form | ✓ AirPlus | |
| Pay online now | Own VCC | ✓ Card | |
| Pay online now or later | AirPlus | ✓ AirPlus | |
| Pay online now | Card payment taken by phone or email (MOTO) | ✓ Card |
For pay-at-the-property VCC bookings, include the business information needed to generate the authorisation form. The order response can include an authorisation_form_url when the request includes business_information.authorisation_form. The URL is valid for seven minutes.
Use this table to go directly to the relevant instructions.
| If you want to... | Go to... |
|---|---|
| Pay online now using your own VCC | Pay online with your own VCC |
| Pay at the property using your own VCC | Pay at the property with your own VCC |
| Use AirPlus as your payment method | AirPlus payment flows |
| Create a booking following a phone or email request | Pay online by card using MOTO |
Check the accommodation-level payment information, then preview the selected order.
Use the preview response to confirm the payment timing, whether a payment method is required, the methods available for that timing, and the payment schedule.
→ Call /accommodations/details with the payment extra.
Example request:
{
"accommodations": [10004],
"extras": ["payment"],
"languages": ["en-gb"]
}The response wraps accommodation records in a data array. The following is an excerpt showing the payment fields:
{
"data": [
{
"id": 10004,
"payment": {
"methods": {
"cards": [1, 2, 3],
"cash": false,
"virtual_cards": [1, 2, 3]
},
"timings": [
"pay_at_the_property",
"pay_online_later",
"pay_online_now"
],
"cvc_required": true,
"amex_cvc_required": false
}
}
]
}Check:
- Which payment timings are available for the accommodation.
- Which card brands and VCC types the accommodation accepts.
- Whether CVC is required, including the separate Amex CVC setting.
Use /common/payments/cards to map card IDs to card names.
See the Accommodation details guide for more detail and examples.
Before creating the reservation, call /orders/preview.
The response shows the payment options and schedule for the selected order.
For an accommodation order, inspect:
accommodation.general_policies.paymentfor the available timings.method_requiredfor whether a payment method is required for a timing.methods.cardsormethods.airplusfor methods available for that timing.datesfor the payment schedule.
Example orders/preview response:
{
"accommodation": {
"general_policies": {
"payment": {
"pay_at_the_property": {
"method_required": true,
"dates": [
{
"at": "2026-02-22",
"price": {
"accommodation_currency": 205.78,
"booker_currency": 0
}
}
],
"methods": {
"cards": [1, 2, 3],
"airplus": true
}
}
}
}
}
}Use the timing and methods returned for the selected order.
Accommodation details provide property-level information; the preview response is specific to the order you are about to create.
Use your own VCC when your organisation generates or manages virtual cards through a Payment Service Provider (PSP).
You can use an own VCC for:
- Pay-at-the-property bookings that require an authorisation form.
- Pay-online-now bookings where Booking.com charges the VCC.
Checklist | |
|---|---|
| ☑ | Your organisation has a VCC provider or PSP. |
| ☑ | Your integration supports the selected payment timing and method. Note: This is available in Demand API version 3.1 or later. |
- Generate a VCC through your PSP.
- Preview the selected order and confirm that
pay_at_the_propertyis available and that the card method is supported. - Create the order with the VCC details and the required business information.
- Booking.com returns an authorisation form URL when the request includes authorisation-form information.
- The accommodation uses the authorisation form to charge the company payment method according to the booking instructions.
In the /orders/preview response, check:
general_policies.payment.pay_at_the_propertyis present.method_requiredistruewhen a payment method is required for the selected order.methods.cardsincludes the card type you intend to use.- The payment schedule matches the booking.
Only card IDs 1, 2, and 3 are supported for Virtual Credit Cards.
- Verify that your Virtual Credit Card type is accepted by the accommodation.
- Use the common/payments/cards endpoint to map the returned card IDs to their corresponding card brands.
Refer to the Payments quick guide for examples of orders/preview responses and initial instructions.
Include a payment object like this in the /orders/create request.
This is the payment-object excerpt; the full request also needs the required booker details and order_token.
{
"payment": {
"business_information": {
"authorisation_form": {
"chargeable_items": ["breakfast", "food_beverage", "internet"]
},
"billing": {
"address": {
"address_line": "Road 1, house 2",
"city": "Amsterdam",
"country": "nl",
"post_code": "12345"
},
"email": "billing@example.com",
"vat": "12345"
},
"company": "Example Company"
},
"card": {
"cardholder": "Example Company",
"cvc": "123",
"expiry_date": "2030-10",
"number": "1234123412341234"
},
"method": "card",
"timing": "pay_at_the_property"
}
}The card fields are strings in the v3.2 schema. The schema requires cardholder, cvc, expiry_date and number.
For this flow, include:
- The company name.
- The authorisation-form information.
- Billing details required by your business process.
In the schema:
business_information.companyis required whenbusiness_informationis provided.- If you include
business_information.billing, itsemailandvatfields are required; the billing address is optional.
Do not add online card-authentication data to a pay-at-the-property request unless your payment integration specifically requires it.
business_information.authorisation_form is mandatory for this payment flow even when the schema does not mark authorisation_form as required. This guide treats it as a requirement for this corporate payment flow because it is needed to generate the authorisation form.
Use this flow when Booking.com charges your VCC online at booking time.
- Generate a VCC through your PSP.
- Preview the selected order and confirm that
pay_online_nowis available and the card method is supported. - Create the order with the VCC details and the payment timing returned by the preview.
- Booking.com charges the VCC online and pays the accommodation.
The card object uses the v3.2 card fields shown above. Follow the VCC payment guide for the payment-object requirements specific to your VCC integration.
Use AirPlus when it is your organisation’s selected payment method. The v3.2 request uses a 12-digit AirPlus number as a string.
Instead of supplying full card details, include your 12-digit AirPlus number.
AirPlus supports:
- Pay at the property, together with an authorisation form.
- Pay online, where Booking.com charges the AirPlus account directly.
AirPlus availability depends on your commercial agreement and the options returned for the selected order. Confirm availability with /orders/preview.
Checklist | |
|---|---|
| ☑ | Your commercial agreement supports the AirPlus payment flow you want to use. |
| ☑ | You have a valid 12-digit AirPlus number. |
| ☑ | Demand API version 3.1 or later. |
- Preview the selected order and confirm that
pay_at_the_propertyis available andmethods.airplusistrue. - Create the order with the AirPlus number and the required business information.
- Booking.com returns an authorisation form URL when the request includes authorisation-form information.
- The accommodation charges the authorised AirPlus payment method according to the booking instructions.
This flow depends on the Booking.com AirPlus integration. If you use a standard AirPlus card outside this integration, see the Cards payment method.
In the /orders/preview response, check:
general_policies.payment.pay_at_the_propertyis present.method_requiredistruemethods.airplusistrue.- The payment schedule matches the booking.
This is the payment-object excerpt for /orders/create. The full request also needs the required booker details and order_token.
{
"payment": {
"airplus": {
"dbi": {
"accounting_code": "TRAVEL-123"
},
"number": "123456789012"
},
"business_information": {
"authorisation_form": {
"chargeable_items": ["breakfast", "food_beverage", "internet"]
},
"billing": {
"address": {
"address_line": "Road 1, house 2",
"city": "Amsterdam",
"country": "nl",
"post_code": "12345"
},
"email": "billing@example.com",
"vat": "12345"
},
"company": "Example Company"
},
"method": "airplus",
"timing": "pay_at_the_property"
}
}- Do not include a
cardobject when using the AirPlus method. - The schema requires
business_information.company; include authorisation-form information for this payment flow. - Descriptive billing information (
dbi) is optional. You can include these values:accounting_code,accounting_unit,cost_centre,department_code,employee_number,internal_account,order_numberandproject_number.- Each accepts a string of 1 to 17 characters.
Use this flow when Booking.com charges your AirPlus account online according to the payment schedule returned by the preview.
This payment flow supports both pay_online_now and pay_online_later timings.
- Preview the selected order and confirm that
pay_online_noworpay_online_lateris available andmethods.airplusistrue. - Create the order with the AirPlus number.
- Booking.com charges the AirPlus account according to the payment schedule and pays the accommodation.
In the /orders/preview response, check:
general_policies.payment.pay_online_noworgeneral_policies.payment.pay_online_lateris present.methods.airplusistruefor the selected timing.- The payment schedule matches the booking.
This is the payment-object excerpt for /orders/create. The full request also needs the required booker details and order_token.
{
"payment": {
"airplus": {
"number": "123456789012"
},
"include_receipt": false,
"method": "airplus",
"timing": "pay_online_later"
}
}- Use the timing returned by
/orders/preview. The example usespay_online_later; if the preview returnspay_online_now, setpayment.timingtopay_online_now. - For online AirPlus payments, this flow does not use an authorisation form or
business_information. Do not include acardobject. - Set
include_receipttotrueif you want the create response to include areceipt_url, when available.
Use this flow for accommodation bookings taken offline, such as by phone or email, when your commercial agreement supports Mail Order / Telephone Order (MOTO) transactions.
MOTO identifies the card transaction as an SCA exemption. In the request, the payment method is still card and the timing is pay_online_now.
Checklist | |
| ☑ | Your commercial agreement supports MOTO transactions. |
| ☑ | The selected order supports pay_online_now and card payments. |
- The traveller requests a booking through an offline channel, such as phone or email.
- You collect and handle the traveller’s card details through your approved process.
- Preview the selected order and confirm that
pay_online_nowand card payment are available. - Create the order with
payment.card.authentication.sca_exemptionset to"moto". - Booking.com processes the card payment.
In the /orders/preview response, check:
general_policies.payment.pay_online_nowis present.- Check
method_requiredand confirm thatmethods.cardsincludes the card type you intend to use. - The payment schedule matches the booking.
This is the payment-object excerpt for /orders/create. The full request also needs the required booker details and order_token.
Example:
{
"payment": {
"method": "card",
"timing": "pay_online_now",
"card": {
"authentication": {
"sca_exemption": "moto"
},
"cardholder": "Test Name",
"expiry_date": "2030-10",
"number": "1234123412341234"
}
}
}For MOTO, include cardholder, expiry_date and number.
Omit cvc, even if accommodation details returns cvc_required: true. This is a MOTO-specific exception to the general card requirements in the schema.
For this MOTO request:
- Set
card.authentication.sca_exemptionto"moto". - Do not include
card.authentication.3d_secureorcard.authentication.riskified.
You can optionally include:
payment.include_receipttotrueto request a payment receipt URL in the create response, when available.payment.business_informationto include billing details when required for your business flow. If you includebusiness_information, providecompany. If you includebusiness_information.billing, provide bothemailandvat; the billing address is optional.
| Payment flow | Timing | payment.method | Payment data | Authorisation form |
|---|---|---|---|---|
| Own VCC at the property | pay_at_the_property | card | Card details and business information | Include authorisation-form information |
| Own VCC online | pay_online_now | card | Card details | No |
| AirPlus at the property | pay_at_the_property | airplus | AirPlus number and business information | Include authorisation-form information |
| AirPlus online | pay_online_now or pay_online_later | airplus | AirPlus number | No |
| MOTO card payment | pay_online_now | card | Card details and MOTO exemption | No |
For all flows, use the payment timing returned by /orders/preview. The create request also requires the booker details and the order_token returned by the preview.
Continue exploring accommodation payment integrations:
- Learn about all supported Payment methods.
- Learn how to use Virtual Credit Card (VCC) payments.
- Explore additional examples in the Orders guide.
- Use the common/payments/cards endpoint to map card IDs returned by the API.