GET https://payments-api.booking.com/connectivity-payments/reservations/{reservationId}/status?type=ccstatusWhen the credit card status is either INVALID_CARD or INITIAL_CARD_CHECK_UNSUCCESSFUL, you receive a notification. Upon receiving the CREDIT_CARD_STATUS_UPDATE notification, you can query the endpoint to get the current card status. Based on the status, you can take the appropriate action, such as requesting the guest to update the card or cancel the reservation.
For more information, see Card verification flow.
The following table describes what elements you must add as path parameters:
| Element | Description | Type | Required/Optional |
|---|---|---|---|
reservation-id | Specifies the identifier of the reservation. | string | required |
The following table describes what elements you must add as query parameters:
| Element | Description | Type | Required/Optional |
|---|---|---|---|
type | Indicates that the status of the credit card used per given reservation has to be returned in the response. Currently, the only supported value for type is ccstatus. | string | optional |
| Element | Description | Type | Required/Optional |
|---|---|---|---|
accept-version | Specifies the version of the API you want to use. | string | optional |
The following is a successful response body example:
{
"meta": {
"ruid": "ekjdb-vi1je-fv723b-jewklnnn"
},
"data": {
"reservation_id": "res123",
"status_type": "CREDIT_CARD_VALIDATION",
"status_value": "INVALID_CARD"
},
"errors": [],
"warnings": []
}The following is an error response body example:
{
"meta": {
"ruid": "ekjdb-vi1je-fv723b-jewklnnn"
},
"data": null,
"errors": [
{
"description": "The reservation is not on Smart Pay at Property",
"message": "BAD_REQUEST",
"status_code": 400,
"debug_message": null
}
],
"warnings": []
}The following table describes the response elements:
| Element | Description | Type |
|---|---|---|
data | Contains the response data. | object |
: reservation_id | Specifies the identifier of the reservation. | string |
: status_type | Specifies the type of the status being updated: CREDIT_CARD_VALIDATION. | string |
: status_value | Specifies the status of the credit card: VERIFIED, INITIAL_CARD_CHECK_UNSUCCESSFUL, INVALID_CARD, UNKNOWN, or PENDING_CARD_UPDATE. For more information, see Credit card statuses. | string |
The only two statuses for which a notification is sent are INITIAL_CARD_CHECK_UNSUCCESSFUL and INVALID_CARD.
| Status | Description |
|---|---|
INITIAL_CARD_CHECK_UNSUCCESSFUL | Initial verification done at the time of booking has failed. Another verification will be performed 3 days before the free cancellation deadline. |
INVALID_CARD | Card is invalid. |
UNKNOWN | Card hasn't been checked yet. |
PENDING_CARD_UPDATE | Guest has a 24-hour window to update their card information. |
VERIFIED | Card has been verified and is considered valid until the next check is performed. |
This table lists and describes the response codes that the Credit Card Status API can return.
| Code | Type | Description |
|---|---|---|
| 200 | Success | Status for the credit card is fetched successfully. |
| 400 | Non-retryable failure | Request payload is invalid. |
| 401 | Non-retryable failure | Machine account is not authenticated. |
| 403 | Non-retryable failure | Machine account is not authorized to fetch the requested information. |
| 404 | Non-retryable failure | Specified reservation doesn't exist. |
| 410 | Non-retryable failure | Requested resource is outdated and no longer available to be served. |
| 429 | Retryable error | You exceeded the rate limit. |
| 500 | Retryable failure | Request failed with an internal server error. |