This is a non-functional preview showing the default card entry form. The form’s appearance can be fully customized with your own CSS stylesheet.
Option 1: URL with Query Parameters
Build the form URL directly by appending configuration as query parameters. This is the simpler approach and requires no server-side API call to set up the form.success URL with the token appended. You can also specify a failure URL for declined or cancelled submissions.
See the full parameter reference for all available query parameters.
Option 2: API Session
Create a card entry form session via a server-side API call. Configuration is set in the request body rather than in the URL, so nothing is exposed to the client. Results are delivered via a server-to-server callback.1
Set up a callback endpoint
Create an endpoint on your server to receive tokenization results from PCI Booking. This is a one-time setup. See the callback reference for the payload format.
2
Create a card entry form session
Send a POST request to create the session:The response returns a
RequestID and a Location header containing the form URL.3
Embed the form
Take the URL from the
Location header and set it as the iframe source in your page:4
Receive the callback
When the cardholder submits the form, PCI Booking sends a POST to your
CallBackURL with the token details. You can also poll the session status using the request ID:5
Clean up (optional)
Delete the session if the cardholder abandons the form or you no longer need it.
Which Should I Use?
For quick integrations and prototyping, the URL approach is fastest. For production use, the API session provides better security, callback support, and session management.
Key Features
Both approaches support:- CSS customization. Style the form to match your brand by storing a stylesheet. See the Stylesheets guide for details.
- 3D Secure. Add
ThreeDS=trueto the request and PCI Booking runs the 3DS challenge automatically inside the iframe if required by the issuing bank - no other setup needed on your side beyond configuring your 3DS merchant details. The cardholder has 5 minutes to complete the challenge before it expires. Note: if 3DS can’t complete,UnavailThreeDSAuthdefaults toAccept, which tokenizes the card anyway without 3DS data - see Request Card Entry Form if you need every token to have 3DS data. - Multi-language. Set the form language via the
Languageparameter (ISO 639-1 two-letter code).
Next Steps
Card Validation Errors
Error messages the cardholder may see when entering invalid card data.
Stylesheets Guide
Customize the look and feel of your card entry form.
Capture Cards Overview
All available tokenization methods.

