Skip to main content

Virtual Credit Card

The Virtual Credit Card plugin allows you to connect with a VCC supplier who can create virtual credit cards for you at the time of reservation. For each hotel booking where you indicate the plugin, our system will connect with your VCC supplier to obtain the virtual credit card and use this information to complete the reservation with the hotel supplier.

Virtual Credit Card plugin adds the possibility to:

  • Create a virtual credit card (VCCGen): The VCC generator plugin empowers Buyers to generate virtual credit cards featuring activation and expiration dates of their choosing. You can apply rules using the genvcc.csv rules file to determine whether or not to utilize a specific VCC. This decision is based on the rules defined within the file and the parameters specified in the request.

  • Cancel a virtual credit card (VCCCan): The VCC cancel plugin is responsible for cancelling a virtual credit card identified by the id returned in the book response. The service will return the status of the payment card inside status field. This plugin should be utilized exclusively within the Cancel operation, contingent on the successful completion of the booking cancellation. To specify the virtual credit card to be used for cancellation, a rule that returns an access key will be employed, utilizing the same rule file as the VCC generator. You can establish rules within the genvcc.csv rule file to determine the utilization of a particular VCC based on rules within the file and request parameters.

Bear in mind

You need to have an agreement with a VCC supplier integrated with TravelgateX to start using this plugin. Please check our VCC Payments article to learn all the steps before configuring the plugin in your book mutations.

To get started with the VCC plugin, follow these simple steps:

1.Create and Upload your GenVCC File

To get started, create your credit card file in the correct format and then upload it to your SFTP account. We've provided a template file below ⬇️ to help you with this process. Just click on the file name, add your own rules, save it in CSV format, and then upload it to the corresponding folder in your SFTP.

sftp.xmltravelgate.com

📁HotelX
     📁HotelX_0000
         📁BusinessRules
             📄RequestContext_sequential_genvcc.csv

File format specification

  • File Name: RequestContext_sequential_genvcc.csv
  • Directory: HotelX/HotelX_0000/BusinessRules
  • Delimiter: Comma (,)
  • Header Row:
    • IdRule: Rule’s identifier
    • ClientToken: List of clientTokens allowed for this rule
    • NoClientToken: List of clientTokens not allowed for this rule
    • Supplier: List of hotel suppliers allowed for this rule
    • NoSupplier: List of hotel suppliers not allowed for this rule
    • Hotels: List of hotels for this rule which codes are in request context (Buyer or Supplier)
    • NotHotels: List of hotels not allowed for this rule which codes are in request context (Buyer or Supplier)
    • Access: List of accesses allowed for this rule
    • NoAccess List of accesses not allowed for this rule
    • Currencies: List of currencies allowed for this rule
    • NoCurrencies List of currencies not allowed for this rule
    • CardType: The CardType to be utilized for generating the virtual credit card
    • VccAccess Payment access used to generate the virtual credit card with the VCC supplier
File Name

"RequestContext" on the file name depends on the context you use in your query:

  • If you use your own Buyer context (multi mode search) you only need to load 1 file with your context in the name (BuyerContext_sequential_commission.csv).
  • If you use the Supplier context (single mode search) you will need to load 1 file for each supplier with the Supplier context in the name (SupplierContext_sequential_commission.csv).

Also, if you include rules inside the file to use one VCC access or another for different hotel codes, those hotel codes should be indicated in the context of the file (Buyer or Supplier).

note

All lists are represented as a unique string separated by semicolons (';'). Each element within a list is a distinct value relevant to the specific criterion. For instance, a list of permissible currencies may include multiple currency codes, and each currency code is separated by a semicolon within the string representation. Example: Currency list => "EUR;USD;MXN"

List of available card types
CodesNames
VIVisa
AXAmerican Express
BCBC Card
CAMasterCard
CBCarte Blanche
CUChina Union Pay
DSDiscover
DCDiners Club
TCarta Si
RCarte Bleue
NDankort
LDelta
EElectron
JCJapan Credit Bureau
TOMaestro
SSwitch
ECElectronic Cash
EUEuroCard
TPUniversal air travel card
OPOptima
ERAir Canada/RnRoute
XSAccess
OOthers
caution

Bear in mind that this file is a collection of rules and we chose in every Book the first rule that matches the criteria sent in the Query. You should specify the more restrictive rules on the top of the file. If there is no value for any rule criteria row, it means that any value in the request matches this row. It is important to indicate the contexts used in values on the rule criteria to improve rule matching.

📹Learn how to change the format of the csv file in order to edit and save it

2. Execute Virtual Credit Card Plugin in your Mutation

GenVCC

Once you've uploaded your genvcc file, to use the plugin add the following field to the settings node of your request. Note that genvcc plugin can just be executed in book mutation. In order to successfully execute the genvcc plugin, you will need to create the request with the following variables.

  • step: "REQUEST"
  • type: "PRE_STEP"
  • name: "genvcc"
  • parameters:
KeyValueDescriptionDefault Value (if not sent)Mandatory
activationDateyyyy/mm/ddRepresents the date when the virtual credit card will be activatedSame day as the bookNO
expirationDateyyyy/mm/ddRepresents the date when the virtual credit card will expireOne month after check inNO
useGrosstrue or falseIndicates that the amount to load onto the VCC will be the reservation value. If true, the gross value will be used; if false, the net value will be used. Not compatible with the 'amount' parameter.Net reservation price valueNO
amounttwo decimalsIf you do not want to load the VCC with the reservation value and prefer to specify an exact amount, use this parameter. Not compatible with the 'useGross' parameter. If not provided, 'useGross' will be used based on the reservation price; if neither is indicated, the net reservation value will be used.Net reservation price value (if 'useGross' is not also sent)NO
"settings": {
"plugins" : [
{
"step" : "REQUEST",
"pluginsType" : {
"type" : "PRE_STEP",
"name" : "genvcc",
"parameters" : [
{
"key" : "activationDate",
"value" : "yyyy-mm-dd"
},
{
"key" : "expirationDate",
"value" : "yyyy-mm-dd"
},
{
"key" : "useGross",
"value" : "true"
}
]
}
}
]
}
danger

Please note, if your reservation fails due to connection or supplier error, a VCC (Virtual Credit Card) might still be created. If you need to cancel this VCC, contact with your VCC supplier promptly.

CanVCC

In the case of canvcc, since it is a cancellation, there is no need to upload any file. You just have to indicate it in the request. Please note that the canvcc plugin can only be executed in the cancel mutation. To successfully execute the canvcc plugin, you will need to create the request with the following variables.

  • step: RESPONSE
  • type: POST_STEP
  • name: canvcc
  • parameters:
    • id: The id of the virtual credit card that you want to cancel.
    • currency: (Optional) A currency can be added. This is particularly useful if you use different VCC accesses depending on the currency used. Currency code format must be ISO4217 code format (i.e. “EUR”, “USD”, “GBP”,…)
Currency parameter when cancel VCC

Although it is optional, if you have VCC rules related to a currency, you must include this parameter when canceling to ensure the correct rule is applied and to avoid further issues.

"settings" : {
"plugins" : [
{
"step" : "RESPONSE",
"pluginsType" : {
"type" : "POST_STEP",
"name" : "canvcc",
"parameters" : [
{
"key" : "id",
"value" : "virtualCreditCardID"
},
{
"key" : "currency",
"value" : "USD"
}
]
}
}
]
}