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 JSON 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 10 days ago