VCC (Virtual Credit Card)
Make bookings by paying securely via a PCI-DSS-compliant booking endpoint.
What is it
A new payment method (VCC) that lets partners pay for hotel bookings using a Virtual Credit Card. Instead of sending raw card details, the partner tokenizes the card number and CVC through PCI Proxy (a PCI-DSS-compliant tokenization service), then passes the token aliases to LiteAPI at booking time. LiteAPI charges the VCC via Stripe — the partner never has to handle raw card data in the API call.
Who can use it
VCC must be enabled per API key. Contact Nuitee to request access.
How it works
-
Tokenize the card — The partner uses PCI Proxy Secure Fields (a client-side JS library) to collect the VCC number and CVC. PCI Proxy returns two token aliases — one for the card number and one for the CVC. No raw card data touches the partner's server.
-
Prebook — Call
POST /v3.0/rates/prebookas usual with the desiredofferId. -
Book with VCC — Call
POST /v3.0/rates/bookwith the following payment object:
{
"prebookId": "...",
"holder": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"phone": "+1234567890"
},
"guests": [
{
"occupancyNumber": 1,
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]"
}
],
"payment": {
"method": "VCC",
"number": "AAABcHxr-sDssdexyrAAAfyXWIgaAF40",
"cvc": "AAABcHxr-sDssdexyrAAAfyXWIgaAF41",
"expireDate": "12/26",
"holderName": "John Doe"
}
}Payment fields
| Field | Required | Description |
|---|---|---|
method | Yes | Must be "VCC" |
number | Yes | PCI Proxy token alias for the card number |
cvc | Yes | PCI Proxy token alias for the card CVC |
expireDate | Yes | Card expiration in MM/YY format |
holderName | No | Cardholder name. Defaults to the booking holder's first + last name if omitted |
What happens behind the scenes
LiteAPI uses the token aliases to charge the card via PCI Proxy's Pull integration with Stripe. The charge is immediate (auto-capture). If the booking uses a voucher that covers the full price, no charge is made.
Error cases
| Scenario | HTTP | Code | Description |
|---|---|---|---|
| VCC not enabled on API key | 400 | 4003 | "invalid payment method" |
| Missing card number token | 400 | 4002 | "missing or empty card number token" |
| Missing CVC token | 400 | 4002 | "missing or empty cvc token" |
| Missing expire date | 400 | 4002 | "missing or empty expire date" |
| Card declined / charge failed | 500 | 2013 | "booking failed" with charge error detail |
Sandbox testing
In sandbox mode, PCI Proxy and Stripe sandbox endpoints are used automatically. Use PCI Proxy sandbox token aliases and Stripe test cards.
Updated about 1 hour ago

