Charge through any PSP
Charge through any payment provider with one API
Tokenize the card once, then charge it through the provider each hotel, agency or operator already uses. One request and one response format across 120+ integrations, decline reasons included.
120+ integrations · New providers added free · PCI DSS Level 1 since 2016
For OTAs and booking engines, PMS and hotel tech and channel managers
What one API gives you
One integration, every provider your merchants use
Your system sends a token and an instruction. We send the card to the provider and return the result.
One API for every provider
Charge, pre-authorize, capture, refund and void with the same calls and the same response format, whichever provider sits behind them. Declines come back with one standard set of reasons, such as expired card or insufficient funds, so your system handles them once.
Each merchant on its own provider
Every merchant charges through its own account, and you manage all their accounts in one place.
Choose the provider per transaction
Route each charge to the provider and account you pick, transaction by transaction.
Fallback to backup accounts
If a charge fails, we retry it through your other accounts, in the order you set, and stop at the first success. Declines a retry cannot fix, such as an expired, lost or stolen card, are not retried. Charges declined for insufficient funds can be recovered through a partner service.
Cards and more
Cards, wallets, PayPal, open banking and UPI, through the same integration.
Straight from the vault
The card goes from the vault to the provider. Your systems only ever hold the token.
Virtual card payments
Pay suppliers with virtual cards from your own provider.
One API issues virtual cards through the provider you choose. Your provider credentials stay in our vault. Each new card is tokenized as it is issued, ready to use or send like any other card. Need a virtual card provider we do not connect to yet? We add it, free.
How a charge works
You send a token and an amount. The card goes to the provider.
The same request, a different provider
Two charges for two merchants on two providers. Only the stored credentials change: the token, the operation, the amount and the response format stay the same.
Merchant A, on Stripe
curl -X POST "https://service.pcibooking.net/api/paymentGateway?credentialsId=my-stripe-prod" \
-H "Authorization: APIKEY YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"cardToken": "https://service.pcibooking.net/api/payments/paycard/555fd7b49f134b42a5dbe4d576b2e527",
"OperationType": "Charge",
"Amount": 150.00,
"Currency": "USD",
"myRef": "order-98765"
}'
Merchant B, on Adyen
curl -X POST "https://service.pcibooking.net/api/paymentGateway?credentialsId=my-adyen-prod" \
-H "Authorization: APIKEY YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"cardToken": "https://service.pcibooking.net/api/payments/paycard/7c2e94a1d0b84f6e9a3b5c8d1e2f4a60",
"OperationType": "Charge",
"Amount": 150.00,
"Currency": "USD",
"myRef": "order-98766"
}'
From the developer docs: Process transaction
Integrations directory
Find your payment provider
120+ integrations through one API. Search by name or filter by type.
-
3G Direct Pay
-
ABA PayWay
-
Adyen
-
Adyen Checkout
-
Airwallex
-
AMEX
-
Apple Pay
-
Authorize.net
-
Axcess Merchant Services
-
Azul
-
BAC Credomatic
-
Bank of Maldives
-
BarclayCard epdq
-
Bold
-
Borgun B-Gateway
-
Borgun Securepay
-
BridgerPay
-
Card Pay
-
CardNet Nos Une
-
Cardstream
-
Cashflows
-
Caterbook / CaterPay
-
CCV
-
Checkout
-
Clover
-
Converge
-
CreditGuard
-
Cybersource
-
Cybersource 3D Secure
-
Decta
-
dLocal
-
Easebuzz
-
Eigen
-
Elavon
-
Eway
-
Fabrick
-
Fat Zebra
-
Finaro
-
Finby
-
First Data IPG
-
Gateline Net
-
Global Payments
-
Google Pay
-
GP webpay
-
Heartland
-
Ingenico
-
Ingenico CONNECT
-
Komoju
-
Kora
-
Korta
-
Lian Lian Pay
-
Maksupay
-
Monek
-
Moneris
-
Monri WSPay
-
MyPOS
-
Nets
-
Network.ae
-
Nexi Xpay
-
NMI
-
NomuPay
-
Nuvei
-
Open Banking
-
Openpay MX
-
Payabl
-
Payarc
-
PayDollar
-
Payeezy
-
Payfuture
-
PayGate
-
PayPal
-
Paypal Payments Pro
-
Paypal Website Payments Pro
-
Payplug
-
PayPlus
-
Paystack
-
PayStation
-
PayU
-
PayWay
-
PayZen
-
Payzone
-
PCI Booking
-
PCI Booking EU
-
PCI Booking UK
-
Peach
-
PeleCard
-
Pesopay
-
Planet Gateway
-
Pomelo
-
PXP Financial
-
Quickpay
-
Rapyd Card
-
Razorpay
-
Red Dot
-
Ryft
-
Saferpay
-
Sage Pay
-
Shift4
-
SiamPay
-
Straumur
-
Stripe
-
Stripe Connect
-
Stripe Payment Intents
-
Sumup.de
-
Total Processing
-
Trust
-
Tyro
-
UniTeller / More
-
UPI
-
USAePAY
-
Valitor
-
Valitor Pay
-
Verifone
-
VersioPay
-
Viva.com
-
Windcave
-
Worldline
-
Worldpay
-
Worldpay Online
-
Worldpay Vantiv
-
Worldpay WPG
-
Xendit
-
Yeepay
-
Zoop
-
Zooz
Don't see your payment provider? Tell us and we'll add it, free.
Want to offer your merchants a payment provider? We provide processing in the US, the UK, the EEA, Hong Kong, Malaysia, Thailand, the Philippines and Turkey. Ask us about it.
Questions about charging
How long does a new provider take to add?
Tell us which provider you need and we build the connection at no cost to you. A new provider takes about two weeks on average, and a solutions engineer tells you when yours will be ready.
Do I need my own merchant account?
Usually. Each merchant charges through its own account with the provider it chooses, and PCI Booking passes the card to that provider for each charge. A merchant without a provider can use the processing we offer in the regions listed above.
What happens if a charge fails?
The provider's response comes back to your system in the same format whichever provider sent it, with a standard decline reason, so you can decide what to do next. If you want a backup when one provider fails, list your other accounts and we retry the charge through them, in the order you set, unless the decline is one a retry cannot fix, such as an expired or stolen card. You can also switch a merchant to another provider at any time without moving its cards.
Tell us where your cards come from and where they need to go
A solutions engineer reviews your card flows with you and shows you what the integration looks like.