Skip to content
Last updated

Corporate partners v3.2

Learn how to configure payment information when creating accommodation reservations for business travellers.


Introduction

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.

Is this for you?

This guide is for Corporate partners that create accommodation reservations on behalf of business travellers.

Typical payment scenarios include:

CorporatePayment timingCorporate payment flowPayment method
houseIconPay at the propertyOwn VCC with authorisation form✓ Card
Pay at the propertyAirPlus with authorisation form✓ AirPlus
onlinepayPay online nowOwn VCC✓ Card
Pay online now or laterAirPlus✓ AirPlus
Pay online nowCard 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.

Choose the payment flow

Use this table to go directly to the relevant instructions.

If you want to...Go to...
Pay online now using your own VCCPay online with your own VCC
Pay at the property using your own VCCPay at the property with your own VCC
Use AirPlus as your payment methodAirPlus payment flows
Create a booking following a phone or email requestPay online by card using MOTO

Before you create an order

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.

Check accommodation payment information

→ 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.

Preview the selected order

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.payment for the available timings.
  • method_required for whether a payment method is required for a timing.
  • methods.cards or methods.airplus for methods available for that timing.
  • dates for 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.


Create your request

Using your own VCC

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.

Prerequisites

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.

Pay at the property with your own VCC

How the flow works

Corporate partner

Generate VCC through PSP

Preview selected order

Create order with card and business information

Booking.com returns authorisation form URL

Accommodation charges the company payment method

Corporate partner

Generate VCC through PSP

Preview selected order

Create order with card and business information

Booking.com returns authorisation form URL

Accommodation charges the company payment method

  1. Generate a VCC through your PSP.
  2. Preview the selected order and confirm that pay_at_the_property is available and that the card method is supported.
  3. Create the order with the VCC details and the required business information.
  4. Booking.com returns an authorisation form URL when the request includes authorisation-form information.
  5. The accommodation uses the authorisation form to charge the company payment method according to the booking instructions.
Verify the payment option

In the /orders/preview response, check:

  • general_policies.payment.pay_at_the_property is present.
  • method_required is true when a payment method is required for the selected order.
  • methods.cards includes 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.

Create the payment object

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.

Configure business information

For this flow, include:

  • The company name.
  • The authorisation-form information.
  • Billing details required by your business process.

In the schema:

  • business_information.company is required when business_information is provided.
  • If you include business_information.billing, its email and vat fields 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.


Pay online with your own VCC

Use this flow when Booking.com charges your VCC online at booking time.

How the flow works

Corporate partner

Generate VCC through PSP

Preview selected order

Create order with VCC details

Booking.com charges the VCC online

Booking.com pays the accommodation

Corporate partner

Generate VCC through PSP

Preview selected order

Create order with VCC details

Booking.com charges the VCC online

Booking.com pays the accommodation

  1. Generate a VCC through your PSP.
  2. Preview the selected order and confirm that pay_online_now is available and the card method is supported.
  3. Create the order with the VCC details and the payment timing returned by the preview.
  4. 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.


Using AirPlus

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.

Prerequisites

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.

Pay at the property with AirPlus

How the flow works

Corporate partner

Preview selected order

Create order with AirPlus number and business information

Booking.com returns authorisation form URL

Accommodation charges the authorised AirPlus payment method

Corporate partner

Preview selected order

Create order with AirPlus number and business information

Booking.com returns authorisation form URL

Accommodation charges the authorised AirPlus payment method

  1. Preview the selected order and confirm that pay_at_the_property is available and methods.airplus is true.
  2. Create the order with the AirPlus number and the required business information.
  3. Booking.com returns an authorisation form URL when the request includes authorisation-form information.
  4. 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.

Verify the payment option

In the /orders/preview response, check:

  • general_policies.payment.pay_at_the_property is present.
  • method_required is true
  • methods.airplus is true.
  • The payment schedule matches the booking.
Create the payment object

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 card object 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_number and project_number.
    • Each accepts a string of 1 to 17 characters.

Pay online with AirPlus

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.

How the flow works

Corporate partner

Preview selected order

Create order with AirPlus number

Booking.com charges AirPlus on the preview schedule

Booking.com pays the accommodation

Corporate partner

Preview selected order

Create order with AirPlus number

Booking.com charges AirPlus on the preview schedule

Booking.com pays the accommodation

  1. Preview the selected order and confirm that pay_online_now or pay_online_later is available and methods.airplus is true.
  2. Create the order with the AirPlus number.
  3. Booking.com charges the AirPlus account according to the payment schedule and pays the accommodation.
Verify the payment option

In the /orders/preview response, check:

  • general_policies.payment.pay_online_now or general_policies.payment.pay_online_later is present.
  • methods.airplus is true for the selected timing.
  • The payment schedule matches the booking.
Create the payment object

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 uses pay_online_later; if the preview returns pay_online_now, set payment.timing to pay_online_now.
  • For online AirPlus payments, this flow does not use an authorisation form or business_information. Do not include a card object.
  • Set include_receipt to true if you want the create response to include a receipt_url, when available.

Pay online by card using MOTO

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.

Prerequisites

Checklist
☑Your commercial agreement supports MOTO transactions.
☑The selected order supports pay_online_now and card payments.

How the flow works

Traveller requests booking by phone or email

Corporate partner collects card details

Preview selected order

Create order with MOTO exemption

Booking.com processes card payment

Traveller requests booking by phone or email

Corporate partner collects card details

Preview selected order

Create order with MOTO exemption

Booking.com processes card payment

  1. The traveller requests a booking through an offline channel, such as phone or email.
  2. You collect and handle the traveller’s card details through your approved process.
  3. Preview the selected order and confirm that pay_online_now and card payment are available.
  4. Create the order with payment.card.authentication.sca_exemption set to "moto".
  5. Booking.com processes the card payment.

Verify the payment option

In the /orders/preview response, check:

  • general_policies.payment.pay_online_now is present.
  • Check method_required and confirm that methods.cards includes the card type you intend to use.
  • The payment schedule matches the booking.

Create the payment object

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.

Important

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_exemption to "moto".
  • Do not include card.authentication.3d_secure or card.authentication.riskified.

You can optionally include:

  • payment.include_receipt to true to request a payment receipt URL in the create response, when available.
  • payment.business_information to include billing details when required for your business flow. If you include business_information, provide company. If you include business_information.billing, provide both email and vat; the billing address is optional.

Summary

Payment flowTimingpayment.methodPayment dataAuthorisation form
Own VCC at the propertypay_at_the_propertycardCard details and business informationInclude authorisation-form information
Own VCC onlinepay_online_nowcardCard detailsNo
AirPlus at the propertypay_at_the_propertyairplusAirPlus number and business informationInclude authorisation-form information
AirPlus onlinepay_online_now or pay_online_laterairplusAirPlus numberNo
MOTO card paymentpay_online_nowcardCard details and MOTO exemptionNo

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.


Additional resources

Continue exploring accommodation payment integrations: