Hosted Payment Page (HPP)
Integration Guide
This page provides the information required to integrate CellPoint Velocity's Hosted Payment Page (HPP) with a merchant's ecommerce application. HPP makes it easy to use CellPoint's payment solutions on websites in non-PCI-compliant environments. With HPP, all sensitive payment data is entered directly in a CellPoint-hosted payment form, so your business never has to handle protected data.
For operation definitions, see HPP in the Reference section of this site.
How it works
When a customer chooses to make a payment, they are redirected to a CellPoint-hosted payment page in the same browser window. CellPoint Velocity collects and validates the payment data. The validation ensures the following:
- The payment page is rendered correctly on a customer’s mobile device.
- The transaction has the maximum chance of succeeding when sent to the PSP or acquirer for clearance.
After processing the transaction, the customer is redirected to an accept page or a cancel page, and control is passed back to you, the merchant.
The integration features the following:
Page | Features |
|---|---|
Order summary page | • Shopping cart summary. |
Hosted payment page (HPP) | • Hosted by CellPoint Digital. |
Payment confirmation page | • Displays information on transaction's success or failure. |
Onboarding Checklist
The following table shows the HPP onboarding responsibilities belonging to CellPoint Digital and to you, the merchant:
Owner | Owner Responsibilities | Details |
|---|---|---|
CellPoint Digital | Client onboarding and configuration | • Client setup - account and clientid |
Merchant | Accept and Reject URLs | Merchant to add accept and reject logic to their checkout flow that accepts the CellPoint response as query parameters. |
Workflow
The steps below describe the workflow for accepting a payment using CellPoint Digital's Velocity HPP:
- The customer begins the checkout steps in the merchant application, and the merchant collects necessary payment information.
- When the customer clicks the payment button, the merchant sends a
POSTrequest (containing customer and shopping cart data) to CellPoint's HPP URL. The request redirects the customer's browser to the HPP URL. - The HPP opens in the customer's browser. The customer enters and submits the payment information.
- CellPoint processes the payment request and returns the customer to the merchant's accept or cancel URL with the results of the transaction in the form data element.
Integration
Complete the following steps to integrate CellPoint's Velocity HPP.
1. Send a POST request to the HPP URL
Endpoint: The HPP URL provided by CellPoint Digital during onboarding
Method: POST
When your customer chooses to proceed to payment, send a POST request to the HPP URL provided by CellPoint during onboarding. (Note that the request body is similar to that of an Initialize API request.) For details about the request, see HPP in the Reference section of this site.
Below is sample code for the request to invoke Velocity HPP:
<!DOCTYPE HTML>
<html>
<body>
<form action="https://{HPP_HOST}/views/web.php" method="POST" id="order-form">
<input type="hidden" name="country" value="200"/>
<input type="hidden" name="clientid" value="10022"/>
<input type="hidden" name="account" value="100220"/>
<input type="hidden" name="accept-url" value="{accept-url}"/>
<input type="hidden" name="cancel-url" value="{cancel-url}"/>
<input type="hidden" name="callback-url" value="{callback-url}"/>
<input type="hidden" name="orderid" value="1561120588855"/>
<input type="hidden" name="operator" value="20000"/>
<input type="hidden" name="language" value="us"/>
<input type="hidden" name="customer-ref" value="test"/>
<input type="hidden" name="email" value="[email protected]"/>
<input type="hidden" name="mobile-country" value="200"/>
<input type="hidden" name="mobile" value="9898989898"/>
<input type="hidden" name="amount" value="1.232"/>
<input type="hidden" name="auth-token" value="E814B1DE-2A6A-4A09-B522-13D5CD9829D1"/>
<input type="hidden" name="init-token" value="f26ebd24d623f228cb8bc37f30939003ffd1c98b2d24ab8be35e9a881521fc1b4b3f82bf131471ff68a9c716c20af08141ff4a1337f0c31ee8ddc75bedb35fd8"/>
<input type="hidden" name="nonce" value="12345"/>
<input type="hidden" name="orderdata" value="{JSON order-data}"/>
<input type="hidden" name="gtm-data" value="{gtmData}"/>
<input type="hidden" name="profile-id" value="XC2G6BYDBqibRdO06G1OGZq6OBxM"/>
<input type="hidden" name="response-content-type" value=" 2"/>
<input type="hidden" name="txntype" value="1|3|5"/>
<input type="hidden" name="additionaldata" value='{
"additional_data": {
"param": [
{
"name": "session_token",
"text": "2A6A4A09B52213D5CD9829D1"
},
{
"name": "hold_fee_amount",
"text": "150"
},
{
"name": "hold_fee_currency_code",
"text": "608"
},
{
"name": "hold_period",
"text": "8"
},
{
"name": "stepper",
"text": "1"
}
]
}
}'/>
<input type="submit" value="Pay" class="btn-link"/>
</form>
</body>
</html>The customer's browser redirects to the HPP URL, which displays the payment form. Your customer fills in the payment data and clicks the submit payment button.
CellPoint Velocity processes the payment and returns your customer to the accept or cancel URL that you provided in the request body. CellPoint includes the results of the transaction in the form data element when the customer is returned to your site.
2. Display the results of the transaction
Capture the transaction results from the form data when the customer is returned to your accept or reject URL. For accepted transactions, display a success message with the transaction summary. Allow your customer to proceed as normal. For rejected transactions, display the transaction summary and allow the customer to try another payment method or cancel the order.
Here is an example of the form data:
{
"client_id": "12752",
"account_id": "127520",
"session_id": "1999302",
"sale_amount": {
"value": "60000",
"currency_id": "840",
"decimals": "2",
"alpha3code": "USD"
},
"status": {
"code": "4030",
"message": "Session Complete"
},
"transactions": {
"transaction": [
{
"id": "80806384",
"order_id": "GFHJB352",
"fee": "0",
"hmac": "5afaa6a66f24f5059b4d22a2617d0237f97fe06e00e9e9b4d9b43c4e7b77bb7ccacb682105d5468c57e62f8191f88815e8d9dd234d1b346741ffc63961bdac3e",
"product_type": "100",
"approval_code": "111835",
"payment_method": "CD",
"payment_type": "1",
"date_time": "2025-05-22T16:04:01 00:00",
"amount": {
"value": "60000",
"currency_id": "840",
"decimals": "2",
"alpha3code": "USD",
"conversion_rate": "1"
},
"sale_amount": {
"value": "60000",
"currency_id": "840",
"decimals": "2",
"alpha3code": "USD"
},
"status": {
"code": "2001",
"message": "Payment captured by PSP"
},
"psp": {
"id": "82",
"name": "Nuvei",
"external_id": "8110000000008541824"
},
"card": {
"id": "8",
"card_name": "VISA",
"masked_card_number": "*************",
"expiry": "**/**"
},
"customer_info": {
"language": "en",
"email": "*******",
"mobile": "*******",
"device_id": "*******"
},
"billing_address": {
"first_name": "*****",
"last_name": "*****",
"street": "*****",
"street2": "*****",
"city": "*****",
"state": "*****",
"postal_code": "*****",
"country": "*****",
"mobile": "*****",
"email": "*****",
"billing_idc": "*****",
"alpha2code": "*****"
},
"pos": "200",
"ip_address": "84.79.201.0",
"fraud_status_code": "3011",
"fraud_status_desc": "Pre Auth Success",
"route_config_id": "2266",
"fraud": {
"status_code": "3011",
"status_desc": "Pre Auth Success",
"pre_auth_ext_id": "7479299554316097104605",
"pre_auth_ext_status_code": "100",
"pre_auth_provider_id": "64",
"pre_auth_fraud_status": "3011"
},
"installment": "0",
"accept_url": "https://cpd-demo.cellpoint.app/confirmation?s=1",
"cancel_url": "https://cpd-demo.cellpoint.app/confirmation?s=0",
"txn_type_id": "1",
"performed_operations": {
"performed_operations": [
{
"amount": "60000",
"created": "2025-05-22T16:04:01 00:00",
"performedOperations": "1001",
"modified": "2025-05-22T16:04:01 00:00",
"status": "done"
},
{
"amount": "60000",
"created": "2025-05-22T16:05:56 00:00",
"performedOperations": "2000",
"modified": "2025-05-22T16:05:58 00:00",
"status": "done"
},
{
"amount": "60000",
"created": "2025-05-22T16:05:58 00:00",
"performedOperations": "2001",
"modified": "2025-05-22T16:05:58 00:00",
"status": "done"
}
]
},
"performed_operation_time": "2025-05-22T16:05:58 00:00"
}
]
},
"callback_url": "https://ehpp2.cellpoint.app/views/redirect_response.php",
"session_type": "1",
"order_status": {
"code": "1"
}
}Additional Features
This section describes additional features available through Velocity's HPP integration.
Fraud Detection
Built-in fraud detection mechanisms flag suspicious activities, allowing you to keep pace with evolving threats.
When a transaction is marked as fraud, CellPoint Digital treats similar transactions in the same manner regardless of the party that marked it as fraud.
For example, if you elect to disable a card payment method after one failed attempt or one fraud transaction, and a specific card transaction is marked as fraud by any system (a PSP, an acquirer, or a fraud system provider), then CellPoint Digital will disable the credit/debit card FOP.
3D-Secure (3DS)
The 3-D Secure 2.0 (3DS) protocol can be used with Velocity HPP for extra fraud protection. The protocol requires certain information about the customer’s device to recognize the overall risk for a given transaction. This process of collecting device information for risk-based analysis is called device fingerprinting.
Due to merchant requirements across multiple regions, the system must identify what Device Data Collection (DDC) needs on a platform level. To fulfill this requirement, the POP system should be able to support this feature for 3DS2-opted payments.
Work with your CellPoint Digital sales representative or account manager to set up the 3DS feature for your HPP integration.
Split Payments
CellPoint's Velocity HPP can let a customer split their payment between multiple available payment methods. The customer may split payments for a single transaction or for a payment session with multiple transactions. The merchant configures the business rules for this process.
Work with your CellPoint Digital sales representative or account manager to set up the Split Payments feature for your HPP integration.
Installments
You can use CellPoint Velocity's Installments feature to allow customers to pay in installments. This feature is applicable to credit card transactions where the cardholder's country is the same as the pricing country. You can use the Vision platform to configure the card types and customers for whom this feature is available and to set the maximum number of months a customer may select.
Work with your CellPoint Digital sales representative or account manager to set up the Installments feature for your HPP integration.
Foreign Exchange (FX)
The Foreign Exchange (FX) Service operates through Dynamic Currency Conversion (DCC) to fetch foreign exchange rates from a third-party provider, supporting transactions in currencies a customer may prefer. This feature is applicable to an HPP integration for transactions using MasterCard or Visa, and it requires a partnership with a third-party FX provider.
Work with your CellPoint Digital sales representative or account manager to set up the FX feature for your HPP integration.
Display Order Data
Velocity HPP supports the ability for merchants from specific domains, such as airlines or hotels, to display booking information to customers after they make payment.
The order object is included in the Initialize operation when Velocity HPP initiates a new payment transaction. Once the payment is initialized, Velocity provides order data in addition to the required transaction information and merchant configuration for the payment to be successfully processed. For details on the order object, see our HPP Reference section.
To set up your HPP integration to display order data, contact your CellPoint Digital sales representative or account manager.
Airline Itinerary Data (AID)
Airline Itinerary Data (AID) can be used in HPP integrations if the merchant qualifies for airline interchange rates and uses an airline MCC (Merchant Category Code). AID can be used to qualify a card purchase for an advantageous interchange rate. It is also used heavily in embedded fraud flows and for displaying booking information (like ticket details or address) to customers after they make payment.
The airline_data object is inside the order object (described in Display Order Data, above) when Velocity HPP sends an Initialize request. Velocity then provides airline data once the payment is initialized. For details on the airline_data (AID) object, see our HPP Reference section.
To set up your HPP integration for AID, contact your CellPoint Digital sales representative or account manager.
Updated 10 days ago
