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

  1. 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.

  2. Prebook — Call POST /v3.0/rates/prebook as usual with the desired offerId.

  3. Book with VCC — Call POST /v3.0/rates/book with 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

FieldRequiredDescription
methodYesMust be "VCC"
numberYesPCI Proxy token alias for the card number
cvcYesPCI Proxy token alias for the card CVC
expireDateYesCard expiration in MM/YY format
holderNameNoCardholder 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

ScenarioHTTPCodeDescription
VCC not enabled on API key4004003"invalid payment method"
Missing card number token4004002"missing or empty card number token"
Missing CVC token4004002"missing or empty cvc token"
Missing expire date4004002"missing or empty expire date"
Card declined / charge failed5002013"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.


Did this page help you?