Skip to content

Checking property eligibility for Payments by Booking

POST https://payments-api.booking.com/connectivity-payments/pbb/eligibility

The Payments Eligibility API allows you to perform an eligibility evaluation for a property.

In the response, you receive information on all the available payout options and any associated costs or restrictions. If the property is already on Payments by Booking, you receive information on the current payout configuration and any other available payout options.

Required connection types

You need to be connected with the Payments by Booking.com onboarding connection type or the reservations connection type to use this API.

For more information on the connection types, see Connections API Overview.

To simplify the process of setting up a connection between Booking.com and your platform, you can use Quick Connect.

With Quick Connect, you can request to connect a property directly from your interface. You can use it for already connected properties and for newly connecting properties. For more information, see this deck.

Request example

One request can have a maximum of 10 properties.

{
  "property_ids": ["1329072", "1329276"]
}

Headers

ElementDescriptionTypeRequired/Optional
accept-versionSpecifies the version of the API you want to use. Accepted value is 1.0. If not specified, defaults to the latest version.stringoptional

Response example

The following is a successful response body example:

{
  "meta": {
    "ruid": "06871eb3-f5d7-427f-9207-d00acd6e4845"
  },
  "data": {
    "payout_configurations": [
      {
        "property_id": "1329072",
        "legal_entity_id": "1318",
        "current_payout_configuration": {
            "payin_collection_strategy": "PARTIAL",
            "payout_netting": "GROSS",
            "payout_method": "VCC",
            "payout_frequency": null
        },
        "payout_configuration_options": [
          {
            "is_eligible": true,
            "payin_collection_strategy": "PARTIAL",
            "payout_method": "VCC",
            "payout_frequency": [],
            "payout_netting": [
              "GROSS"
            ],
            "additional_requirements": []
          },
          {
            "is_eligible": false,
            "payin_collection_strategy": "ALL",
            "payout_method": "STRIPE",
            "payout_frequency": [
              "DAILY"
            ],
            "payout_netting": [],
            "additional_requirements": []
          },
          {
            "is_eligible": true,
            "payin_collection_strategy": "PARTIAL",
            "payout_method": "BT",
            "payout_frequency": [
              "DAILY",
              "WEEKLY",
              "MONTHLY"
            ],
            "payout_netting": [
              "GROSS"
            ],
            "additional_requirements": []
          },
          {
            "is_eligible": false,
            "payin_collection_strategy": "ALL",
            "payout_method": "BT",
            "payout_frequency": [
              "DAILY",
              "WEEKLY",
              "MONTHLY"
            ],
            "payout_netting": [
              "NET"
            ],
            "additional_requirements": []
          }
        ],
        "vcc_activation_policy_code": "2",
        "bt_payout_cost_information": {
          "value": "140",
          "type": "PERCENTAGE",
          "decimals": 2
        },
        "is_config_update_supported_by_api": "FALSE"
      },
      {
        "property_id": "1329276",
        "legal_entity_id": "1319",
        "current_payout_configuration": null,
        "payout_configuration_options": [
          {
            "is_eligible": true,
            "payin_collection_strategy": "PARTIAL",
            "payout_method": "VCC",
            "payout_frequency": [],
            "payout_netting": [
              "GROSS"
            ],
            "additional_requirements": []
          },
          {
            "is_eligible": false,
            "payin_collection_strategy": "ALL",
            "payout_method": "STRIPE",
            "payout_frequency": [
              "DAILY"
            ],
            "payout_netting": [],
            "additional_requirements": []
          },
          {
            "is_eligible": false,
            "payin_collection_strategy": "ALL",
            "payout_method": "BT",
            "payout_frequency": [
              "DAILY",
              "WEEKLY",
              "MONTHLY"
            ],
            "payout_netting": [
              "NET"
            ],
            "additional_requirements": []
          },
          {
            "is_eligible": true,
            "payin_collection_strategy": "PARTIAL",
            "payout_method": "BT",
            "payout_frequency": [
              "DAILY",
              "WEEKLY",
              "MONTHLY"
            ],
            "payout_netting": [
              "GROSS"
            ],
            "additional_requirements": []
          }
        ],
        "vcc_activation_policy_code": "2",
        "bt_payout_cost_information": {
          "value": "140",
          "type": "PERCENTAGE",
          "decimals": 2
        },
        "is_config_update_supported_by_api": "TRUE"
      }
    ]
  },
  "errors": [],
  "warnings": []
}

Response headers

HeaderDescriptionType
api-versionThe latest version of the API used to generate the response.string

Response elements

The following table describes the response elements:

ElementDescriptionType
dataContains the response data.object
:: legal_entity_idSpecifies the identifier assigned to the legal owner of one or more properties on Booking.com.string
:: property_idSpecifies the identifier of the property for which the request is sent.string
:: current_payout_configurationIndicates whether the given property is currently on Payments by Booking. If the response returned null, the property is currently not on Payments by Booking. The null value means the property can try to onboard to Payments by Booking through the Payments Configuration Status API.object
::: payin_collection_strategySpecifies the approach that Booking.com uses to manage the collection of payments from guests during the booking process. Can be PARTIAL or ALL. For more information, see About payment collection strategy.string
::: payout_nettingSpecifies whether the payout will be NET or GROSS. Gross payouts don't involve any deductions, while net payouts are computed by subtracting relevant fees and commissions from the gross amount. For more information, see About payout commission.string
::: payout_methodSpecifies the payout method: BT (bank transfers), VCC (virtual credit cards), or STRIPE. For more information, see About payout methods.string
::: payout_frequencySpecifies how frequently the payout occurs: DAILY, WEEKLY, or MONTHLY. For VCC, null is returned. For more information, see About payout frequency.string
:: payout_configuration_optionsShows which payout methods the given property is eligible or not eligible for.object
::: is_eligibleIndicates whether the given property is eligible (true) or not (false) to enroll to Payments by Booking with the specific payout configuration.Boolean
::: payin_collection_strategySpecifies the approach that Booking.com uses to manage the collection of payments from guests during the booking process. Can be PARTIAL or ALL. For more information, see About payment collection strategy.string
::: payout_methodSpecifies the payout method for which the eligibility information is provided: BT (bank transfers), VCC (virtual credit cards), or STRIPE. For more information, see About payout methods.string
::: payout_frequencySpecifies how frequently the payout can occur: DAILY, WEEKLY, or MONTHLY. For VCCs, an empty list is returned. For more information, see About payout frequency.array
::: payout_nettingSpecifies whether the payout will be NET or GROSS. Gross payouts don't involve any deductions, while net payouts are computed by subtracting relevant fees and commissions from the gross amount. For more information, see About payout commission.string
:::: additional_requirementsLists any additional requirements for the given payout method. For example, in some cases, the partner needs to take certain actions to become eligible for the particular payout method.string
::::: nameRequirement type. For example, REQUIRES_KYC_FOR_PAYOUT for Stripe.string
::::: actionAction to take. For example, COMPLETE_KYC_AFTER_ONBOARDING for Stripe. This means that the partner can onboard and follow the actions received during the onboarding process.string
:: vcc_activation_policy_codeSpecifies a numeric code that corresponds to a certain VCC activation timeline that defines when a VCC associated with a reservation becomes active and is enabled for charging. For more information, see VCC activation policy codes.string
:: bt_payout_cost_informationOnly for bank transfers. Contains information on the costs associated with BTs. For more information, see this page.object
::: valueTotal cost amount.string
::: typeHow the cost is calculated.string
::: decimalsNumber of decimals in the amount.integer
:: is_config_update_supported_by_apiIndicates whether the property can be onboarded to Payments by Booking via the Payments Configuration API. TRUE if the property can use the API for onboarding and configuration updates, FALSE otherwise.string
errorsContains potential errors. These can help you understand what went wrong with your request. For more information, see Response codes.array
warningsContains potential warnings. These can help you improve your requests.array

Rate limiting

To prevent excessive load on our systems, we limit the number of API calls that a provider can make per minute. For the Payments Eligibility API, the limit is 30 requests per minute.

Response codes

This table lists and describes the response codes that the API can return.

CodeTypeDescription
200SuccessEligibility information for the given property is returned successfully.
400Non-retryable failureRequest payload is invalid.
401Non-retryable failureMachine account is not authenticated.
403Non-retryable failureMachine account is not authorized to fetch the requested information.
429Retryable errorYou exceeded the rate limit.
500Retryable failureRequest failed with an internal server error.