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
shipping
Parent: 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_items
Parent: order
Please note:
- The
line_items
object is required in anorderdata
JSON string. It provides booking information. - The
line_items
object contains oneline_item
array. - Each object in the
line_item
array contains the following:product
,amount
, andadditional_data
. See their descriptions below.
product
product
Parents: 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_data
Parents: order: line_items: line_item: product
Please note:
- The
airline_data
object is optional; it provides detailed information of a travel itinerary such as fare information, traveler information, and trip information. - The
airline_data
object has three child objects:profiles
,billing_summary
, andtrips
. See their descriptions below.
profiles
profiles
Parents: order: line_items: line_item: product: airline_data
Please note:
- The
profiles
object is required in anairline_data
object, and it has one child:profile
. profile
is 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_info
Parents: order: line_items: line_item: product: airline_data: profiles: profile
Please note:
- The
contact_info
object is required in anairline_data
object; it provides contact information for the specified passenger. - The
contact_info
object has two children:email
andmobile
.
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_data
Parents: order: line_items: line_item: product: airline_data: profiles: profile
Please note:
-
The
additional_data
object withinprofile
is optional; it provides additional trip details. -
The
additional_data
object contains theparam
array.
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_summary
Parents: order: line_items: line_item: product: airline_data
Please note:
- The
billing_summary
object is optional; it provides billing details of a journey. - The
billing_summary
object has two children:fare_detail
andadd_ons
; see their descriptions below.
fare_detail
fare_detail
Parents: order: line_items: line_item: product: airline_data: billing_summary
Please note:
- The
fare_detail
object is required inbilling_summary
; it gives the fare details of a journey. - The
fare_detail
object contains thefare
array.
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_ons
Parents: order: line_items: line_item: product: airline_data: billing_summary
Please note:
- The
add_ons
object is required inbilling_summary
; it shows additional fees or associated with a journey. - The
add_ons
object contains anadd_on
array.
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
trips
Parents: order: line_items: line_item: product: airline_data
Please note:
- The
trips
object is required whenairline_data
is present; it provides information about the travel itinerary. - The
trips
object contains thetrip
array. 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
origin
Parents: 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
destination
Parents: 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
transportation
Parents: 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
carriers
Parents: order: line_items: line_item: product: airline_data: trips: trip: transportation
Please note:
- The
carriers
object is required whenairline_data
is present; it describes the carriers used in a journey. - The
carriers
object contains thecarrier
array. 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_data
Parents: order: line_items: line_item: product: airline_data: trips: trip
Please note:
- The
additional_data
object intrips
is optional; it provides additional trip details. - The
additional_data
object contains theparam
array.
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
amount
Parents: 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_data
Parents: order: line_items: line_item
Please note:
- The
additional_data
object inline_item
(as a child ofline_item
) is optional. The merchant may use it to insert additional information. - The
additional_data
object contains theparam
array. - Each object in the
param
array has a key value data structure using onename
/text
pair. - Possible values for
name
:flight_sel_url
,info_cust_url
,office_id
,promo_code
,flexi_search
,lowest_fare
, anddeviceFingerPrint
.
Updated 19 days ago