Request Parameters
HPP Reference
This page defines the parameters sent in a request to invoke Velocity HPP. For sample code, see HPP.
Note:
- The callback response parameter is customizable.
- Velocity accepts the parameters if they are lowercase only.
- The request contains a body with URL encoded format. Therefore, all the parameters may not be visible in the URL.
html contents
Parents: html: body
Format/Content Type: html
The form element contains multiple input children. When input type="hidden", the parameters are as follows:
| Parameter (The value of input: name) | Requirement | Format (The format of input: value) | Description (The value of input: value) |
|---|---|---|---|
country | Required | Integer | The ID of a country from which a customer creates a transaction. This is based on the International Organization for Standardization (ISO) country standard numeric code. |
clientid | Required | Integer | A merchant’s unique ID for Velocity, which CellPoint Digital creates. |
account | Required | Integer | The ID of a sub-account with which a payment transaction is associated. The account ID is an integer greater than 100000, and the account number is an integer smaller than 1000. CellPoint Digital provides the account number. |
accept-url | Optional | String | The absolute URL to which Velocity directs the customer after successfully completing a payment transaction. Note: If you do not provide this parameter, Velocity uses your default accept URL. |
cancel-url | Optional | String | The absolute URL to which Velocity directs the customer if they cancel a payment transaction midway. Note: If you do not provide this parameter, Velocity uses your default cancel URL. |
callback-url | Optional | String | The absolute URL of the server-to-server callback. Note: If you do not provide this parameter, Velocity uses your default callback URL. |
orderid | Required | String | This is a unique order identification string. |
operator | Optional | Integer | The ID of a customer’s mobile network operator. CellPoint Digital recommends including this parameter in the request to ensure Velocity interacts with the operator accurately. |
language | Optional | String | The default language that Velocity uses when translating the payment pages. Velocity language codes are based on the ISO-639-1 standard. Refer to http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for details. |
customer-ref | Optional | String | A merchant’s unique reference ID for a customer. Velocity uses this token to identify a customer. Additionally, the customer reference ID is included in the request to the specified auth-URL to authenticate the customer when paying with a stored card through the mVault module if single sign-on is used. Note: If neither country nor currency-code is provided, then the default client country is used for the payment routing. |
email | Optional | String | The email address of a customer. |
mobile-country | Conditional Requirement: Required if mobile is present. | Integer | The International Dialing Code for the customer's mobile phone number. |
mobile | Optional | Integer | The MSISDN of a customer without the International Dialing Code. |
amount | Required | Decimal | The total amount that a customer is charged for a payment transaction in a country’s currency. |
auth-token | Optional | String | The token sent to a specified auth-URL to authenticate a customer when paying with a stored card through the mVault module if single sign-on is used. |
init-token | Required | String | This is a combination of SHA512 (clientid+username+password+nonce+accepturl) encryption. Example: clientid=10007 username = CPM password = TEST nonce = 123435 The above combination generates the following token: SHA512(10007CPMTEST123435). |
nonce | Required | String | Timestamp / random string. |
orderdata | Optional | JSON string | Order details, including event, location, date or time, ticket type, cost, booking fee, quantity, and total price. See HPP for sample code and Display Order Data below for parameter definitions. |
gtm-data | Optional | JSON string | This is a payload for Google Analytics, the details of which are given in another document that can be made available on request. |
profile-id | Conditional Requirement: This field is mandatory only if the merchant wants user profile authentication. | String | The profile ID of a customer, which is used for fetching the customer’s profile from an external system or from Velocity. |
response-content-type | Optional | Integer | The format in which the merchant receives the redirect response. Possible values:
|
txntype | Optional | Integer | A value to indicate the purchase type such as Search and Book (S&B) or Managed My Booking (MYB). Possible values:
|
additionaldata | Optional | JSON string | The additional data sent from a merchant. In this JSON string, param contains an array of name and text pairs.These values are open-ended and merchant-defined; see sample code for examples. |
When input type="submit", the parameters are as follows:
| Parameter (The value of input: class) | Requirement | Format (The format of input: value) | Description (The value of input: value) |
|---|---|---|---|
btn-link | Required | String | This value is always Pay. |
Display Order Data JSON
This section describes the JSON string contained in the value associated with orderdata in a request to invoke Velocity HPP.
Within the JSON string, the order object is required, and it contains two children: shipping and line_items. See their descriptions below.
shipping
shippingParent: order
The shipping object is optional; it provides the customer's shipping address. It contains the following name-value pairs:
| Name | Requirement | Format of value | Description of value |
|---|---|---|---|
name | Conditional Requirement: Required if shipping is present. | String | The customer's name. |
street | Conditional Requirement: Required if shipping is present. | String | The first line of the customer's street address. |
street2 | Optional | String | The second line of the customer's street address. |
city | Conditional Requirement: Required if shipping is present. | String | The city in the customer's mailing address. |
state | Conditional Requirement: Required if shipping is present. | String | The state in the customer's mailing address. |
zip | Conditional Requirement: Required if shipping is present. | Integer | The zip code or postal code for the customer's mailing address. |
country | Conditional Requirement: Required if shipping is present. | Integer | The ISO numeric country code for the country in the customer's mailing address. |
line_items
line_itemsParent: order
Please note:
- The
line_itemsobject is required in anorderdataJSON string. It provides booking information. - The
line_itemsobject contains oneline_itemarray. - Each object in the
line_itemarray contains the following:product,amount, andadditional_data. See their descriptions below.
product
productParents: order: line_items: line_item
The product string is required in an orderdata JSON string; it provides detailed booking information. It contains the following:
| Name | Requirement | Format | Description |
|---|---|---|---|
sku | Required | String | The short code for a travel itinerary. For example, PNR and order number. |
name | Required | String | The name of a journey or booking. For example, ONEWAY, RETURN, MULTICITY, MYB, and OLCI. |
description | Optional | String | A description of the travel itinerary or booking. |
airline_data | Optional | JSON string | See the airline_data section below. |
airline_data
airline_dataParents: order: line_items: line_item: product
Please note:
- The
airline_dataobject is optional; it provides detailed information of a travel itinerary such as fare information, traveler information, and trip information. - The
airline_dataobject has three child objects:profiles,billing_summary, andtrips. See their descriptions below.
profiles
profilesParents: order: line_items: line_item: product: airline_data
Please note:
- The
profilesobject is required in anairline_dataobject, and it has one child:profile. profileis an array of objects that each have profile information for one passenger.
Each object in profile has the following:
| Name | Requirement | Format | Description |
|---|---|---|---|
seq | Conditional Requirement: Required if airline_data is present. | Integer | The sequence number of the passenger. Note: This is applicable to airline data only. |
title | Conditional Requirement: Required if airline_data is present. | String | The title of the passenger, such as Mr., Mrs., or Ms.Note: This is applicable to airline data only. |
first_name | Conditional Requirement: Required if airline_data is present. | String | The first name of the passenger. Note: This is applicable to airline data only. |
last_name | Conditional Requirement: Required if airline_data is present. | String | The last name of the passenger. Note: This is applicable to airline data only. |
type | Conditional Requirement: Required if airline_data is present. | String | The type of passenger. For example, • ADT - Adult• CHD - Child• INF - Infant with FAA SeatRefer to Reference for all possible values. Note: This is applicable to airline data only. |
contact_info | Conditional Requirement: Required if airline_data is present. | JSON string | See the contact_info section below. |
additional_data | Optional | JSON string | See the additional_data section below. |
contact_info
contact_infoParents: order: line_items: line_item: product: airline_data: profiles: profile
Please note:
- The
contact_infoobject is required in anairline_dataobject; it provides contact information for the specified passenger. - The
contact_infoobject has two children:emailandmobile.
The email child is the following name-value pair:
| Name | Requirement | Format of value | Description of value |
|---|---|---|---|
email | Conditional Requirement: Required if airline_data is present. | String | The passenger's email address. Note: This is applicable to airline data only. |
The mobile child is an object containing the following name-value pairs:
| Name | Requirement | Format of value | Description of value |
|---|---|---|---|
country_id | Conditional Requirement: Required if airline_data is present. | Integer | The 3-digit ISO country code for the mobile phone number in text.Note: This is applicable to airline data only. |
text | Conditional Requirement: Required if airline_data is present. | Integer | The passenger's mobile phone number. Note: This is applicable to airline data only. |
additional_data
additional_dataParents: order: line_items: line_item: product: airline_data: profiles: profile
Please note:
-
The
additional_dataobject withinprofileis optional; it provides additional trip details. -
The
additional_dataobject contains theparamarray.
Each object in the param array has a key value data structure using one of the following name / text pairs:
Value of name | Requirement | Format of text | Description of text |
|---|---|---|---|
loyality_id | Optional | String | The airline-specific passenger loyalty ID. Note: This is applicable to airline data only. |
passenger_tier | Optional | String | The airline-specific passenger tier. Note: This is applicable to airline data only. |
passport_no | Optional | String | The passenger's passport number. Note: This is applicable to airline data only. |
billing_summary
billing_summaryParents: order: line_items: line_item: product: airline_data
Please note:
- The
billing_summaryobject is optional; it provides billing details of a journey. - The
billing_summaryobject has two children:fare_detailandadd_ons; see their descriptions below.
fare_detail
fare_detailParents: order: line_items: line_item: product: airline_data: billing_summary
Please note:
- The
fare_detailobject is required inbilling_summary; it gives the fare details of a journey. - The
fare_detailobject contains thefarearray.
Each object in the fare array has the following name-value pairs:
| Name | Requirement | Format of value | Description of value |
|---|---|---|---|
description | Conditional Requirement: Required if billing_summary is present. | String | A description of the item. Note: This is applicable to airline data only. |
currency | Conditional Requirement: Required if billing_summary is present. | String | The alpha3 ISO currency code of the item amount. Note: This is applicable to airline data only. |
amount | Conditional Requirement: Required if billing_summary is present. | Number | The amount charged for the item. This can be a decimal value. Note: This is applicable to airline data only. |
type | Conditional Requirement: Required if billing_summary is present. | String | The type of passenger. For example, • ADT - Adult• CHD - Child• INF - Infant with FAA SeatRefer to Reference for all possible values. Note: This is applicable to airline data only. |
product_code | Conditional Requirement: Required if billing_summary is present. | String | The product code of the item. Note: This is applicable to airline data only. |
product_category | Conditional Requirement: Required if billing_summary is present. | String | The product category of the item. Note: This is applicable to airline data only. |
product_item | Conditional Requirement: Required if billing_summary is present. | String | The product name of the item. Note: This is applicable to airline data only. |
add_ons
add_onsParents: order: line_items: line_item: product: airline_data: billing_summary
Please note:
- The
add_onsobject is required inbilling_summary; it shows additional fees or associated with a journey. - The
add_onsobject contains anadd_onarray.
Each object in the add_on array has the following name-value pairs:
| Name | Requirement | Format of value | Description of value |
|---|---|---|---|
description | Conditional Requirement: Required in an add_on array object. | String | A description of this add-on. Note: This is applicable to airline data only. |
currency | Conditional Requirement: Required in an add_on array object. | String | The alpha3 ISO currency code of the add-on amount. Note: This is applicable to airline data only. |
amount | Conditional Requirement: Required in an add_on array object. | Number | The amount paid for this add-on. This can be a decimal value. Note: This is applicable to airline data only. |
profile_seq | Conditional Requirement: This is mandatory only if the object is associated with a passenger. | Integer | The sequence number of the passenger linked to this add-on. This is the same as the seq value in the profile object associated with the passenger.Note: This is applicable to airline data only. |
trip_tag | Conditional Requirement: This is mandatory only if the object is associated with a trip. | Integer | The tag number associated with a trip, which is used to identify a trip. Note: This is applicable to airline data only. |
trip_seq | Conditional Requirement: This is mandatory only if the object is associated with one leg of the trip. | Integer | The trip sequence number, used to identify the leg of the trip. Note: This is applicable to airline data only. |
product_code | Conditional Requirement: Required in an add_on array object. | Integer | The code number to identify the add-on product. Note: This is applicable to airline data only. |
product_category | Conditional Requirement: Required in an add_on array object. | Integer | The code number to identify the add-on product's category. Note: This is applicable to airline data only. |
product_item | Conditional Requirement: Required in an add_on array object. | Integer | The code number to identify the add-on product item. Note: This is applicable to airline data only. |
Note: Add-ons can be associated with the passenger, booking, or a particular leg of the booking by using the associated
profile_seq,trip_tag, andtrip_seq.
trips
tripsParents: order: line_items: line_item: product: airline_data
Please note:
- The
tripsobject is required whenairline_datais present; it provides information about the travel itinerary. - The
tripsobject contains thetriparray. Each object in the array describes one trip within a journey.
Each object in the trip array contains the following:
| Name | Requirement | Format | Description |
|---|---|---|---|
tag | Conditional Requirement: Required if airline_data is present. | String | The sequence of this journey in journeys. Note: This is applicable to airline data only. |
seq | Conditional Requirement: Required if airline_data is present. | String | The sequence of this trip or layover within a journey from end to end. Note: This is applicable to airline data only. |
origin | Conditional Requirement: Required if airline_data is present. | JSON string | See the origin section below. |
destination | Conditional Requirement: Required if airline_data is present. | JSON string | See the destination section below. |
departure_time | Conditional Requirement: Required if airline_data is present. | String | The departure time of the flight from the origin, expressed in the origin's local time. Note: This is applicable to airline data only. |
arrival_time | Conditional Requirement: Required if airline_data is present. | String | The arrival time of the flight to its destination, expressed in the destination's local time. Note: This is applicable to airline data only. |
booking_class | Conditional Requirement: Required if airline_data is present. | String | The booking class (RBD – first letter of fare-basis). For example, H.Note: This is applicable to airline data only. |
service_level | Conditional Requirement: Required if airline_data is present. | String | The cabin class, such as XL, X, M, or S.Note: This is applicable to airline data only. |
transportation | Conditional Requirement: Required if airline_data is present. | JSON string | See the transportation section below. |
additional_data | Optional | JSON string | See the additional_data section below. |
origin
originParents: order: line_items: line_item: product: airline_data: trips: trip
The origin object is required when airline_data is present; it defines the location of the trip's origin. It contains the following name-value pairs:
| Name | Requirement | Format of value | Description of value |
|---|---|---|---|
country_id | Conditional Requirement: Required if airline_data is present. | Integer | The ISO numeric country code of the place where the trip originates. Note: This is applicable to airline data only. |
external_id | Conditional Requirement: Required if airline_data is present. | String | The IATA code of the airport where the trip originates. Note: This is applicable to airline data only. |
text | Conditional Requirement: Required if airline_data is present. | String | The name of the city where the trip originates. Note: This is applicable to airline data only. |
time_zone | Conditional Requirement: Required if airline_data is present. | String | The time zone of the place where the trip originates. The time zone is offset. For example, +08:00.Note: This is applicable to airline data only. |
destination
destinationParents: order: line_items: line_item: product: airline_data: trips: trip
The destination object is required when airline_data is present; it defines the location of the trip's destination. It contains the following name-value pairs:
| Name | Requirement | Format of value | Description of value |
|---|---|---|---|
country_id | Conditional Requirement: Required if airline_data is present. | Integer | The ISO numeric country code of the trip's destination. Note: This is applicable to airline data only. |
external_id | Conditional Requirement: Required if airline_data is present. | String | The IATA code of the destination airport. Note: This is applicable to airline data only. |
text | Conditional Requirement: Required if airline_data is present. | String | The name of the destination city. Note: This is applicable to airline data only. |
time_zone | Conditional Requirement: Required if airline_data is present. | String | The time zone of the trip's destination. The time zone is offset. For example, +08:00.Note: This is applicable to airline data only. |
transportation
transportationParents: order: line_items: line_item: product: airline_data: trips: trip
The transportation object is required when airline_data is present; it provides transportation information for the travel itinerary. It contains the following:
| Name | Requirement | Format | Description |
|---|---|---|---|
code | Conditional Requirement: Required if airline_data is present. | String | The marketing airline code for transportation. For example, 5J, PR, OD, and AV.Note: This is applicable to airline data only. |
number | Conditional Requirement: Required if airline_data is present. | Integer | The operating flight number. Note: This is applicable to airline data only. |
carriers | Conditional Requirement: Required if airline_data is present. | JSON string | See the carriers section, below. |
carriers
carriersParents: order: line_items: line_item: product: airline_data: trips: trip: transportation
Please note:
- The
carriersobject is required whenairline_datais present; it describes the carriers used in a journey. - The
carriersobject contains thecarrierarray. Each object in this array describes one carrier used in the journey.
Each object in the carrier array has the following name-value pairs:
| Name | Requirement | Format of value | Description of value |
|---|---|---|---|
type | Conditional Requirement: Required if airline_data is present. | String | The aircraft type information. For example, Aircraft Boeing-737-9.Note: This is applicable to airline data only. |
code | Conditional Requirement: Required if airline_data is present. | String | The code for the operating airline. For example, PR, OD, or AV.Note: This is applicable to airline data only. |
number | Conditional Requirement: Required if airline_data is present. | Integer | The flight number in the airline's system. Note: This is applicable to airline data only. |
additional_data
additional_dataParents: order: line_items: line_item: product: airline_data: trips: trip
Please note:
- The
additional_dataobject intripsis optional; it provides additional trip details. - The
additional_dataobject contains theparamarray.
Each object in the param array has a key value data structure using one of the following name / text pairs:
Value of name | Requirement | Format of text | Description of text |
|---|---|---|---|
NONSTOP | Optional | String | If Yes, the flight is nonstop.Note: This is applicable to airline data only. |
fare_basis | Optional | String | The fare basis. Note: This is applicable to airline data only. |
amount
amountParents: order: line_items: line_item
Within the orderdata JSON string, amount is required. It is the following name-value pair:
| Name | Requirement | Format of value | Description of value |
|---|---|---|---|
amount | Required | Number | The total amount of the order. |
additional_data
additional_dataParents: order: line_items: line_item
Please note:
- The
additional_dataobject inline_item(as a child ofline_item) is optional. The merchant may use it to insert additional information. - The
additional_dataobject contains theparamarray. - Each object in the
paramarray has a key value data structure using onename/textpair. - Possible values for
name:flight_sel_url,info_cust_url,office_id,promo_code,flexi_search,lowest_fare, anddeviceFingerPrint.
Updated 5 months ago
