- Receiving the card: the one capture method that works with Channex, the profile to use, the exact request, and what Channex needs from you first.
- Using the token: what systems like yours usually add once the card is a token, with a link to the page for each.
Part 1: Receiving the Card from Channex
How Channex releases card data
Channex attaches the guest’s card to a booking as theguarantee object. On the standard API host the card number and CVV in that object are masked. Channex returns the full card only on its secure hosts, secure.channex.io for production and secure-staging.channex.io for staging, and only to callers it has allow-listed after receiving their PCI DSS attestation. Channex’s booking webhook carries identifiers only, not the card, so the booking must be fetched from the API. See the Channex Bookings API for the object and the secure hosts.
That shape decides the capture method. The booking is fetched, not pushed, so you use Tokenization on Response: you send the fetch through PCI Booking, PCI Booking calls the Channex secure host, tokenizes the card in the response, and returns the booking to you with the card masked and the token in a header. Because PCI Booking makes the call, it is PCI Booking’s address that Channex sees, and PCI Booking’s attestation that Channex verifies.
Step 1: Ask Channex to allow-list PCI Booking
Before Channex returns a full card to anyone, it needs the caller’s IP addresses and PCI DSS attestation. Send both to support@channex.io:- IP addresses: PCI Booking’s outbound IP addresses. These are the addresses the call to the secure host comes from. Your own addresses are not involved in that call.
- PCI DSS attestation: PCI Booking’s Attestation of Compliance. Request it from support@pcibooking.net.
Step 2: Use the Channex universal profile
PCI Booking maintains ready-made universal profiles for Channex, so there is no profile to write:
Each profile takes one path segment,
id, which is the Channex booking ID. The profile reads the guarantee object of the booking: card number, expiration date, cardholder name, CVV and card type. The current list of universal profiles, with each one’s path segments, is returned by Get Tokenization Profiles.
If you fetch bookings through a different Channex endpoint, such as a booking revision, create your own target profile and call it through Tokenization in Response with the Channex URL in targetURI. The card sits in data.attributes.guarantee of the booking. Send a sample response to support@pcibooking.net and our team builds the content filter for you.
Step 3: Send the fetch through PCI Booking
Call Tokenize on Response Using Preset Profiles with the profile name in the path. You always sendPOST to PCI Booking. PCI Booking calls Channex with the method the profile defines.
What comes back
- Status
201: a new token was created. Status200: the card already existed andeliminateCardDuplicationreturned the existing token. X-pciBooking-cardUriheader: the token URI. Store it against the booking in your system.- Body: the Channex booking as Channex sent it, with the card number, cardholder name and CVV masked in the
guaranteeobject. The expiration date, card type,is_virtualandmetaare not card data and come back unchanged, so your existing parsing of the booking keeps working. X-pciBooking-Tokenization-ErrorsandX-pciBooking-Tokenization-Warningsheaders: present only when something went wrong with the card, for example a number that failed validation. Log them.- Any non-2xx status from Channex is passed to you unchanged, with Channex’s own body, and nothing is tokenized. A
401from Channex usually means the Channex API key is wrong or the allow-list is not in place yet.
saveCVV=true, and then the CVV retention policy decides how long it stays and what it may be used for. Set a per-token policy within 60 minutes of tokenization, or set an account-wide default once and let it apply to every token.
Virtual cards
Virtual cards from OTAs arrive in the sameguarantee object, with is_virtual set to true and a meta object holding the balance, currency and activation dates. PCI Booking captures a virtual card exactly like any other card. The meta fields are not card data, so they stay readable in the response and you keep them in your system alongside the token.
Booking modifications
When Channex sends the same booking again after a modification, the same card arrives again. SendeliminateCardDuplication=true on every fetch and PCI Booking returns the token you already hold (status 200) instead of creating a second one. A duplicate is a card with the same number and expiration date. If the fetch carries a CVV, it is stored on the existing token and that token’s CVV retention policy is reset to your account default. See Duplicate Card Handling.
Testing
Use a PCI Booking sandbox account with theChannexStagingSecure profile against a Channex staging property. Ask Channex to allow-list PCI Booking’s addresses for staging as well as production. See Testing and Going Live.
Part 2: What to Do with the Token
Once the card is a token, these are the things systems connected to Channex most often add. Each one works with the token from Part 1 as it is.Show the card to hotel staff
Most properties key the card into their own terminal, so staff need to see it. Two options:- Card Display: an iframe inside your own portal. You decide who may log in and who may view cards. The card renders inside PCI Booking’s domain, so nothing reaches your servers.
- Card Display with OTP: a hosted page when you have no portal or do not want to manage viewer access. PCI Booking emails the viewer a link and verifies their phone with a code before showing the card.
Owner destination; the hosted page is OtpCardView. See Destination Types.
The CVV
PCI DSS does not allow the CVV to stay with the card once the card has been used. Your CVV retention policy is where you define what “used” means for your business: how long the CVV may stay, and how many times it may go to each destination, for example a hotel viewing it or a charge through a payment gateway. The policy cannot be changed on an existing token, so decide it before the first Channex booking is tokenized.Charge through the hotel’s own payment provider
Use the Universal Payment Gateway to charge the token through the property’s own PSP account. You store PSP credentials once per hotel under acredentialsId of your choosing, then name that ID on each charge, pre-authorization, capture or refund. The money settles with the hotel. Charge Multiple Hotels’ Gateways From One Account walks through the pattern.
Adyen, Stripe, Viva and Authorize.Net are among the integrated gateways. For the current list, with each gateway’s capability flags, call Get Payment Gateways. If a hotel’s provider is not on it, we can add it; see Supported PSPs for what to send us.
Send the card to any HTTPS endpoint
When a property’s acquirer or system is not on the gateway list but has an API, use Token Replacement in Request. You build the request the way that API expects it, with the token in place of the card, and send it through PCI Booking. PCI Booking inserts the card number in transit. Register the destination under relay restrictions if your account uses them, and give the destination PCI Booking’s outbound IP addresses if it allow-lists callers.Take cards in your own booking engine
For direct bookings on your own engine, the Hosted Card Entry Form collects the card in an iframe on your page, and Card By Link sends the guest a secure link by email or SMS. Both produce the same kind of token as a Channex booking, so everything in this part applies to them too.Retention and deletion
Tokens do not expire on their own. Delete a token with Delete Token when the booking no longer needs it, for example a set number of days after departure, driven from your own system. If a token without a CVV has no value to you, setDeleteCardUponCvvCleanup on the CVV retention policy and the token is removed when its CVV is cleared. See Delete Tokens and Token Lifetime.
Many hotels on one account
One PCI Booking account serves all your properties. Useref on each tokenization to tag the token with your booking or property reference, store one set of PSP credentials per hotel, and route each transaction with credentialsId. The hotels do not need PCI Booking accounts of their own.
Next Steps
Tokenization on Response
The capture method behind the Channex profile.
Universal Tokenization Profiles
How ready-made profiles work.
Send a Guest's Card to a Hotel
Choose how each hotel receives the card.
Testing and Going Live
Sandbox, test data and the move to production.

