Credit Card Recapture
Receive an alert when a traveler payment card is invalid
Overview
The Credit Card Recapture feature is designed to help your organization replace invalid credit card information used to pay for a booking with valid credit card information. This reduces booking failures and supplier cancellations due to payment issues.
This feature allows you to:
- Receive a notification as soon as the card shows as invalid after pre-authorization.
- Update details for credit cards (excluding virtual credit cards).
- Integrate seamlessly with existing booking flows.
Note: This feature is currently only offered for the Rapid Lodging API.
What you’ll need
To add the Credit Card Recapture feature, follow these steps:
Step 1. Adopt the Notification API, if you’re not already using it. This is a recommendation, the ability to adjust credit card information is part of the Manage Booking API, but without this service activated you won’t be notified when a change is necessary.
Step 2. Subscribe to and consume the new notification event itinerary.payment_verification.failure
.
Step 3. Use the payment_change
endpoint to send the updated payment instrument details.
How it works
When a booking is eligible for a payment change (when an invalid credit card is used), the payment_change
link will appear in the Retrieve API response. You can either use the update link yourself or embed it into your booking flow so that the traveler can make their own changes.
Step 1. When a hotel collect booking is created with a credit card, we’ll run a pre-authorization check on the credit card used to make the booking.
Step 2. If the card used is invalid, you’ll get a notification like this:
Example
{
"affiliate_reference_id": "123abc",
"email": "test@test.com",
"event_id": "86e91a86-ca04-4928-b177-f410879b99a1",
"event_time": "2025-06-11T21:56:40.242Z",
"event_type": "itinerary.payment_verification.failure",
"itinerary_id": "980339849842",
"message": "Payment validation has failed during Supplier initiated validation."
}
Step 3. Once you receive a notification, you can retrieve the booking details, which will include the payment change link. That link will look something like this:
Example
{
“links”: {
“payment_change”: {
“method”: “PUT”,
“href”: “/v3/itineraries/7090158334868/payment?token=REhZAQsABQsHQhEDTVtVC0w6WA1UXF98IiF8ZmF7KH0oFwtWR1oMAloQZgtSOUFTWgpHAFllMS5hfDBga0BVR0dCWF5TQW9GUhFHDFtaPl9cDHFwczYkdnwhb2RwazZ3fjdzFUQEQBBRWwo-XVwPAA9XB1MDVghIC1MGVBlSBlABGwlXVQMeAQMAUAdQUwlQXwcMFxJKDkgERxVLaw8HDw0EBVBWBVQAEwZUCFFBVUYEVG4WC1sHXgMEUFAcBQsUAwE2BlQTCnlQBxwAdVQGFwEIVQEKBwBTBW4WB11BC0cXG20HCgFVXCR6RVRVFVgHBQQeFFZKWQZaEmoXA0YTURcBUAkXQEAGERZQFEBXAEc-QRNXA15aXWhbAV5XBwxcBVMRDlVAWwdBCFZeawZbUQ9fVltZVRVXFFIDS25QAQkGQl1ZAwpcDQlfDVYRVQQAGlILEQlWHFBXCR97CgFTCktED18KDlFWBQEGVwxQ”
}
Step 4. The payment change link is then made available to provide the new credit card details. While the change is being made, the supplier won’t be able to cancel the booking.
Example
{
"change_reference_id": "JohnCCTest",
"payments": [
{
"type": "customer_card",
"number": "4111111111111111",
"security_code": "123",
"expiration_month": "08",
"expiration_year": "2029",
"billing_contact": {
"given_name": "JohnUPDATE",
"family_name": "SmithUPDATE",
"address": {
"line_1": "555 1st St",
"line_2": "10th Floor",
"line_3": "Unit 12",
"city": "Seattle",
"state_province_code": "WA",
"postal_code": "98121",
"country_code": "US"
}
}
}
]
}
If the new card details provided are also invalid, the process will repeat until a valid payment instrument has been provided.
The change payment link will remain active for varying amounts of time, depending on the booking: For check-in dates more than 48 hours away, the link will be active for 24 hours. If check-in is within 48 hours, the link will be active for 12 hours. To provide for last-minute bookings for 10 or more nights, a change payment link will be active for 2 hours after booking. If new payment information is not provided within 24 hours, the booking will become eligible for the supplier to cancel.