Use this guide to understand how payment data flows through the Demand API and how to use it when creating accommodation and car rental bookings in v3.3.
Payment information is returned at different stages of the booking flow.
Use each response for its intended purpose:
✅ Discover payment options.
✅ Retrieve payment requirements.
✅ Preview the full payment breakdown.
✅ Create a booking with the correct configuration.
| Endpoint | Use it to |
|---|---|
| /accommodations/search and /accommodations/availability | Retrieve indicative payment timing information for accommodation options. |
| /accommodations/details | Retrieve payment methods accepted by the selected property. Request the payment extra. |
| /cars/search and /cars/availability | Retrieve car offer payment timing, pricing and card guarantee requirements. |
| /orders/preview | Review the selected booking's payment requirements, available options and schedule before checkout. |
| /orders/create | Create the booking using the payment configuration required for the selected offer and travel service. |
Payment information can depend on the selected offer, property or supplier policy, partner configuration and payment model. Do not hardcode payment behaviour.
A typical integration follows this sequence:

- Search for accommodation or car rental options.
- Review the payment information returned for each option.
- Preview the selected booking.
- Create the booking using the requirements for that travel service.
Use:
- /search
- /availability
These endpoints retrieve intial payment information, including:
- Available payment options.
- Whether a product is eligible for specific payment flows.
At this stage, payment data is indicative only.
Accommodation search and availability responses can include payment timing information for each option. You can filter accommodation search results by payment timing:
pay_at_the_propertypay_online
The pay_online filter includes options with pay_online_now or pay_online_later timing.
Example accommodation search request:
{
"booker": {
"country": "nl",
"platform": "desktop"
},
"checkin": "2026-11-18",
"checkout": "2026-11-25",
"city": -2140479,
"filters": {
"payment": {
"timing": "pay_online"
}
},
"extras": [
"extra_charges",
"products"
],
"guests": {
"number_of_adults": 2,
"number_of_rooms": 1
}
}These results help you find suitable options, but payment availability can change. Confirm the selected booking with /orders/preview before checkout.
Car search supports payment timing filters through payment.timings.
The timing values include:
pay_online_nowpay_partial_online_now(v3.2) orpay_partially_online(v3.3)pay_at_pickup
Example car search request:
{
"booker": {
"country": "nl"
},
"currency": "EUR",
"driver": {
"age": 36
},
"payment": {
"timings": [
"pay_online_now"
]
},
"route": {
"dropoff": {
"datetime": "2026-11-10T11:05:00",
"location": {
"city": -2140479
}
},
"pickup": {
"datetime": "2026-11-05T11:05:00",
"location": {
"city": -2140479
}
}
}
}For a selected offer, use /cars/availability to retrieve further details, including price components, policies, insurance and whether a credit card is required as a guarantee.
For accommodation:
- Request the
paymentextrafrom /accommodations/details to retrieve the payment methods accepted by the property. Depending on the response, these can include card types, virtual cards or cash.
For car rental:
- Review the selected offer's card requirements and policies in the car search or availability response. In particular, check
credit_card_requiredfor offers payable at pickup.
Use /common/payments/cards to map card IDs to card names.
Use /orders/preview after the traveller selects an accommodation option or car rental offer.
Treat the orders/preview response as the source of truth for checkout.
For accommodation the response includes payment information under data.accommodation.general_policies.payment.
Each available timing can include:
dates: the payment schedule and amounts.method_required:whether a payment method must be provided for that timing.methods: methods available for that timing, such as cards, AirPlus or wallet where supported.
If method_required is false, a method is not required to create the booking using that timing. This does not necessarily mean that no payment will be due later.
For car rental, the payment timing and amounts are represented in the car price components and payment policy data.
- Review the relevant values in
data.car.priceanddata.car.policies.payment. - Car payment information is not structured like the accommodation
general_policies.paymentobject.
Use the preview response to confirm which payment options are available for the selected booking. Do not rely on earlier search or details responses as the final checkout configuration.
Always treat /orders/preview as the source of truth for checkout
For accommodation, pay_online_later can be used with supported credit card payment flows, including MOTO, SCA and Riskified configurations. These flows are not inherently excluded by the timing.
Availability depends on the selected booking and partner configuration. Check the methods returned for pay_online_later in /orders/preview, and follow the authentication and card requirements for your configured payment model.
If /orders/preview returns more than one payment timing, display the available options and let the traveller choose. For accommodation, send the selected timing in /orders/create.
Use /orders/create after confirming the traveller's selection and reviewing the preview response.
For an accommodation order:
- Use a payment timing and method supported for the selected booking in /orders/preview.
- Provide a payment method when
method_requiredis true. - Follow the requirements for the selected payment model, including any card authentication data.
- Use the schedule returned by /orders/preview to explain when charges will occur. The schedule itself is not a payment selection to copy into the create request.
For car rental, determine whether payment details are required from the selected offer, the accepted price and credit_card_required. Do not use payment.timing alone to decide whether to include a payment object.
You can omit payment from /orders/create only when all of the following conditions are met:
- The selected offer is payable at pickup.
credit_card_requiredis false.
If a credit card is required, provide the payment and card details required for the offer.
| Core integration rule | Guidance |
|---|---|
| Do not hardcode payment behaviour | Payment availability depends on the selected booking, supplier or property policy, partner configuration and payment model. |
| Use /orders/preview for checkout | Confirm the available payment options, required methods and payment schedule for the selected booking. |
| Display all payment events | A booking can include multiple charges on different dates, as well as deposits or other charges collected at the property or pickup location. |
| Apply travel service-specific create rules | Accommodation payment timing is selected from the options returned in preview. For car rental, use the selected offer, accepted price and credit_card_required to determine payment requirements. |
Before going live:
- Test accommodation payment flows in the Demand API sandbox where supported.
- Car order creation is not available in the Demand API sandbox. Use the environment and testing instructions specified for your integration.
- Do not assume that a production card payment will be refunded automatically.
| Issue | Possible cause | Recommendation |
|---|---|---|
| 400 – missing payment method | The accommodation preview requires a method, but none was included in /orders/create. | Check method_required and provide a supported method for the selected timing. |
| Unexpected payment timing | The selected booking has multiple available timings, or the payment schedule differs from an earlier response. | Review /orders/preview and use its returned options and schedule. |
| Card ID mismatch | The supplied card ID is not supported for the selected booking or timing. | Use a card ID returned for the selected option and map it with /common/payments/cards. |
See the Payment errors guide for more examples.
✅ Use /orders/preview to confirm accommodation checkout options and schedules.
✅ Use the selected offer and accepted price to determine car rental payment requirements.
✅ Check the methods available for the selected timing; do not assume that pay_online_later excludes MOTO, SCA or Riskified.
✅ Display all payment events and any amounts due at the property or pickup location.