Hosted Payment Page
Overview
Hosted Payment Page (HPP) is a great solution that allows a quick way to integrate with Check Commerce. With little information from the customer, you are able to create a link and send your customers to us.
The Process
Creating a Hosted Payment page is a simple process. ( HPP must be activated on your account to process using the HPP page solution. Please Message our Boarding team to activate.)
Request a Link
Provide the Link to your customers
They process the payment using the HPP
We send back details from the transaction.
The entire process can be seen simply below.
Links
There are two links that need to be used to complete a HPP request. Below are the sandbox and production links that are needed. See details below for details on how to use them.
Route | Sandbox | Production |
---|---|---|
/CheckApi/Auth | https://sandbox.checkcommerce.com/CheckApi/Auth | https://www.checkcommerce.com/CheckApi/Auth |
/CheckApi/Link | https://sandbox.checkcommerce.com/CheckApi/HostedPage/Link | https://www.checkcommerce.com/CheckApi/HostedPage/Link |
Request a Link
All request sent must be made to our REST API and the payload is a JSON payload
Step one in Requesting a link is generating a JWT token.
Create an Authorization Token using /CheckAPI/Auth
This will pass back a JWT token that can be used to create a Link request
Example Request
{ "USERNAME":"YOUR_USERNAME", "PASSWORD":"YOUR_PASSWORD" }
Example Response
{ "Success": true, "IsValid": true, "Value": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.POstGetfAytaZS82wHcjoTyoqhMyxXiWdR7Nn7A29DNSl0EiXLdwJ6xC6AfgZWF1bOsS_TuYI3OG85AmiExREkrS6tDfTQ2B3WXlrr-wp5AokiRbz3_oB4OxG-W9KcEEbDRcZc0nH3L7LzYptiy1PtAylQGxHTWZXtGz4ht0bAecBgmpdgXMguEIcoqPJ1n3pIWk_dUZegpqx0Lka21H6XxUTxiy8OcaarA8zdnPUnV6AmNP3ecFawIFYdvJB_cm-GvpCSbr8G8y_Mllj8f4x9nBH8pQux89_6gUY618iYv7tuPWBFfEbLxtF2pZS6YC1aSfLQxeNe8djT9YjpvRZA" }
2. Create a link request /CheckApi/HostedPage/Link
Using the JWT token from the first step you can now generate a HPP Link.
Below is an example of a link request. It contains Customer details, Your Business Details, and Order details. This information is used for the HPP.
{ "Customer": { "ReferenceNo": "YOUR_REFERENCE_NUMBER", "Name": "Jane Doe", "Address1": "Street 1", "City": "Texas", "State": "TX", "Zip": "75001", "Phone": "5555555555", "Email": "customeremail@email.com" }, "Business": { "MID": "YOUR_MID", "Name": "YOUR_COMPANY_NAME" }, "Order": { "CustomerOrderReferenceNo": "CUSTOMER_ORDER_REFERENCE_NUMBER", "CustomerOrderType": "General", "SubTotal": 1.0, "Total": 1.10, "ReturnUrl": "REDIRECT_URL" }, "OrderItems": [ { "Name": "Test product", "Description": "first deposit Payment", "Quantity": 1, "Price": 1.0 } ] }
Example Response
https://test.checkcommerce.com/CheckPortal/hostedpage?id=q2d1_4yLJ40qNl59W16rZU4ybV1E-2BKDNrYA-DU0TeLbEuG_EwbTjBfcCr3WXwIp76S9jDK6ZhqXa_3Xniguw
Provide Link to Customer
This can be supplied to the customer as a redirected page, a popup page or in an iFrame.
There are a number of parameters that can be passed that effect how the HPP acts and feels.
This can be configured to redirect to a link upon completion.
Type | Description | |
---|---|---|
Instantlink | Boolean | The instant link allows for the Invoice page to be hidden and only Plaid or Account / Routing number flow to show. |
We Send back Details to the Merchant
We provide a number of options for providing feedback.
If a redirect URL is provided we send back details regarding the transactions in a query string including.
Name | Details |
---|---|
TransactionId | We provide the transaction Id from our system for later reference using our API |
ConsumerId | The customer Id of the customer. We create this as part of the transaction process. |
Status | This is a text status from our system. |
CustomerOrderReferenceNo | This is the reference number you provide for tracking. |
Customer Processes Payment through HPP
The hosted payment page has a number of option and configurations associated with it. However the general process remains similar.
Display Order Details
Link Bank account
Process Payment
Finish / Redirect
If you have Push Notifications turned on we are able to send details to a webhook as a JSON object.
See Below for examples of the flows.
Plaid Flow
Visual | Notes |
---|---|
This is the initial Page displayed | |
Plaid Initialization | |
This is after an account is linked through plaid | |
After selecting Pay | |
What is displayed when a payment is complete |
Instant Link Flow
Visual | Notes |
---|---|
This plaid flow will be all that the customer sees. They will not see the invoice page. |
Non Plaid Flow
Visual | Notes |
---|---|
The initial page displayed | |
Linking a new Routing number and account number | |
Linked account and account selection |
Hosted Page Request
The hosted page request object is made up of several smaller objects each is listed below with details.
Business Object
Parameter Name | Type | Required | Notes |
---|---|---|---|
MID | String | Yes | 6 Digit Merchant Number |
Name | String (Max 256) | Yes | |
Address | String (Max 256) | No | |
PhoneNumber | String (Max 10) | No | |
CSS_URL | String (Max 256) | No | The URL where Override CSS is located. This allows you to control how the page looks. |
LogoURL | String (Max 256) | No | An optional Logo to be placed on the page. |
Customer Object
Parameter Name | Type | Required | Notes |
---|---|---|---|
Name | String (Max 50) | Yes | |
MID | String | No | Merchant Number. If one is not provided the Business MID is used. |
Address1 | String (Max 50) | Yes | |
Address2 | String (Max 50) | No | |
City | String (Max 50) | No | |
State | String (Max 2) | No | Must be a Valid US State Abbreviation |
Zip | String (Max 10) | No | |
Phone | String (Max 10) | Depends | Either Phone, Or Mobile Phone is Required |
MobilePhone | String (Max 10) | Depends | Either Phone, Or Mobile Phone is Required |
String (Max 50) | |||
SSN | String | No | Customer Social Security Number should be either the full 9 digits or the last 4 digits. |
DOB | String | No | |
ReferenceNo | String (Max 256) | Yes | Your Reference number for this customer. If passed in on Subsequent requests The same user data and linked accounts will display on the HPP portal. |
Order Object
Parameter Name | Type | Required | Notes |
---|---|---|---|
CustomerOrderReferenceNo | String (Max 40) | Yes | |
CustomerOrderType | String (Max 100) | Yes | |
SubTotal | decimal (>=0) | No | |
Tax | decimal (>=0) | No | |
TaxPercent | decimal (>=0) | No | |
DeliveryFee | decimal (>=0) | No | |
Total | decimal (>0) | Yes | |
ReturnUrl | String (Max 2083) | No | This will be the URL used to return to after the payment is complete |
Order Items Array
Order items are a way to add an itemized list of charges. At least one item is required.
Parameter Name | Type | Required | Notes |
---|---|---|---|
Name | String (Max 256) | Yes | |
Description | String (Max 256) | Yes | |
Quantity | Int (>0) | Yes | |
Price | decimal (>0) | Yes |
Discount Items Array
Discount Items provide a way to list any discounts provided. These are not required but if they are provided the below parameters are required.
Parameter Name | Type | Required | Notes |
---|---|---|---|
Name | String (Max 256) | Yes | |
Description | String (Max 256) | Yes | |
Code | string (Max 50) | No | |
Price | decimal (>0) | Yes |