Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 205 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Clearent Dev Center - Prod

Getting Started

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Merchant Onboarding

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Payment Processing Solutions

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Automated Merchant Onboarding

Automated Merchant Onboarding solution offers a lightweight and efficient way of adding new merchants while ensuring good user experience. With streamlined onboarding and automated payment processing, businesses can quickly and efficiently integrate new merchants. This solution eliminates the need for complex development or manual paperwork, ensuring a hassle-free onboarding process.

Note: Automated Merchant Onboarding was previously known as Launch for Integrator (L4I). You might still see references to L4I in some systems or materials.

For more information on the Automated Merchant Onboarding solution, refer to the following articles:

  • Prerequisites

  • Working with Automated Merchant Onboarding

  • Merchant Onboarding Status Webhooks

  • Configuring Automated Merchant Onboarding

Prerequisites

To begin with Automated Merchant Onboarding, you must complete an account setup and integration with the system. This includes:

  1. Gaining access to the test environment.

  2. Configuring specific settings with the help of a support team.

  3. Providing key URLs to ensure smooth communication and updates throughout the process.

Welcome

Welcome to our Developer Center. Explore our products, guides, resources, and references for integrating payments with us.


Our Solutions

Explore our suite of cutting-edge solutions designed to help you integrate, grow, and scale your business with ease. Whether you are a software provider or a merchant, our solutions empower you to accept and manage payments seamlessly while maintaining compliance and security.


Our Layered Approach to Security

Securing your business and customer data is our top priority. Our multi-layered security approach protects transactions from evolving threats while ensuring compliance with industry standards.

PCI Compliance

Our solutions are built to support seamless PCI compliance, protecting cardholder data across online, in-store, and mobile transactions. We help businesses meet regulatory requirements effortlessly while maintaining the highest security standards.

Tokenization

Our tokenization technology enhances security by replacing sensitive cardholder data with unique, non-sensitive tokens. This approach significantly reduces the risk of data breaches and unauthorized exposure while also simplifying compliance with industry security standards.

Encryption

We secure payment data with advanced encryption methods, ensuring protection from the moment a transaction begins to its final storage. Our end-to-end encryption safeguards sensitive information across all payment channels. This includes PCI-Validated Point-to-Point Encryption (P2PE), which creates a secure cryptographic tunnel from the point of interaction to our decryption environment. This approach reduces PCI DSS scope, lowers the risk of data breaches, and provides a high level of independently verified security.

Integration Process

Integrating with our platform is a structured, phased journey designed to ensure a seamless experience from planning to production launch. The process is divided into four key phases, each focused on guiding you through specific integration aspects with the support of our dedicated teams.

Integration Journey

By following this structured integration process, you benefit from expert guidance, thorough testing, and comprehensive support at every step. This approach minimizes risks and streamlines your transition, allowing you to quickly go live and start confidently onboarding merchants and processing payments.

Phase 1: Discovery

The Discovery phase is about laying the foundation for a successful integration by understanding your business needs and defining a tailored plan.

  • Requirements Gathering Our Solutions Engineering (SE) team collaborates closely with you to gather critical details about your business, including its size, type, and unique payment processing needs. This consultation helps us recommend the best-suited set of integrated solutions to meet your specific requirements.

  • Payment Processing Design (PPD) Once the scope of the integration project is agreed upon, the SE team will deliver a comprehensive Payment Processing Design (PPD) document. This document outlines your integration profile, covering business details, technology requirements, existing challenges, and overall project goals. Reviewing the PPD serves as a critical checkpoint before moving forward, minimizing risks and ensuring alignment.

Phase 2: Pre-Integration

During the Pre-Integration phase, we set up the necessary tools and complete essential checks to prepare you for the integration.

  • Background Check and Underwriting We conduct a background check and underwriting review to assess your eligibility and compliance. This involves submitting required documents such as a W-9 form and either a voided check or a bank letter (DDA).

  • Project Initiation A dedicated Project Manager is assigned to guide you through the process, acting as your primary point of contact and connecting you with subject-matter experts.

  • Test Kit Setup We provide a Sandbox Environment along with any necessary test equipment (e.g., terminals) and create certification test scripts for you. Our team supports your development and testing efforts, answering any questions throughout this phase.

Phase 3: Integration

The Integration phase focuses on development, testing, and obtaining certification for your payment solution.

  • Integration Support Our integration support team offers hands-on assistance throughout your testing and certification journey. They work closely with you to resolve issues and ensure your integration is on track for a smooth transition to production.

  • Certification Testing Before moving to production, your integration must undergo certification testing. This involves the following steps:

    • Preparation: We provide guidance, documentation, and knowledge base resources to help you understand the certification requirements.

    • Self-Testing: You build your integration and conduct self-testing in the Sandbox environment. You perform various test transactions (e.g., successful payments, authorization declines, refunds, etc.) and document details using Certification Guide.

    • Certification Validation: Our team reviews your self-test results and validates the final set of test transactions with you on a shared Teams call. Upon successful validation, you will receive a Certification Letter, granting you access to production credentials and enabling your application to onboard merchants and process payments in the production environment.

Phase 4 - Launch

The final phase is the transition to production. Once your integration is certified and code-complete, you can smoothly migrate from the Sandbox environment to our live production environment. This step enables you to deploy your integration securely and begin processing real-world payments, ensuring reliability and compliance from day one.

JavaScript SDK

JavaScript SDK solution allows you to integrate payments into your website seamlessly. The payment frame ensures adherence to . The payment frame is responsive, allowing you to style content using the host page.

For more information on JavaScript SDK solution, refer to the following articles:

PCI Security Standard Council - Best Practices for Securing E-commerce
Prerequisites
Working with JavaScript SDK
Card Validations
Configuring with JavaScript SDK

Product Guides

Learn about our products, features and integration capabilities.

Learn More

Integration Guides

Review resources to get started building your integration.

Learn More

API References

Explore APIs to integrate seamlessly into our platforms.

Learn More

Partner Solutions

Build, scale, and optimize your portfolio with flexible integrations and powerful tools. Easily onboard merchants, process transactions, and access detailed reporting to drive success.

Learn More

Merchant Solutions

Manage and grow your business with seamless payment acceptance, transaction tracking, reporting, and dedicated support—everything you need to stay in control.

Learn More

Payment Solutions

Secure, scalable, and seamless payment processing capabilities. Our reliable infrastructure ensures security, compliance, and timely funding.

Learn More

Cover
Cover
Cover

Creating a Merchant Profile

The merchant onboarding process through the API begins with creating a merchant profile. This step involves two key actions:

1

Request a Merchant Identifier (MID)

Xplor Pay assigns a unique 16-digit Merchant Identifier (MID) to each merchant. The MID tracks transactions and ensures accurate processing throughout the application lifecycle. It acts as a unique identifier for individual merchants or portfolios.

2

Create a Merchant Application

Xplor Pay generates the merchant application and securely links all essential details to the MID. It uses the POST method to allow the submission of essential data necessary to establish a merchant profile. This ensures that the merchant’s account is set up effectively to manage credit card transactions and related services.

POST https - /api/BoardingManagement/v1.0/Applications/Create

{
  "hierarchyNodeKey": "1234567800000001",
  "dbaName": "Jane's Sandwiches"
}

For a detailed breakdown of the request and response fields and their descriptions, refer to the reference documentation of Create Merchant Application endpoint.

Working with Automated Merchant Onboarding

Working with Automated Merchant Onboarding involves:

  • Generating a Merchant Application

  • Completing the Application

  • Modifying Default Merchant Pricing

Successful Transaction Response

The following sample code shows a successful transaction response for a basic sale:

{
   "code":"200",
   "status":"success",
   "exchange-id":"ID-CLADEVGSOPS02-cgw01-58790-1447188033740-0-1146",
   "links":[
      {
         "rel":"transaction",
         "href":"/rest/v2/transactions?id=1107313",
         "id":"1107313"
      }
           ],
   "payload":{
      "transaction":{
         "amount":"3.33",
         "id":"1107313",
         "type":"SALE",
         "result":"APPROVED",
         "card":"XXXXXXXXXXXX1111",
         "csc":"999",
         "authorization-code":"TAS425",
         "batch-string-id":"165",
         "display-message":"Transaction approved",
         "result-code":"000",
         "exp-date":"1020"
                      },
   "payloadType":"transaction"
             },
   "signature":"30
   }

Modifying Default Merchant Pricing

Automated Merchant Onboarding offers flexible pricing options, enabling software partners to modify predefined pricing structures to match their business needs and sales strategies. Instead of using a static pricing model, software partners can retrieve existing pricing templates, modify fees, and apply customized pricing plans at the merchant level.

For more information on modifying default merchant pricing, refer to the following articles:

  • Retrieving Existing Pricing Templates

  • Modify Pricing Fees and Completing Merchant Application Record

Card Expiration Date Validation

The payment transaction requires expiration date unless you store or provide card tokens to the cardholders.

Credit card expiration date is validated by:

  • Using expiration date field values, excluding non-numeric characters.

  • Entering the values in four-digits format: two-digit month and two-digit year (MMYY).

Tip: The cardholder should enter two-digit year (YY) that is greater than or equal to the current year and two-digit month (MM) that is greater than or equal to the current month.

iOS Framework Pre-requisites

Before integrating the iOS framework, ensure the following requirements are met:

  • IDTech.xcframework (version 1.1.166.019)

  • IDTech.bundle (responsible for translating error codes to messages)

  • CocoaLumberJack xcframework

  • Firmware VP3300 Bluetooth NEO v1.01.206

Reading the card data

To read the card data on the VP3300 card reader when you request a payment through your iOS app on a phone or tablet:

  1. Press the power button to turn on the card reader.

The Bluetooth settings will turn on and pair automatically with your iOS device. For more information, see Pairing the card reader with an iOS device.

  1. Insert the card into the card slot of the reader.

Insert the chip side first into the card slot of the reader.

  1. Insert the card and wait until the middle LED on the back of the card reader flashes green for two seconds.

Card Validations

For more information, see Card Validations.

Completing the Merchant Application

Xplor Pay collects and validates all the required information to process transactions for the merchant account. This includes the following steps:

  • Gathering merchant demographics

  • Configuring pricing

  • Setting up and ordering equipment

These steps can be completed in any order, but all must be finalized before the application is signed.

Submitting the Application

Once your application is signed, it's time to submit it for processing. By calling the ‘Submit Application’, a merchant can finalize the application and send it to Xplor Pay. At this stage, your merchant application is directed to one of our internal teams who will take care of any necessary setup, such as:

  • Underwriting: Xplor Pay reviews the merchant application to assess compliance and manage risk.

  • Equipment Activation: Xplor Pay prepares the configured equipment, ensuring it’s ready for immediate use.

This step transitions the merchant from onboarding to operational readiness.

Once the necessary evaluations are complete, the merchant is fully onboarded. Xplor Pay ensures a smooth transition, enabling merchants to start processing payments without delays.

For a detailed breakdown of the request and response fields and their descriptions, refer to the reference documentation of Submit Application endpoint.

Prerequisites

Before you start using JavaScript SDK solution, ensure you meet the following prerequisites:

  • Use HTTPS for your website.

  • Host the JavaScript SDK page on a web server.

Note: JavaScript SDK does not function when you load the hosting page using File URI scheme.

  • When using the VP8300 USB Card Reader, plug it into a USB port that supports USB 2.0 or later.

  • Do not publish your public Key outside of your code.

  • See the JavaScript SDK - Browser Support for more information.

Card CSC/CVC Validation

By default, payment transactions require security codes (CSC, CID, CVC, CVV, CVV2).

Credit card security codes are validated by:

  • Using CSC/CVC field values, excluding non-numeric characters.

Note:

  • Following credit cards include three-digit security code:

    • Visa

    • MasterCard

    • Discover

    • Diner’s Club

    • JCB

  • Following credit card includes four-digit security code:

    • American Express

Browser Support

JavaScript SDK solution only work with latest versions of:

  • Chrome

  • Firefox

  • Edge

  • Safari

Browser Support

Hosted Payments solution only work with latest versions of:

  • Chrome

  • Firefox

  • Edge

  • Safari

Our Products

Explore our suite of products designed to meet diverse business needs, from seamless onboarding to powerful payment processing solutions.


Merchant Onboarding

Easily onboard merchants with flexible options.


Payment Processing

Support various business models and payment methods, including card-present, card-not-present, and ACH transactions.


Financial Management

Optimize business finances with tools for transparency, control, and efficiency.


Reporting & Maintenance

Gain data insights and manage issues efficiently.


Partner & Merchant Solutions

Empower partners and merchants with tools to streamline management and track performance.


Security

Our multi-layered security approach helps businesses maintain trust and protect sensitive information at every stage of the payment process.


Configuring Payment Page with an Optional Billing Address and Headline Text

To configure payment page with an optional billing address and headline text:

1

Copy the following example code.

<script>
        Clearent.setProperty("heading-text", "Complete payment details below");
        Clearent.setProperty("show-billing-address", true);
        Clearent.payButton({"amount": "64.50"});
</script>
2

Paste it into your web page.

The following payment popup with an amount field will be displayed to accept payments on your website.

Working with Merchant Onboarding API

This document outlines the steps for integrating merchant onboarding. The following image and step-by-step guides provide a detailed process for integration.

For more information on each integration step, refer to the articles below:

  • Creating a Merchant Profile

  • Completing the Merchant Application

  • Submitting the Signature

  • Submitting the Application

ID TECH

ID TECH provides versatile and secure payment readers designed for businesses that require reliable, multi-interface transaction solutions. Below is an overview of two ID TECH models: VP8300 and VP3300.

ID TECH VP8300 READER

The ID TECH VP8300 is a secure, all-in-one countertop card reader designed for retail, hospitality, and other merchant environments.

Features
Integration Type
Communication Options

Additional Resources:


ID TECH VP3300 READER

The ID TECH VP3300 is a compact, versatile payment reader designed to accept multiple payment methods, including magnetic stripe (MagStripe), EMV chip cards, and NFC/contactless transactions such as Apple Pay and Google Pay.

Features
Integration Type
Communication Options

Additional Resources:

Retrieving Existing Pricing Templates

To modify merchant pricing, you must first retrieve the available pricing templates from the Automated Merchant Onboarding system. These templates define different pricing structures, which can be assigned to merchants based on their business model and service requirements.

The API () enables integrators to fetch a list of available pricing templates associated with a merchant, which can be used as a base for further modifications.

This includes the following steps:

1

Fetch Available Pricing Templates

To retrieve the pricing templates for a specific merchant, send a GET request to the . This will return a list of all pricing templates that are currently available for the merchant.

  • API Endpoint: GET /api/pricing/v2/PricingPlan/{merchantNumber}/templates

  • Request Parameter: merchantNumber - It identifies the merchant whose pricing templates need to be retrieved.

2

Understand the API Response

A successful response provides a list of available pricing templates, allowing integrators to select the most suitable plan for each merchant.

Adding Hierarchy & Compensation Details

Hierarchy and Compensation Details ensures that the merchant is correctly classified within the organization and compensation preferences are set.

1

Enter DBA Name

  • In the DBA (Doing Business As) Name field, enter the merchant’s business name.

Note: Ensure that the name follows the required format and does not contain invalid characters.

2

Select Service Organization/Hierarchy

  • Click inside the Choose a Service Organization/Hierarchy field.

  • Use the search icon to find and select the appropriate service organization.

3

Specify Merchant Type

  • Check the box if the merchant belongs to a chain.

  • Select whether the business operates as Brick & Mortar or E-commerce.

4

Declare Product Sales Information

  • Indicate if the business sells CBD products or other goods associated with CBD program by selecting one of the available options.

  • If the business does not sell CBD products, select No.

5

Set Compensation Preferences

  • Choose how you would like to be compensated upon the completion of the onboarding process:

    • All Residual: Receive ongoing residual payments.

    • Signing Bonus with Residual: Get a one-time bonus along with residuals.

6

Enter Additional Merchant Identifiers (Optional)

  • If applicable, enter a Referral Partner name.

  • To associate this merchant with an external system, enter:

    • SFOpportunityId (Salesforce Opportunity ID)

    • ExternalCustomerId (Customer ID from another system)

Merchant Onboarding via Partner Portal

The Partner Portal simplifies merchant onboarding with a structured, step-by-step approach, ensuring accuracy, compliance, and efficiency. Below is a breakdown of the Merchant Onboarding Process, guiding partners from application submission to final approval.

The following articles detail the steps for successfully onboarding merchants through the Partner Portal:

Hosted Payments

Try our site to test hosted payments integration with your website.

Integrate the hosted payments solution into your website to securely accept online payments. Copy and paste a few lines of code to add customizable payment options to your existing site.

Integrating the hosted payments solution, you can:

  • Customize payment pages, forms, and buttons.

  • Style payment pages with custom colors, text, brand logos, images, and checkout options.

  • Collect information such as invoice or order numbers for online payment reconciliation.

The following articles show you how to integrate hosted payments into your website:

Prerequisites

Before you start using , ensure you meet the following prerequisites.

Required Information

To begin the onboarding process via API, merchants need two key elements:

  • Secret Access Key: A unique key provided by Xplor Pay to securely authenticate API requests.

  • Unique Merchant Identifier (MID): The ID associated with the merchant application, unique for each merchant and environment.

Available Environments

Below are two environments that support merchant onboarding:

  • Sandbox: A secure testing environment for development and integration before going live.

  • Production: The live environment for processing real-world transactions once the merchant has successfully completed the onboarding process.

For more information, refer to the following article:

Key Features

Onboarding API empowers merchants with programmatic control over the entire onboarding journey. Its key features include:

  • Secure Access: All API requests are authenticated using the Secret Access Key and MID, ensuring robust security throughout the onboarding process.

  • Multiple Endpoints: Dedicated endpoints are available for each stage of the onboarding process, enabling precise control over the data provided and allowing merchants to tailor their onboarding experience to specific needs.

Failed Transaction Response

The following example is failed transaction response:

Adding the Payment Form

Follow the below steps to add the payment form into your website using JavaScript SDK solution:

1

Add the div provided to you into your code to contain the payment form.

2

Add the script tag into the JavaScript SDK library.

3

Add the Global Callback Handlers into your code to receive the success or error messages from the JavaScript SDK. You can also add the Promises to receive the success or error messages alternate to avoid global callback handlers.

4

Call the init method using the baseUrl and pk provided to you for your sandbox.

After into your website, the cardholders can enter the payment information using the form.

Formatting the Payment Form

JavaScript SDK payment frame allows you to format the content using the style attributes when you call the ClearentSDK.init() method.

The following code sample generates a form where the input fields display blue text by default, and the text changes to purple when the field is selected for input:

Example code:

Tip: Access the element classes, IDs, and structure from the browser’s Developer toolbar to build any override styles for your payment page.

The following error will be displayed when you set an external resource or data/blob content in the style attributes during formatting the content.

iOS Framework

The iOS framework uses the IDTech iOS framework to read credit card data with the mobile card reader.

You can continue to use other if your requirements don’t meet with the recommended workflow.

The following articles explain how to integrate the iOS framework into your app:

Unauthorized Request Response

The following example is an unauthorized request response for invalid, disabled, or expired key is used during payment process. Also, if the payment transaction was not attempted and no transaction data is included in the error response.

Prerequisites

Before you integrate hosted payments, make sure you meet the following prerequisites:

  • Use HTTPS for your website.

  • Do not publish the public key outside of your code.

  • Provide the domain that sends transaction requests in the production environment using our portal.

  • See the for more information.

The hosted button works only for registered websites that accept online payments.

Adding Equipment

The Equipment section allows users to order and manage the necessary equipment for payment processing. Merchants can request equipment, track existing orders, and update their selections as needed. This step ensures that the merchant has the required hardware to support their payment transactions.

1

Navigating to the Equipment Page

  • After completing the Banking Information step, you will be directed to the Equipment page.

  • The page displays any open equipment orders associated with your account.

  • If you need to add new equipment, click the "Add Equipment" button located on the right side of the screen.

2

Adding Equipment

Upon clicking "Add Equipment", you will be directed to the Add Equipment form.

  • Selecting Equipment:

    • In the "Equipment Type" field, click on the search bar and select the required equipment type from the available options.

    • Enter the Quantity of the selected equipment in the provided dropdown field.

    • Click "Next" to proceed.

  • Reviewing Equipment Request:

    • Verify that the selected equipment type and quantity are correct.

    • If changes are needed, click the "Back" button to return to the previous screen.

    • Once confirmed, click "Submit" to finalize the equipment request.

3

Managing Equipment Orders

  • After submitting your request, you will be redirected to the Equipment page.

  • The newly requested equipment will now appear in the list of open equipment orders.

  • The Tracking column will display tracking information once the equipment is shipped.

  • If you need to modify an existing equipment order, navigate to the "Update Existing Equipment" tab.

Working with JavaScript SDK

Working with JavaScript SDK involves:

Successful Token Request Response

The following example is successful token request response:

Merchant Onboarding Status Webhooks

The Automated Merchant Onboarding solution allows software partners to track their merchants' application progress using Application Status webhooks. By subscribing to these webhooks, integrators receive updates on any changes to a merchant’s application status. This eliminates the need for manual follow-ups and provides a seamless, automated tracking system.

For more information on merchant onboarding status webhooks, refer to the following document:

Card Validations

We implement the following basic client-side validations with the best security practices on the Xplor Pay servers to improve user experience and reduce errors. These validations prevent attempting the use of your website as a validator for stolen credit cards:

Integrating the iOS framework into your app

To integrate the iOS framework into your app:

1

Install the latest version of .

2

Add the iOS framework line to your cartfile:

3

Run the following command in the root folder of your project:

It imports a copy of the iOS framework and builds in the local folder Carthage/Build path.

4

Move the iOS framework from the Carthage/Build folder to the Embedded Binaries section in the General settings tab of your iOS app’s target.

5

Click the + icon.

6

Select New Copy Files Phase to copy debug symbols for debugging and crash reporting on iOS app.

7

Click the Destination menu.

8

Select Products Directory from the dropdown options.

9

Select the corresponding dSYM file from the iOS framework folder and upload the dSYM file.

Merchant Onboarding via API

is designed to simplify and streamline the onboarding process for new merchants seeking credit card processing services. It is a RESTful API that utilizes secure HTTPS communication, ensuring reliable and secure data exchange for payment processing.

For more information on the Merchant Onboarding API solution, refer to the following articles:

Optional settings

The following settings are optional and won’t affect your iOS app:

  • Set the Allow Non-modular Includes in Framework Modules setting to Yes for your Objective-C and Swift iOS app.

  • Add the -Xcc -Wno-error=non-modular-include-in-framework-module to the Other Swift Flags setting for your Swift iOS app:

VP3300 Mobile Card Reader

The Mobile EMV SDK integration supports the IDTech mobile card reader, which offers:

  • Bluetooth connectivity

  • Audio jack connectivity

  • P2PE technology

  • EMV

Upgrading the Mobile EMV SDK integration allows you to configure the brand logo on the mobile card reader.

Submitting Signature

The Signature Submission step is a crucial part of the merchant onboarding process in the Partner Portal. This step ensures that all necessary contacts and authorized signers are recorded for compliance and verification purposes.

1

Accessing the Signature Submission Page

  • Navigate to the Partner Portal.

  • Select Signatures from the top navigation menu.

  • The Signature Submission page will be displayed, allowing you to add a new contact.

2

Adding a New Contact

To add a new contact, follow these steps:

  • Enter Personal Details:

    • First Name

    • Last Name

    • Date of Birth

    • Social Security Number (SSN) (if applicable)

  • Select Contact Type:

    • Signer (Must be an individual with control of the business)

    • Owner

    • General Contact

  • Provide Contact Information:

    • Email Address

    • Phone Number

    • Fax (optional)

  • Enter Address Details:

    • Home Address

    • City

    • State

    • Zip Code

    • Country

  • Select Representation for Contact:

    • Compass User

    • Primary Contact

  • Additional Information:

    • Title

    • Country of Citizenship

3

Saving Contact Information

Once all required fields are completed:

  • Review the entered information for accuracy.

  • Click Save & Add Contact to submit the details.

Charging the card reader

To charge the VP3300 card reader battery:

  1. Connect the standard micro-USB cable to the card reader.

  2. Insert the adapter into a power socket.

The following table explains the battery charging statuses of the VP3300 card reader:

Indication
Status

Card Number Validation

Sometimes, cardholders might enter a cancelled, non-issued or invalid card number in the . This payment information is validated on the backend when you submit the sale request.

Credit card numbers are validated by:

  • Getting the card token.

  • Using card number field values, excluding non-numeric characters.

  • Passing the remaining digits through the Luhn algorithm.

Note: Passing the remaining digits of the credit card through the Luhn algorithm does not prove the validation but helps prevent typing errors.

Automated Merchant Onboarding

A prebuilt, white-label solution for quick deployment.

Learn More

Merchant Onboarding via Partner Portal

A manual submission option for a simplified onboarding process.

Learn More

Merchant Onboarding via API

Direct integration for a fully customizable onboarding experience.

Learn More

Online

Enable online transactions with tools such as a JavaScript SDK, a customizable Hosted Payment Page, and Text-to-Pay for SMS-based payments.

Learn More

In-Person

Accept face-to-face payments while simplifying compliance requirements through Cloud EMV or JavaScript SDK (USB).

Learn More

On the Go

Use mobile SDKs to embed secure payment processing in iOS and Android applications.

Learn More

Recurring / Subscription

Set up and manage recurring payment schedules across various payment methods.

Learn More

Merchant Pricing

Clear fees and cost structures for transaction processing.

Learn More

Merchant Billing & Funding

Reliable settlements with flexible payout schedules to support cash flow.

Learn More

Financial Reporting

Access financial statements and tax reports via email, portal, or API. Retrieve annual tax documents seamlessly.

Learn More

Dispute Management

Reduce chargeback impact with tools that provide visibility, insights, and resolution support.

Learn More

Reporting

Retrieve reports on transactions, settlements, chargebacks, and more to support informed decision-making.

Learn More

Support Ticketing

Manage support requests, track progress, and maintain clear communication.

Learn More

Partner Portal

Manage merchant portfolios, access data insights, track performance, and use intuitive dashboards with detailed reporting.

Learn More

Merchant Portal

Oversee operations, monitor payments, view transactions, resolve disputes, download statements and tax forms, and track funding.

Learn More

PCI Compliance

Meet PCI DSS requirements to reduce fraud risks and safeguard businesses and customers from data breaches.

Learn More

Tokenization

Replace sensitive card and bank data with tokens to secure stored information and reduce unauthorized access risks.

Learn More

Encryption

Protect card data in transit with Point-to-Point Encryption (P2PE) for secure processing.

Learn More

{
   "code":"402",
   "status":"fail",
   "exchange-id":"ID-CLADEVGSOPS02-cgw01-58790-1447188033740-0-1169",
   "links":[
      {
         "rel":"transaction",
         "href":"/rest/v2/transactions?id=1107315",
         "id":"1107315"
      }
           ],
   "payload":{
      "transaction":{
         "amount":"3.33",
         "id":"1107315",
         "type":"SALE",
         "result":"INVALID_REQUEST",
         "card":"XXXXXXXXXXXX1111",
         "csc":"666",
         "display-message":"Declined by Issuer - Invalid card security code",
         "result-code":"018",
         "exp-date":"1020"
                    },
      "error":{
         "error-message":"INVALID_REQUESTSYSTEM_ERROR_OTHER HPP Request",
         "result-code":"073"
              },
      "payloadType":"error"
             },
   "signature":"306402b09b373a84edbb935ed11a6849a6711ba4c16abe1338dd6f"
}
{
   "code":"401",
   "status":"fail",
   "payload":{
      "error":{
         "error-message":"UNAUTHORIZED",
         "result-code":"042",
         "time-stamp":"Tue Nov 10 21:24:04 UTC 2015"
              },
      "payloadType":"error"
             }
}
{
   "code":"200",
   "status":"success",
   "exchange-id":"ID-CLADEVGSOPS02-cvl01-59475-1447185739748-0-163",
   "payload":{
      "tokenResponse":{
         "created":"2015-11-10T21:03:20.518Z",
         "token-id":"1145845280641111111",
         "times-used":"0",
         "status":"Active",
         "last-four-digits":"1111",
         "card-type":"VISA",
         "description":"Travel Visa",
         "avs-address":"123 Maple Lane",
         "avs-zip":"55105",
         "avs-result-code":"Y"
                      },
      "payloadType":"token"
             }
}

When the bottom LED (closest to the bottom edge of the card reader, furthest from the ID TECH logo) flashes solid red

The battery is connected to power and charging

When the bottom LED (closest to the bottom edge of the card reader, furthest from the ID TECH logo) flashes amber

The battery is low and needs to be charged

When the bottom LED (closest to the bottom edge of the card reader, furthest from the ID TECH logo) stops flashing

The battery is full

[
    {
      "pricingPlanTemplateID": 101,
      "hierarchyNodeKey": "987654321",
      "templateName": "Standard Pricing Plan",
      "pricingTypeCode": "STANDARD",
      "isAdvancedPricing": false,
      "isDefaultTemplate": true,
      "isDisabled": false,
      "templateFees": [
        {
          "clearentPricingFeeID": 2001,
          "clearentPricingFeeDescription": "Transaction Fee",
          "isEditable": true,
          "isRequired": true,
          "isVisible": true,
          "isFee": true,
          "isRate": true,
          "isPayInMonthRequired1": false,
          "isPayInMonthRequired2": false,
          "defaultRate": 2.5,
          "minRate": 2.0,
          "maxRate": 3.5,
          "defaultFee": 0.30,
          "minFee": 0.25,
          "maxFee": 0.50,
          "rateLabel": "Percentage Rate",
          "feeLabel": "Fixed Fee"
        }
      ],
      "templateSettings": [
        {
          "pricingPlanSettingID": 5001,
          "settingName": "Daily Settlement",
          "description": "Enable daily settlement for transactions.",
          "isVisible": true,
          "isEditable": true,
          "defaultValue": true
        }
      ],
      "attributes": [
        {
          "name": "Region",
          "value": "USA",
          "type": "String"
        },
        {
          "name": "Currency",
          "value": "USD",
          "type": "String"
        }
      ]
    }
]
Pricing Plan API
Pricing Plan API
Starting New Application
Adding Hierarchy and Compensation Details
Entering Business Information
Entering Profile Details
Conducting the Site Survey
Configuring Pricing Details
Adding Banking Information
Adding Equipment
Submitting Signature
Reviewing & Submitting Application
Viewing Application Summary
demo
Prerequisites
Integrating the Hosted Payments
Transaction Responses
Response Validations
Card Validations
Merchant Onboarding API
Sandbox & Production Environments
<div id="payment-form"></div>
<script src="https://gateway-sb.clearent.net/js-sdk/js/clearent-host.js"></script> code
<script type="text/javascript">
    // When you get a successful token response and
    // use this to make a sale/auth on your backend
    function ClearentTokenSuccess(raw, json) {
        console.log("ClearentTokenSuccess");
        console.log(raw);
        console.log(json);
        // now you can send the token to your server
        // to complete the transaction via mobile-gateway
    }
    function ClearentTokenError(raw, json) {
        console.log("ClearentTokenError");
        console.log(raw);
        console.log(json);
    }
</script>java
<script type="text/javascript">
    ClearentSDK.init({
        "baseUrl": "https://gateway-sb.clearent.net",
        "pk": "YOUR PUBLIC KEY GOES HERE"
    });
</script>
Adding the Payment Form
VP3300
IDTech frameworks
iOS Framework Pre-requisites
Processing payments in your iOS app
Optional settings
Starting a Bluetooth connection
Pairing the card reader with an iOS device
Integrating the iOS framework into your app
Setting up the iOS framework in your Objective-C app
Starting a transaction in your iOS app
Receiving feedback messages
Merchant Onboarding
Browser Support
Pay Now
Adding the Payment Form
Formatting the Payment Form
Processing the Payment
Using the Apple Pay for Web
Using the Google Pay
Using IDTech VP8300
Webhooks
Card Number Validation
Card Expiration Date Validation
Card CSC/CVC Validation
github "Clearent/iOS-framework"
Carthage update
Carthage
Merchant Onboarding API
Prerequisites
Understanding Integration
Working with Merchant Onboarding API
VP3300
Payment Form
  • Accepts Contactless, Chip, Magstripe

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Javascript SDK

  • Quest™ Mobile Payments API

  • Countertop

  • USB

  • Accepts EMV Chip, Magstripe, Contactless including Apple Pay and Google Pay

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Mobile SDK

  • Quest™ Mobile Payments API

  • Audio jack

  • Bluetooth

Quick Reference Guide - ID TECH VP8300
Essential Technical Specification
Quick Reference Guide - ID TECH VP3300
Essential Technical Specification
<script type="text/javascript">
    ClearentSDK.init({
        "baseUrl": "https://gateway-sb.clearent.net",
        "pk": "YOUR PUBLIC KEY GOES HERE",
        "styles": ".form-control{color: blue;}.form-control:focus{color: purple;}"
    });
</script>
Example: Payment form
Example: Browser's developer toolbar
Example: Error from the browser's developer toolbar
iOS app settings
iOS app settings

Overview

Our payment processing solutions support various business models, allowing you to accept payments online, in person, on the go, or through recurring subscriptions. This section describes how to integrate with our payment solutions and start processing payments securely and efficiently.

Payment Solutions

Online

Integrate with the following online payment solutions to process transactions on your website:

  • JavaScript SDK: Embed a responsive, customizable payment module into your website.

  • Hosted Payment Page (HPP): Manage a hosted payment page and customize its fields and layout to meet your needs.

  • Transaction API: Integrate your software or terminals with the Quest Payment Gateway using a single REST-based API.

  • Paylink: Send customers a secure payment link via SMS and email to complete transactions online.

  • Virtual Terminal: Accept online payments using the Virtual Terminal—no hardware required.

In-Person

Process face-to-face transactions securely and efficiently with in-person payment solutions:

  • Cloud EMV: Embed payments into your platform without handling PCI DSS compliance or lengthy EMV certifications. Instead of integrating separately with each payment terminal, perform a single integration with cloud.

  • JavaScript SDK (USB): Use IDTech VP8300 card reader with a USB connection to accept payments. This configuration removes your payment system from PCI scope.

On the Go

Use Mobile EMV SDKs to process payments on iOS and Android platforms with seamless integration.

  • Mobile SDK (Android): Process payments on your Android app.

  • Mobile SDK (Apple): Process payments on your iOS app.

Recurring / Subscription

Set up and manage recurring payment plans across a small or large set of customers:

  • Recurring Transaction API: Use the REST-based API to leverage a card on file (token) to set up, edit, and manage recurring payment plans.

  • Virtual Terminal: Utilize Virtual Terminal to set up and manage recurring payments using various payment methods.

The following guides explain how to integrate with each of the payment processing solutions:

  • JavaScript SDK

  • Hosted Payments

  • Mobile EMV SDK

  • ACH Transaction Integration

  • Paylink

  • Virtual Terminal

  • Cloud EMV

Submitting the Signature

Merchant’s consent is collected through signature submission to complete the onboarding application. Once all necessary information has been added, a merchant can easily provide his/her signature in one of the following two ways:

Electronic Signature Submission

Merchants can digitally sign all required documents for a fast and secure process.

Process:

  • Select at least one business contact as a signer (this is typically done when entering demographic information).

  • Present the ‘Terms and Conditions’ to the user for review.

  • Provide a clear option for the user to confirm their acceptance (e.g., a clickable checkbox).

  • Send the collected information to the ‘Signatures' endpoint.

  • Complete the submission by sending the electronic signatures via ‘Signature Submission’ endpoint.

Signature Submission via Document Upload

Merchants preferring physical signatures can print, sign, and then upload the signed documents for submission.

Process:

  • Mark at least one business contact as a signer (again, likely done when providing demographic information).

  • Provide a way for users to upload a document through your site.

  • Send the uploaded document to the ‘Document Upload’ Endpoint.

  • Send the gathered information to the ‘Signatures' endpoint.

  • Complete the submission by sending the electronic signatures via ‘Signature Submission’ endpoint.

When a merchant attempts to submit the signatures, the system will validate all the entered information and return a list of any issues found. If no issues are detected, merchant can proceed to submit the signatures.

This process ensures that Xplor Pay receives proper authorization while offering flexibility in how signatures are submitted. After submission, no further changes can be made to the merchant through the Merchant Onboarding Boarding API.

{
      "signatureSourceTypeId": 1,
      "signatureSourceTypeName": "OnlineForm",
      "signatureSourceTypeDescription": "Agreement was provided online through an E-Signature system or by indicating on an approved html form."
    }

For a detailed breakdown of the request and response fields and their descriptions, refer to the reference documentation of Signature Submission API.

Configuring Merchant Pricing

The 'Merchant Pricing' API is designed to facilitate the management of pricing templates and pricing plans for each onboarding merchant. Xplor Pay offers a streamlined solution to manage these plans and help merchants streamline their pricing strategy.

  • Customizable Pricing Plans: With Xplor Pay, merchants can easily create and manage tailored pricing structures, including transaction fees, service charges, and other cost factors to fit the specific needs of each account.

  • Transparent and Competitive Rates: Pricing structures are designed to align with the merchant’s business model, ensuring clarity and offering competitive rates tailored to their needs. Using Xplor Pay's templates, merchants can configure plans that meet their operational requirements.

This endpoint utilizes both POST and PUT methods, enabling users to create a new pricing plan or update existing plans efficiently.

  • POST https - /api/pricing/v2/PricingPlan/{merchantNumber}

  • PUT https - /api/pricing/v2/PricingPlan/{merchantNumber}/{id}

{
  "pricingFees": [
    {
      "clearentPricingFeeID": 101,
      "pricingFeeDescription": "Transaction Processing Fee",
      "rate": 2.9,
      "fee": 0.30,
      "payInMonth1": 10.00,
      "payInMonth2": 10.00
    },
    {
      "clearentPricingFeeID": 102,
      "pricingFeeDescription": "Monthly Service Fee",
      "rate": 0.0,
      "fee": 25.00,
      "payInMonth1": 25.00,
      "payInMonth2": 25.00
    }
  ],
  "pricingPlanID": 5001,
  "pricingPlanTemplateID": 3002,
  "merchantNumber": "1234567890123456",
  "discountQualificationRangeID": 2,
  "signatureDebitDiscountQualificationRangeID": 3,
  "pricingTypeCode": "INTERCHANGE_PLUS",
  "isAdvancedPricing": true,
  "isEMF": true,
  "isDailySettle": true,
  "includeAssessments": true,
  "effectiveStartDateTimeUTC": "2024-03-01T00:00:00Z",
  "effectiveEndDateTimeUTC": "2025-03-01T00:00:00Z"
}

For a detailed breakdown of the request and response fields and their descriptions, refer to the reference documentation of Pricing Plan API.

Modifying Pricing Fees & Completing Merchant Application Record

Once you have selected a pricing template, you can apply and modify the pricing fees before finalizing the merchant application. Use the Create a Merchant endpoint to:

  • Assign a pricing plan to the merchant.

  • Modify the pricing fees under the selected plan.

  • Complete the merchant application process with the required pricing details.

Adjusting pricing at this stage ensures that each merchant receives a tailored pricing structure that aligns with their business requirements.

This includes the following steps:

1

Submit Merchant Pricing Details

To onboard a merchant and apply pricing fees, send a POST request with the pricing details.

  • API Endpoint:

POST /api/launchIntegratorSetup/v1.0/integrateMerchant/{hierarchyNodeKey}

  • Path Parameter: hierarchyNodeKey - It identifies the hierarchy level under which the merchant is being onboarded.

{
  "pricingPlan": {
    "pricingFees": [
      {
        "clearentPricingFeeID": 101,
        "pricingFeeDescription": "Transaction Fee",
        "rate": 2.5,
        "fee": 0.30,
        "payInMonth1": 12,
        "payInMonth2": 24
      }
    ],
    "pricingPlanID": 2001,
    "pricingPlanTemplateID": 3001,
    "pricingTypeCode": "STANDARD",
    "isAdvancedPricing": true,
    "isEMF": true,
    "isDailySettle": true,
    "includeAssessments": true
  }
}
2

Understand the API Response

A successful response confirms that the pricing plan has been applied and returns the merchant’s pricing details.

{
  "merchantNumber": "123456789",
  "status": "Active",
  "pricingPlan": {
    "pricingFees": [
      {
        "clearentPricingFeeID": 101,
        "pricingFeeDescription": "Transaction Fee",
        "rate": 2.5,
        "fee": 0.30,
        "payInMonth1": 12,
        "payInMonth2": 24
      }
    ],
    "pricingPlanID": 2001,
    "pricingPlanTemplateID": 3001,
    "pricingTypeCode": "STANDARD",
    "isAdvancedPricing": true,
    "isEMF": true,
    "isDailySettle": true,
    "includeAssessments": true
  },
  "message": "Merchant pricing plan successfully applied."
}

After the successful modification of the pricing plan, the merchant application record is updated, and the new pricing structure is applied automatically. This ensures that merchants receive the correct pricing without requiring manual intervention.

Integrating the Hosted Payments

Before you start integrating the hosted payment options, you must:

The following articles explain you how to integrate hosted payment options into your website:

  • Configuring the Pay Now Button

  • Configuring Payment Page with an Amount Field

  • Configuring Payment Page with an Optional Billing Address and Headline Text

  • Configuring Payment Page with the Save Card Option

  • Configuring the Add Payment Method Button

  • Styling Your Brand on the Payment Page

  • Configuring Apple Pay for Web

  • Configuring Hosted Payment Page Using Members

  • Configuring Hosted Payment Page Using Methods

  • Configuring Hosted Payment Page Using Functions

Starting a transaction in your iOS app

To start a transaction using Xplor Pay iOS framework:

1

Create an object that initializes the transaction.

ClearentVP3300Config *config = [[ClearentVP3300Config alloc]init];
        [config setPublicKey:publicKey];
        [config setClearentBaseUrl:baseURL];
        config.contactAutoConfiguration = false;
        config.contactlessAutoConfiguration = false;
        config.contactless = true;
        clearentVP3300 = [[Clearent_VP3300 alloc]  initWithConnectionHandling:self clearentVP3300Configuration:config];
        clearentManualEntry = [[ClearentManualEntry alloc]  init];
        [clearentManualEntry setClearentBaseUrl:baseURL];
        [clearentManualEntry setPublicKey:publicKey];

Visit Payment Gateway to test your integration with iOS framework and to go live.

2

Create an object that represents the payment request.

ClearentPayment *clearentPayment = [[ClearentPayment alloc] init];
    [clearentPayment setAmount:theAmount];
    clearentPayment.amtOther = 0;
    clearentPayment.type = 0;
    clearentPayment.timeout = 10;
    clearentPayment.tags = nil;
    clearentPayment.fallback = true;
    clearentPayment.forceOnline = false;

The setAmount field is required for certain EMV checks and must be provided.

3

Create an object that represents a Bluetooth connection.

ClearentConnection *clearentConnection = [[ClearentConnection alloc] initBluetoothWithFriendlyName:self.deviceFriendlyName];

The iOS framework connects to the card reader over Bluetooth and sends messages to the feedback delegate to start a transaction.

ClearentResponse *response = [clearentVP3300 startTransaction:clearentPayment clearentConnection:clearentConnection];
         if (response.responseType != RESPONSE_SUCCESS) 
         {
             //Notify user the transaction could not be started.
         }

The iOS framework secures the card data and calls the successTransactionToken delegate.

4

Use the POST method with the /rest/v2/mobile/transactions/sale endpoint to submit a JSON Web Token (JWT) for payment processing.

Visit Mobile Gateway Documentation for more information.

Successful Transaction Response for a Token

The following example is successful transaction response for a sale with saved card option.

{
   "code":"200",
   "status":"success",
   "exchange-id":"ID-CLADEVGSOPS02-cgw01-58790-1447188033740-0-1125",
   "links":[
      {
         "rel":"transaction",
         "href":"/rest/v2/transactions?id=1107310",
         "id":"1107310"
      },
      {
         "rel":"token",
         "href":"/rest/v2/tokens/1100845274213121111",
         "id":"1136587273219921111"
      }
           ],
   "payload":{
      "transaction":{
         "amount":"64.50",
         "id":"1107310",
         "type":"SALE",
         "result":"APPROVED",
         "billing":{
            "street":"222 Main Street",
            "city":"Springfield",
            "state":"ME",
            "zip":"55105",
            "first-name":"John",
            "last-name":"Adams"
                   },
         "card":"XXXXXXXXXXXX1111",
         "csc":"999",
         "authorization-code":"TAS403",
         "avs-result-code":"Y",
         "batch-string-id":"165",
         "display-message":"Transaction approved",
         "result-code":"000",
         "exp-date":"1019"
                    },
      "payloadType":"transaction"
             },
   "signature":"306502310087aaee89b8c706ceb98c986b4de66a5"
}

Processing payments in your iOS app

Integrating the iOS framework connects your app to the VP3300 mobile card reader using Apple’s Bluetooth implementation in the IDTech framework. The iOS framework sends messages to your app that guide customers during their interaction with the card reader in a transaction. The iOS framework secures the card data after a successful read and sends it to the server. The iOS framework packages the secured card data as an encrypted JSON Web Token (JWT) and sends it to your app through a callback function. You can then send the encrypted JSON Web Token (JWT) to the mobile gateway to process the payment.

The following articles explain how to integrate the iOS framework into your app and start accepting payments:

  • Optional settings

  • Starting a Bluetooth connection

  • Pairing the card reader with an iOS device

  • Integrating the iOS framework into your app

  • Setting up the iOS framework in your Objective-C app

  • Starting a transaction in your iOS app

  • Receiving feedback messages

Mobile EMV SDK

Integrate the Mobile EMV SDK to securely accept payments in your iOS or Android apps and deliver a seamless experience for your customers. The Mobile EMV SDK works with the Quest™ Mobile Payments API to eliminate PCI SSF scope and significantly reduce your merchants’ PCI scope with layered security. The Mobile EMV SDK integration supports audio jack and Bluetooth-enabled mobile card readers, allowing you to accept various payment types, including chip card payments.

The following articles explain how to integrate the Mobile EMV SDK with your iOS and Android apps:

  • VP3300 Mobile Card Reader

  • iOS Framework

  • Android Framework

Pairing the card reader with an iOS device

Ensure the VP3300 card reader has a fully charged battery before pairing it with an iOS phone or tablet. (For more information, see Charging the card reader.

To pair the VP3300 card reader with an iOS device:

  1. Turn on Bluetooth in the iOS device’s settings.

  2. Install your iOS app on the device.

Bluetooth Low Energy (BLE) technology seamlessly pairs the VP3300 card reader with the iOS device automatically.

The following table explains the Bluetooth settings on the VP3300 card reader:

Indication
Mode

The Bluetooth LED is off

Sleep

The Bluetooth LED flashes a steady blue light

Stand-by

The Bluetooth LED flashes a blue light every five seconds

Paired and connected

Setting up the iOS framework in your Objective-C app

To set up the iOS framework for your Objective-C app:

1

Import the iOS framework header into your code.

#import <ClearentIdtechIOSFramework/ClearentIdtechIOSFramework.h>
2

Add the Clearent_Public_IDTech_VP3300_Delegate interface to your code.

@interface ViewController : UIViewController<UIAlertViewDelegate,Clearent_Public_IDTech_VP3300_Delegate, UIActionSheetDelegate,MFMailComposeViewControllerDelegate>
3

Add the ClearentManualEntryDelegate interface as a backup if the card reader fails to read the card.

@interface ViewController : UIViewController<UIAlertViewDelegate,Clearent_Public_IDTech_VP3300_Delegate, UIActionSheetDelegate,MFMailComposeViewControllerDelegate>,ClearentManualEntryDelegate
4

Add the successTransactionToken method to get a JSON Web Token (JWT) that represents the credit card and the current transaction request.

- (void)successTransactionToken:(ClearentTransactionToken *)clearentTransactionToken;

The iOS Framework calls the successTransactionToken method when tokenization is successful after reading the card data, either by swiping or inserting the card with an EMV chip. You can submit this token to the mobile payment gateway to process the payment.

5

Add the clearentFeedback method to return messages that guide customers during their interaction with the card reader.

- (void)feedback:(ClearentFeedback *)clearentFeedback;
6

Add the deviceConnected method to check if the card reader is connected to your iOS app.

-(void) deviceConnected;
7

Add the deviceDisconnected method to check if the card reader is disconnected from your iOS app.

-(void) deviceDisconnected;
8

Add the following framework objects to interact with the card reader.

Clearent_VP3300 *clearentVP3300;
ClearentManualEntry *clearentManualEntry;

Visit the demo site to explore code samples.

Starting a Bluetooth connection

To start a connection using iOS Framework:

1

Initiate a Bluetooth search from your settings to discover the card reader and the feedback delegate receives messages from iOS framework.

ClearentConnection *connection = [[ClearentConnection alloc] initBluetoothSearch];
                                  [clearentVP3300 startConnection:connection];
2

Add the delegate to discover the card reader in your Bluetooth settings.

- (void) bluetoothDevices:(NSArray *)bluetoothDevices;

Successful Transaction Response Validation

A success message appears on your website when a transaction is completed successfully.

Add the ClearentOnSuccess function to your website to detect successful transactions and return a JSON object with the raw and signed server response.

The following sample code includes the raw and JSON-formatted response, along with the message and transaction ID for a successful transaction:

<script>
        // called after successful complete
           function ClearentOnSuccess(responseRaw,ResponseJSON)
        {
            console.log("transaction successful");
            console.log(responseRaw);
            console.log(ResponseJSON);
        // use JS short-circuiting to determine if we have a transaction id
           if(ResponseJSON.payload && ResponseJSON.payload.transaction && ResponseJSON.payload.transaction.id)
        {
           console.log("transaction id = " + ResponseJSON.payload.transaction.id);
        }
        else
        {
            console.log("transaction id not found");
        }
        }
</script>

You can validate the response before completing the transaction:

  • Using a hash signature: The hash is made up of the response object. You can validate the response parameters on your server to check whether the parameters are tampered with. You can also ensure the response is valid and the transaction ID is unique.

  • Using API: You can check whether the transaction ID in the response matches the client-side transaction ID.

Each transaction ID is unique. You cannot see the transaction ID again once you have accepted it for payment.

  • Using the Virtual Terminal: You can search for the transaction ID manually to validate the transaction details.

Transaction Responses

The Hosted Payments Page returns all transaction responses in raw strings and JSON-formatted representations. These responses include Xplor Pay's signature for verification. (For more information, see Response Validations)

The following examples are various types of transaction responses that you will receive from the Hosted Payments Page:

  • Successful Transaction Response

  • Successful Transaction Response for a Billing Address

  • Failed Transaction Response

  • Unauthorized Request Response

  • Successful Transaction Response for a Token

  • Successful Token Request Response

Devices

A range of payment terminals are available to support different business environments. Choose from countertop models, PIN pads, mobile terminals, or compact card readers. Each device supports EMV chip, magnetic stripe, and NFC contactless payments for fast and secure transactions. With end-to-end or point-to-point encryption and EMV certification, they ensure compliance and data protection.

DEJAVOO

Dejavoo Z Line

Device Appearance
Model
Description

Secure and compact PIN pad with advanced security, versatile connectivity, and a user-friendly design for seamless payments.

Countertop terminal providing secure and efficient transactions, ideal for retail, restaurants, and service industries.

Durable wireless terminal for mobile payments, suitable for retail, hospitality, and mobile services.

Compact countertop terminal with a touchscreen interface.

Dejavoo QD Line

Device Appearance
Model
Description

Android-based mobile wireless PIN pad for flexible, on-the-go payments.

Android-based countertop terminal for businesses needing a stationary POS solution.

Compact Android-based mobile PIN pad that integrates with the QD4 terminal via USB.


PAX

PAX A Series

Device Appearance
Model
Description

High-performance Android Smart PIN pad for various retail scenarios.

Countertop device that also functions as a portable indoor terminal.

Mobile touchscreen Android terminal combining an Android tablet with a powerful payment processor.


ID TECH

Device Appearance
Model
Description

Countertop payment reader supporting EMV chip, magnetic stripe, and NFC contactless payments.

Compact, versatile payment reader that accepts multiple payment methods, including Apple Pay and Google Pay.

PAX

PAX technology provides a range of advanced payment terminals designed to meet diverse business needs. Below is an overview of three notable PAX models of A Series: the A35, A80, and A920Pro.

PAX A Series

PAX A35

The PAX A35 is a high-performance, smart device tailored for various retail scenarios. Its ergonomic design and advanced features make it suitable for high-volume, fast-paced environments.

Features
Integration Type
Communication Options
  • Smart Android PIN Pad Designed for Multilane Implementations Accepts Contactless, Chip, Magstripe

  • Power Over Ethernet (POE)

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Cloud EMV

  • Semi-integration to Quest™ Gateway API

  • Ethernet

  • WiFi

Additional Resources:

  • PAX A Series Quick Reference Guide for Integrated Devices (PAX A80, PAX A920, & PAX A35)

  • Essential Technical Specification


PAX A80

The PAX A80 is a reliable countertop device that can also function as an indoor portable terminal. Its robust design and comprehensive features make it a reliable choice for businesses seeking efficiency and security.

Features
Integration Type
Communication Options
  • Smart Android Terminal Accepts Contactless, Chip, Magstripe

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Compatible with Cloud EMV

  • Ethernet

  • Wi-Fi

Additional Resources:

  • PAX A Series Quick Reference Guide for Integrated Devices (PAX A80, PAX A920, & PAX A35)

  • PAX A Series Quick Reference Guide (PAX A920 & PAX A80)

  • SwipeSimple PAX A80 Activation Guide

  • Essential Technical Specification


PAX A920Pro

The PAX A920Pro is a mobile touchscreen Android terminal that combines the features of an Android tablet with a powerful payment terminal. Its sleek and compact design makes it ideal for dynamic retail or hospitality environments.

Features
Integration Type
Communication Options
  • Smart and Wireless Android Terminal Accepts Contactless, Chip, Magstripe

  • Large HD screen

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Compatible with Cloud EMV

  • WiFi

  • Wireless

  • GPRS

  • Bluetooth

Additional Resources:

  • PAX A Series Quick Reference Guide for Integrated Devices (PAX A80, PAX A920, & PAX A35)

  • PAX A Series Quick Reference Guide (PAX A920 & PAX A80)

  • SwipeSimple PAX A920 Activation Guide

  • Essential Technical Specification

Starting New Application

The Merchant’s Onboarding begins with creating a new application in the Partner Portal. To create a new merchant application in the Partner Portal:

1

Access the Applications Page

  • Log in to the Partner Portal.

  • In the header menu, select Applications to navigate to the merchant applications page.

2

View and Filter Existing Applications

  • The Applications page displays all merchant applications with statuses such as Pending, In Progress, and Submitted.

  • Use the Search bar to find specific applications.

  • Select Filters to refine your search based on application status.

3

Start a New Application

  • Select Start New Application in the top-right corner.

  • You will be redirected to the Hierarchy page, where you can enter merchant details.

Conducting the Site Survey

The Site Survey step ensures that the merchant's physical location and business operations are verified before onboarding. This step is crucial for compliance and fraud prevention.

1

Confirm Survey Method

  • Select the checkbox to confirm if the site survey is in person (physical inspection of business location).

2

Select the Main Merchant Location

  • Choose the appropriate option for the merchant's business location:

    • Brick & Mortar – A physical storefront.

    • Tradeshow – A temporary or mobile merchant setup at events.

    • Residence – A home-based business.

    • Other – Any other type of business location.

  • If Other is selected, enter the business location details in the Other Location text field.

3

Verify Government-Issued ID

  • Select the checkbox to confirm that the merchant’s Valid government-issued ID has been reviewed and verified.

4

Verify Inventory Matches Business Operations

  • Select the checkbox Inventory matches the products/services sold to confirm that the merchant's inventory aligns with the declared business type.

5

Agree to Verification Terms

  • Read the verification statement to confirm that the site has been inspected or verified remotely.

  • Then select Yes, I agree to these terms to acknowledge the verification.

6

Save and Proceed

  • Click Save to store the site survey details.

  • Click Next to proceed to the Pricing Details page.

Completing the Application

Note: The following steps are performed by the Merchant. After receiving the application link, the Merchant completes and submits their application through the Automated Merchant Onboarding tool.

To complete a merchant application:

1

Set an Acceptance PIN

To protect sensitive merchant data, Automated Merchant Onboarding requires users to set a 4-digit security PIN when starting an application. This PIN prevents unauthorized access to in-progress applications.

If the application session is abandoned, users must enter their previously created PIN to resume the process. After entering the PIN, they can click Continue to proceed with the application.

2

Enter an Existing PIN

If a user returns to an incomplete application, they will be prompted to enter their previously configured PIN to continue from where they left off.

3

Reset an Invalid or Forgotten PIN

If the PIN entry is invalid or forgotten, users can click Forgot PIN? to reset it.

After selecting Forgot PIN? users will receive a reset link via email. Clicking the reset link invalidates the old PIN and prompts the user to create a new PIN before accessing the application.

The PIN reset email is sent to the primary email address provided in the emailAddress object within the merchantInformation array during the initial merchant creation request to the Automated Merchant Onboarding web service.

When users click the reset link, they will be redirected to the Automated Merchant Onboarding application to create a new PIN. Once set, they can continue the application from where they left off.

4

Completing the Application

Automated Merchant Onboarding ensures data integrity and security by validating all submitted information before finalizing the application. The platform performs comprehensive input validation, checking data formats like email addresses and phone numbers and verifying that inputs meet the required criteria.

These security measures help maintain accuracy, compliance, and a smooth user experience throughout the onboarding process.

5

Signing the Merchant Agreement

Each designated contact signer must provide electronic consent before signing application documents. This consent enables the use of digital signatures and electronic records, replacing traditional paper-based processes.

Once the user reviews and agrees to the terms, they can sign electronically to confirm their acceptance of the agreement.

6

Finalizing Application Terms

After providing consent, users can proceed to review and sign all required application documents. Automated Merchant Onboarding guides them through the process, ensuring all necessary steps are completed.

Once the application is finalized, users can be automatically redirected to a designated URL for a seamless transition. This feature allows businesses to guide users to a confirmation page, additional resources, or any custom destination, optimizing the onboarding journey.

Entering Profile Details

The Profile Details page captures key business metrics, sales profile, and vendor details to assess transaction behavior and business operations.

1

Enter Business Volume Information

  • Annual Volume: Enter the estimated total annual sales in USD.

  • Average Ticket: Enter the estimated average transaction amount per sale.

  • High Ticket: Enter the highest transaction amount.

2

Configure Sales Profile

  • Use the Card Present slider to indicate the percentage of transactions where the card is physically present.

  • Use the Card Not Present slider for the percentage of transactions processed remotely (such as online or phone orders).

3

Define E-Commerce Operations

  • Select Yes/No for ECOMM to indicate if the business processes e-commerce transactions.

  • Select Yes/No to indicate if the business provides products or services in the future after purchase, such as subscriptions or delayed product fulfillment.

4

Provide Vendor Details

  • Vendor Name: Enter the primary vendor supplying critical products or services.

  • Vendor Address: Enter the vendor’s address.

5

Save and Proceed

  • Click Save to store the profile details.

  • Click Next to proceed to the Site Survey section.

Configuring Payment Page with the Save Card Option

You can offer customers the option to securely save their card information for future purchases using our vault.

Note: Store the token returned from a sale request on your servers without storing sensitive card information.

To configure the save card option for the payment page:

1

Copy the following example code.

<script>
       Clearent.setProperty("show-save-card-option", true);
       Clearent.payButton({"amount": "64.50"});
</script>
2

Paste it into your web page.

The Save this card for future use option appears on the payment page. It includes a checkbox to select and store card information during a transaction.

Note: Selecting the checkbox securely saves your customer's card information without storing sensitive details.

Your customer can enter their desired text in the Card description field when saving their card information.

Note: The Card description field appears only after selecting the checkbox for the Save this card for future use option.

You can also provide the option for customers to add a payment method on your payment page, allowing them to use it for future payments. See Configuring the Add Payment Method Button for more information.

Configuring Payment Page with an Amount Field

To configure the payment page with an amount field:

1

Copy the following example code.

<script>
       Clearent.setProperty("heading-text", "Complete payment details below");
       Clearent.payButton({"amount": "64.50"});
</script>
2

Paste it into your web page.

The following payment popup with an amount field will be displayed to accept payments on your website.

Generating a Merchant Application

Note: The following steps are performed by the Partner, who is responsible for collecting merchant details and initiating the onboarding process.

To generate a merchant application:

1

Create a Merchant Application

To initiate merchant onboarding, collect the required details during your sign-up process. This includes the merchant’s email, business name, and Merchant Category Code (MCC).

With these basic details, a merchant can initiate the onboarding process. The Automated Merchant Onboarding tool allows merchants to onboard into the system with minimal input, reducing integration efforts and streamlining the application process.

To further optimize the onboarding process, include all essential information upfront when passing data to the associated API (). By providing comprehensive client-specific details in the POST request, you ensure that the generated application URL is pre-filled with relevant data. This minimizes redundant data entry for merchants, accelerates the onboarding process, and reduces potential delays.

2

Redirecting to the Application URL

After generating the application, the system generates an Application URL. You can either redirect the merchant automatically or send the link via email for them to complete the process.

Once redirected, the merchant lands on the Automated Merchant Onboarding hosted application page, where they can enter additional details, verify their identity, and sign required documents digitally, ensuring a fast and seamless onboarding experience.

The applicant has seven days from the creation date to complete the application. If the application is not completed within seven days, the application will expire, and a new application will need to be created and completed.

Understanding Integration

Use an API-driven workflow to onboard new merchants. This automated process streamlines the workflow from application submission to equipment activation, helping merchants get started quickly.

The following image and step-by-step guide outline the integration flow:

1

Merchant Data Collection

Merchant onboarding begins with Merchant Data Collection, where the integrator collects and submits essential details using the Integrator UI. This interface integrates with Xpor Pay's backend systems to create and manage merchant profiles.

APIs Used:

  • – Creates the Merchant Identifier (MID) and merchant profile.

  • , , and – Processes equipment details, pricing structures, and merchant demographics.

Once the data is submitted, Xplor Pay's system validates the provided details and returns responses for verification.

2

Data Validation and Correction

After submitting the application, Xplor Pay validates the data. The notifies the integration system of any required corrections.

Key Validations Include:

  • Business Contact Validation: Verifies business ownership details and information.

  • Bank Validation: Confirms banking details to prevent transaction errors.

These validations ensure that all merchant information is accurate and ready for processing.

To enable corrections based on webhook notifications, we recommend following these steps:

  1. Implement webhook consumption to receive notifications

  2. Display the notifications to merchants in a user-friendly format

  3. Collect the updated data from merchants

  4. Submit the corrected data using the same APIs used during the Merchant Data Collection process

  5. Proceed with the Sign Application and Submit Application steps

Note: Merchants can still proceed even if corrections are not made immediately.

APIs Used:

  • : Updates and validates merchant details, taxpayer data, business contacts, and bank account information.

3

Merchant Agreement and Application Submission

Merchants review their applications, sign agreements electronically, and submit the finalized application. Xplor Pay logs terms, IP addresses, and timestamps to ensure transparency.

  • Electronic Signature Submission: Merchants sign agreements electronically to streamline the process.

    Document Upload Alternative: Pre-signed agreements can also be uploaded for verification.

APIs Used:

  • – Signature Endpoints: Captures electronic signatures.

  • – Submit Signature & Submit Application Endpoints: Finalizes the application for review.

4

Automated Underwriting and Decisioning

Once the application is submitted, Xplor Pay triggers a Webhook URL again to start the underwriting process. The Automated Underwriting system evaluates the merchant’s risk and compliance. There are three possible outcomes:

  • Approval: The merchant passes underwriting and moves to the equipment setup phase.

  • Manual Review: Additional verification may be required, such as further documentation or business validation.

  • Decline: The application is rejected if the merchant does not meet compliance or risk thresholds.

The merchant receives real-time updates on their application status via .

5

Equipment Setup and API Key Integration

For approved merchants, Xplor Pay configures the necessary payment hardware and provides API keys for seamless system integration.

Automated Equipment Setup (Quest/TSYS):

  • Configures merchant hardware, such as POS systems and card readers.

  • Assigns API Keys for merchants integrating with the payment processing system.

Step 5.1: Run Card-Not-Present (CNP) Transactions

From this stage, merchants can begin processing Card-Not-Present (CNP) transactions, such as online, phone, or virtual payments, after their profile is created and data is validated.

Note: CNP transactions don’t require physical equipment. Once data validation and underwriting are complete, merchants can start accepting remote payments.

6

Equipment Shipping and Activation

After approval, equipment is shipped and pre-configured for immediate use. Merchants can activate the equipment and begin in-person transactions.

Stage 6.1: Run Card-Present (CP) Transactions

After receiving and activating equipment, merchants can process Card-Present (CP) transactions in-store using devices like card readers or POS terminals.

Note: CP transactions require functional hardware. Once activated, merchants can immediately start in-person payment processing.

Adding Banking Information

The Banking Information step allows users to securely add and manage bank accounts for transactions, including deposits, fees, and chargebacks. This step ensures that the merchant's banking details align with their legal business name or DBA (Doing Business As) name.

1

Accessing the Banking Page

  • After completing the pricing step, users will be directed to the Banking page.

  • To add a new bank account, click on the Add Bank button.

  • This action will open the Add a Bank Account (Checking) form.

2

Adding Bank Account Details

  • Bank Name: Enter the name of the bank where the merchant’s account is held.

  • Is the Merchant’s Account Under a Legal Name or DBA?

  • Select whether the bank account is listed under the Legal Name, DBA, Residence, or Other.

  • Name on Account: Enter the name as it appears on the bank account.

  • Routing Number: Provide the bank routing number.

  • Checking Account Number: Enter the checking account number.

  • Select Account Use: Check the boxes that apply to the usage of the bank account:

    • Deposits

    • Fees

    • Chargebacks

  • Click on the Save button to store the bank account details.

Note: If needed, users can add multiple bank accounts by repeating the process.

3

Viewing and Managing Bank Accounts

Once the bank information is saved, users will be redirected to the Banking Information page, where they can:

a. View Added Bank Accounts: A table displays the following details for each saved bank account:

  • Bank Name

  • Status (e.g., Pending Review, Approved, etc.)

  • Name on Account

  • Routing Number (partially masked for security)

  • Checking Account Number (masked for security)

  • Uses (Fees, Deposits, Chargebacks)

b. Edit or Delete Bank Information:

  • Click Edit to modify banking details.

  • Click Delete to remove an existing bank account.

c. Confirm Banking Agreement

  • Users must check the box confirming that the name on the bank account matches the merchant’s legal name or DBA name before proceeding.

Configuring Pricing Details

The Pricing section allows you to configure the merchant's pricing model, card type acceptance, fees, and other settlement-related details.

1

Select Card Types to Accept

  • Choose the card types that the merchant will accept for transactions:

    • Visa

    • MasterCard

    • Discover

    • American Express (Choose between OptBlue or Direct)

    • Pin Debit

    • EBT (Electronic Benefits Transfer)

2

Select Pricing Method/Program

  • Choose the Pricing Method/Program from the dropdown menu (e.g., IC Plus Standard – ISO).

3

Configure Card Association Assessment and Fees

  • Select Yes/No for Passthrough card association assessment and fees.

4

Set Card Type/Settlement Fees

Enter the fee values for each card type:

  • Visa Credit & Debit Discounts (Percentage and Per Item Fee)

  • MasterCard Credit & Debit Discounts (Percentage and Per Item Fee)

  • Discover Credit & Debit Discounts (Percentage and Per Item Fee)

  • Pin Debit – Choose whether to pass through network fees (Yes/No) and enter the applicable percentage and per-item fee.

5

Additional Fees & Discounts

Enter applicable fees, if any, such as:

  • PCI Non-Compliance Fee Revenue

  • Annual Fee

  • Semi-Annual Fee

  • First and Second Month Fees

  • AVS Transaction (Surcharge)

  • Chargeback Item Processing

  • Retrieval Item Processing

  • Monthly Minimum Discount

  • Voice Authorization Fee

  • Application Processing Fee

6

Other Fees

  • IVR Authorization Fee

  • Non-Supported Help Desk Call Fee

  • Monthly Paper Statement Fee

  • Monthly Compass Online Reporting Fee

  • Merchant Regulatory Fees

  • Batch Processing Fees

  • Debit Access Fee

7

3rd Party/Other Fees

  • Xplor Pay does not bill these fees directly; they are for display only.

  • Enter details such as:

    • Annual Fee

    • Monthly Fee

    • Transaction Fee

    • Setup Fee

8

Save and Proceed

  • Click Save to apply the pricing settings.

  • Click Next to continue to the Banking Information section.

Ordering and Setting Up Equipment

The 'Equipment Ordering' API facilitates the submission of completed equipment surveys for selected products. Xplor Pay simplifies hardware provisioning, ensuring seamless integration for transaction processing.

  • Equipment Surveys: Merchants select the equipment they need, such as POS systems or card readers. For each product, Xplor Pay provides a tailored survey with specific questions.

  • Hardware Provisioning: After completing the survey, merchants submit the details to Xplor Pay, which prepares the devices.

All hardware is configured and linked to the MID for seamless integration with Xplor Pay's payment system. This process ensures a streamlined approach to configuring and ordering equipment efficiently.

Utilizing the POST method, it allows users to submit their equipment orders after retrieving and completing a dynamic survey tailored to the chosen product.

  • POST /api/merchant/{merchantNumber}/equipment

For a detailed breakdown of the request and response fields and their descriptions, refer to the reference documentation of API.

Configuring Hosted Payment Page Using Methods

Refer to the following table to configure the payment page on your website:

Using this method…
You can…
Object
Properties - Type
Description

Entering Business Information

The Business Information page collects essential details about the merchant’s business, including address, contact details, legal information, and operational status.

1

Enter Business Identification Details

  • In the DBA (Doing Business As) Name field, enter the merchant’s business name.

  • Click on Select MCC to search and choose the appropriate Merchant Category Code (MCC).

2

Provide Business Address

  • Under Physical Address, enter:

    • Street Address

    • Apt, Suite, Etc. (Optional)

    • City

    • State (Select from the dropdown menu)

    • Zip Code

  • If the Mailing Address is the same as the physical address, check the box. Otherwise, enter the mailing address details separately.

3

Enter Contact Information

  • Enter the Business Phone Number.

  • Enter the Fax Number (if applicable for chargebacks).

  • Enter the Business Email Address.

  • Enter the Business Website (if available).

4

Configure Email Preferences

  • Check the box if the merchant wants to receive statements via email.

  • Check the box if the merchant prefers to receive tax forms via email.

5

Provide Legal Information

  • Select the Ownership Type from the dropdown (e.g., Sole Proprietor, LLC, Corporation).

  • Enter the Legal First Name and Legal Last Name of the business owner.

  • If the Federal Tax ID is the signer’s Social Security Number (SSN), check the box. Otherwise, enter the Federal Tax ID manually.

  • Select the State of Incorporation from the dropdown menu.

6

Specify Payment Processing Information

  • Select whether the business accepts or has previously accepted payment cards (Yes/No).

  • If Yes, choose the Payment Processor from the dropdown menu.

  • If the business has been previously terminated by a card brand or processor (e.g., Visa), select Yes and provide a Reason for Termination.

7

Define Business Operations

  • Select whether the business is currently open (Yes/No).

  • Indicate if the business operates seasonally (Yes/No).

  • If the business is seasonal, select the months of operation.

Reviewing & Submitting Application

The Review & Submit step is the final stage of the merchant onboarding process in the Partner Portal. This step allows users to verify all entered details, resolve any outstanding errors, and submit the application for approval.

1

Accessing the Review & Submit Page

  • Navigate to the Partner Portal.

  • Click on Review & Submit in the top navigation menu.

  • The Review & Submit page will be displayed, showing any errors that need resolution and a list of required submission documents.

2

Resolving Errors

If there are any outstanding errors preventing submission, they will be displayed under the Errors to Resolve section. Users must review and correct these errors before proceeding. Common errors may include:

  • Invalid characters in business contact names.

  • Missing required signatures for sections such as Merchant Agreement, Personal Guarantee, Bank Disclosure, and W-9.

  • Missing electronic signature agreements.

  • Missing required equipment validation.

Once all issues are addressed, the system will allow resubmission.

3

Reviewing Submission Documents

Below the Errors to Resolve section, users will find the Submission Documents panel. This displays the status of essential documents:

  • Application (✔ / ❌)

  • Personal Guarantee (✔ / ❌)

  • Bank Verification (✔ / ❌)

To upload any missing documents:

  • Click the Add a Document button.

  • Select and upload the required file.

  • Ensure all documents are successfully added.

4

Reviewing Merchant Information

At the bottom of the page, merchant-related details such as Service Organization, Compensation Type, and Referral Partner will be displayed. If necessary, users can edit this information:

  • Click Edit Info.

  • Make the necessary updates.

  • Save the changes.

5

Submitting the Application

After resolving all errors and ensuring all required documents are uploaded:

  • Review all information for accuracy.

  • Click the Submit button.

  • The application will be sent for processing and approval.

Once submitted, the application will be reviewed by the system. Users may receive notifications regarding the approval status or additional actions required.

Note: Ensure all steps are completed accurately to avoid delays in the approval process.

Successful Transaction Response for a Billing Address

The following example is successful transaction response for a sale with billing address:

Response Validations

The following articles are about validations of transaction responses that you will receive from the Hosted Payments Page:

addToken(token)

Add a customer saved token for the “Select Saved Card” option configuration.

token

token - string

This includes the value of a customer saved token.

-

-

token

cardType - string

This includes type of the card specified in a customer saved token.

-

-

token

description - string

This includes additional details described in a customer saved token. This description helps customers select a saved card for future transactions.

For example, a customer might describe a saved card as “Business travel card” for convenience.

If the customer leaves the description blank, the customer saved token displays “Card ending in ####,” where “####” is the last four digits of the saved card.

addTokens(tokens)

Add a customer saved tokens for the “Select Saved Card” option configuration.

None

token - Array

This includes an array of token objects to add multiple tokens and save multiple cards at once.

getProperty(property)

Get a property of Hosted Payment Page.

None

property - string

This includes the property name.

payButton(obj)

Add the Pay Now button link that opens the Payment Page.

obj

None

This includes a JSON-formatted object of properties to add the Pay Now button.

refreshPaymentForm()

Refresh the payment page by running all the form paint events that normally occur when customers change the payment type (ACH or card).

None

None

None

setProperty(property, value)

Set a property to Hosted Payment Page.

None

property - string

This includes the property name.

-

-

None

value - string

This includes the value of the property.

{
   "code":"200",
   "status":"success",
   "exchange-id":"ID-CLADEVGSOPS02-cgw01-58790-1447188033740-0-1730",
   "links":[
      {
         "rel":"transaction",
         "href":"/rest/v2/transactions?id=1107328",
         "id":"1107328"
      }
           ],
   "payload":{
      "transaction":{
         "amount":"3.33",
         "id":"1107328",
         "type":"SALE",
         "result":"APPROVED",
         "billing":{
            "street":"333 Oak Trail",
            "city":"Springfield",
            "state":"ME",
            "zip":"55105",
            "first-name":"Joe",
            "last-name":"Burns"
                   },
         "card":"XXXXXXXXXXXX1111",
         "csc":"999",
         "authorization-code":"TAS902",
         "avs-result-code":"Y",
         "batch-string-id":"166",
         "display-message":"Transaction approved",
         "result-code":"000",
         "exp-date":"1019"
                    },
      "payloadType":"transaction"
             },
   "signature":"3064dcb5feaffadfc237835272c7685"
}
{
    "merchantInformation": {
        "dbaName": "Stark Industries",
        "emailAddress": "[email protected]"
    },
    "salesProfile": {
        "mccCode": "5085"
    }
}
{
    "merchant": {
        "merchantInformation": {
            "dbaName": "Stark Industries",
            "merchantNumber": "6588949992012345",
            "emailAddress": "[email protected]",
            "website": “starkindustries.com”,
            "phones": null,
            "acceptsPaperStatements": false,
            "acceptsPaperTaxForms": false,
            "companyTypeId": 0,
            "seasonalSchedule": null,
            "salesInformation": null
        },
        "mailingAddress": null,
        "physicalAddress": null,
        "bankAccounts": null,
        "businessContacts": null,
        "salesProfile": {
            "useExtraCnpValidation": true,
            "mccCode": "5085",
            "cardPresentPercentage": 0.0,
            "motoKeyedPercentage": 0.0,
            "eCommercePercentage": 0.0,
            "returnRefundPolicy": null,
            "productsSold": null,
            "previouslyAcceptedPaymentCards": false,
            "previouslyTerminatedOrIdentifiedByRiskMonitoring": false,
            "reasonPreviouslyTerminatedOrIdentifiedByRisk": null,
            "currentlyOpenForBusiness": false,
            "annualVolume": 0.0,
            "averageTicket": 0.0,
            "highTicket": 0.0,
            "ownsProduct": false,
            "ordersProduct": false,
            "sellsFirearms": false,
            "sellsFirearmAccessories": false,
            "futureDeliveryTypeId": null,
            "otherDeliveryType": null,
            "futureDeliveryPercentage": 0.0,
            "fireArmsLicense": null,
            "cardBrands": null,
            "ebtNumber": null,
            "amexMID": null,
            "sellsCBD": false,
            "cbdSalesTypeID": null,
            "salesProfileCBD": null
        },
        "taxpayer": null,
        "externalCustomerId": null,
        "pricingPlan": {
            "pricingFees": [
                {
                    ...
                }
            ],
            "pricingPlanID": 13539,
            "pricingPlanTemplateID": 1060,
            "pricingTypeCode": "D",
            "isAdvancedPricing": false,
            "isEMF": false,
            "isDailySettle": true,
            "includeAssessments": false
        }
    },
    "applicationURL": "https://boarding-sb.clearent.net/launch-integrator-setup/merchant/4c87c74b-a483-4d4f-8656-b412345abcde",
    "errors": [],
    "metadata": {
        "exchangeId": "ID-clearent-security-edge-proxy-service-2-64e45785-eedd-40ae-a580-7d7709930004",
        "timestamp": "2024-06-28T15:10:53.7273247Z"
    }
}
{
…
"applicationURL": "https://boarding-sb.clearent.net/launch-integrator-setup/merchant/4c87c74b-a483-4d4f-8656-b46a59e2e3d4",
…
}
Launch for Integrators API
{
  "merchantNumber": "9876543210123456",
  "metadata": {
    "exchangeId": "EX123456",
    "timestamp": "2025-02-17T17:57:49.203Z"
  },
  "orderCreateTime": {
    "calendarType": "ISO8601",
    "fieldsComputed": 0,
    "fieldsNormalized": 0,
    "firstDayOfWeek": 1,
    "lenient": true,
    "minimalDaysInFirstWeek": 4,
    "time": "2025-02-17T17:57:49.203Z",
    "timeInMillis": 1708186669203,
    "timeZone": {
      "displayName": "Eastern Standard Time",
      "dstsavings": 3600,
      "id": "EST",
      "rawOffset": -18000
    },
    "weekDateSupported": true,
    "weekYear": 2025,
    "weeksInWeekYear": 52,
    "zoneShared": true
  },
  "orderId": "ORD-20250217-001",
  "orderItems": [
    {
      "completionDate": "02/17/2025 05:57 PM",
      "errors": [],
      "manufacturer": "Verifone",
      "orderItemId": 1001,
      "orderItemMetadata": [
        {
          "apiKey": "API-KEY-123",
          "orderStatus": "Shipped",
          "productManufacturer": "Verifone",
          "productModel": "VX520",
          "publicKey": "PUBLIC-KEY-456",
          "salesforceCaseNumber": "SF-789654",
          "serialNumber": "SN-00123456789",
          "storeNumber": 101,
          "tcn": "TCN-ABC123",
          "terminalId": 56789,
          "trackingNumber": "1Z999AA10123456784",
          "vNumber": "VNUM-98765"
        }
      ],
      "productName": "Verifone VX520 Terminal",
      "productType": "Hardware",
      "quantity": 2,
      "surveyValid": true,
      "trackingNumber": "1Z999AA10123456784",
      "validFrontends": ["POS System"]
    }
  ],
  "orderModifyTime": {
    "calendarType": "ISO8601",
    "fieldsComputed": 0,
    "fieldsNormalized": 0,
    "firstDayOfWeek": 1,
    "lenient": true,
    "minimalDaysInFirstWeek": 4,
    "time": "2025-02-18T10:00:00.000Z",
    "timeInMillis": 1708260000000,
    "timeZone": {
      "displayName": "Eastern Standard Time",
      "dstsavings": 3600,
      "id": "EST",
      "rawOffset": -18000
    },
    "weekDateSupported": true,
    "weekYear": 2025,
    "weeksInWeekYear": 52,
    "zoneShared": true
  },
  "resubmit": false,
  "status": "Active",
  "validFrontends": ["POS System", "E-commerce"]
}
Equipment Boarding
Successful Transaction Response Validation
Failed Transaction Response Validation
Boarding Management API
Equipment API
Pricing API
Demographics API
Application Fixes Webhook
Demographics API
Demographics API
Boarding Management API
Webhook Notifications
Z6
Z8
Z9
Z11
QD2
QD4
QD3
A35
A80
A920Pro
VP8300
VP3300

Using Methods

Refer to the following table to configure your payment page:

Using this method…
You can…
Sample Code
Remark

addMetaKeyBlocker()

Block meta key combinations (alt or ctrl) for the hosting page.

Some card readers may generate keystrokes that include meta keys even after the card read is complete, causing unnecessary behavior in the browser window.

Tip: To make this setting effective, set the enableReader member to True.

<script> ClearentSDK.addMetaKeyBlocker(); </script>

This setting blocks certain meta key combinations, except for closing the window (Ctrl + W), opening a new window (Ctrl + N), or opening a new tab (Ctrl + T).

getPaymentToken()

Receive a token for payment gateway transaction, calling successCallback on success or errorCallback on error.

ClearentSDK.getPaymentToken();

None

init(obj)

Initialize the JavaScript SDK integration and create the Payment Details form for entry.

// Sandbox URL for testing // use Sandbox public key <script src="https://gateway-sb.clearent.net/js-sdk/js/clearent-host.js"></script> <script> ClearentSDK.init({ "baseUrl": "https://gateway-sb.clearent.net", "pk": "YOUR_SANDBOX_PUBLIC_KEY_HERE", }); </script>

You can set the properties of the JSON-formatted object when you initialize the JavaScript SDK integration.

removeMetaKeyBlocker()

Remove a meta key combination blocker enabled using the blockMetaKeys member or the addMetaKeyBlocker method.

<script> ClearentSDK.removeMetaKeyBlocker(); </script>

reset()

Reset the JavaScript SDK integration.

Warning: When you use the reset() method, the Xplor Pay Payment iFrame is completely removed.

ClearentSDK.reset();

You can call Clearent.init to initialise the JavaScript SDK integration.

ClearentCardReadComplete()

Call the function when the card read process is complete using the USB card reader.

function ClearentCardReadComplete(){ console.log("Card Read is complete"); }

You can call the function if it is defined on the host page. This function does not return card data or Europay, Mastercard and Visa (EMV) data to maintain the Payment Card Industry (PCI) compliances.

ClearentCardReadStart()

Call the function when the card read process starts using the USB card reader.

function ClearentCardReadStart(){ console.log("Card Read has started"); }

You can call the function if it is defined on the host page.

ClearentEntryModeChange(mode)

Call the function when the entry mode changes to manual or swipe.

function ClearentEntryModeChange(mode){ console.log("User set SDK to mode: ", mode); }

You can call the function if it is defined on the host page.

ClearentOnPaymentTypeChange(paymentType)

Call the function to receive a raw server response or a JSON-formatted response data object if getPaymentToken returns successfully.

function ClearentOnPaymentTypeChange(paymentType) { console.log("Payment Type was changed to: " + paymentType); }

You can call the function if it is defined on the host page.

ClearentTokenError(responseRaw, responseJSON)

Call the function to receive a raw server response or a JSON-formatted response data object if getPaymentToken returns an error.

function ClearentTokenError(responseRaw, responseJSON){ console.log("ClearentTokenError"); console.log(responseRaw); console.log(responseJSON); }

You can call the function if it is defined on the host page.

ClearentTokenSuccess(responseRaw, responseJSON)

Call the function to receive a raw server response or a JSON-formatted response data object if getPaymentToken is successful.

function ClearentTokenSuccess(responseRaw,responseJSON){ console.log("ClearentTokenSuccess"); console.log(responseRaw); console.log(responseJSON); // now you can send the token to your server // to complete the transaction via mobile-gateway }

You can call the function if it is defined on the host page.

ClearentValidation(messages)

Call the function to validate the payment form fields information that returns the validation message with a JavaScript array.

function ClearentValidation(messages) { console.log("ClearentValidation"); console.log(messages); // you can handle these messages and display in your own form // empty messages array indicates no validation errors }

When the payment fields have valid information, a JavaScript array in the validation message will be empty.

Configuring Hosted Payment Page Using Functions

Refer to the following table to configure the payment page on your website:

Using this function…
You can…
Parameter
Type
Description

ClearentOnError(responseRaw, responseJSON)

Receive a raw server response and a JSON-formatted response data object for unsuccessful transactions on the Payment Page.

responseRaw

string

This includes a raw string server response.

responseJSON

string

This includes a JSON-formatted response data of payment call.

ClearentOnMobilePopupClosed()

Receive a response whenever the “Complete transaction using mobile application” window is closed.

None

None

None

ClearentOnPaymentTypeChanged(paymentType)

Receive a response when customers select the Payment Type option to change either a card or ACH payment type.

paymentType

string

This includes card and ach.

ClearentOnPopupClosed(firstClose)

Receive a response whenever the Payment Page is closed.

firstClose

Boolean

This includes firstClose that states if the payment page is closed on the first visit.

ClearentOnPopupOpened(firstOpen)

Receive a response whenever the Payment Page is opened.

firstOpen

Boolean

This includes firstOpen that states if the payment page is opened on the first visit.

ClearentOnSuccess(responseRaw, responseJSON)

Receive a raw server response and a JSON-formatted response data object for successful transactions on the Payment Page.

responseRaw

string

This includes a raw string server response.

responseJSON

string

This includes a JSON-formatted response data of payment call.

ClearentValidation(messages)

Receive a response for each field validation event with a JavaScript array of validation messages.

messages

array

This includes JavaScript array of validation messages.

Using IDTech VP8300

JavaScript SDK supports an IDTech VP8300 card reader for payments acceptance. This card reader supports three interaction methods:

  • Contactless

  • Chip

  • Swipe

Note: Ensure the card reader has a USB connection to communicate with JavaScript SDK.

Prerequisites

Follow the requirements below before you start using the VP8300 card reader:

  • Use a device with Windows or macOS that includes a USB port.

  • Serve your application over HTTPS in both development and production environments.

  • Your domain must have a valid SSL certificate.

  • Implement the manual card entry of the JavaScript SDK solution.

Initializing the SDK

Call the following init function that has the enableReader flag set to true and the deviceType set to IDTECH, which supports the card reader.

ClearentSDK.init({
                  "baseUrl": "https://gateway-sb.clearent.net",
                  "pk": "YOUR PUBLIC KEY GOES HERE"
                  "enableReader":true,
                  "deviceType": "IDTECH"
                 });

Connecting the Card Reader

Plug the card reader into a USB port on your device.

Note: You can use an adapter if your device does not have a USB port.

Selecting the Reader Button

Selecting the Reader button next to the Card Number input field completes the entry of card details into the fields of the Payment Details form.

Example: Payment form

Presenting Card to Reader

Present the card when you see the message ‘Ready for card reader…’ on the Payment Details form.

Example: Payment for

Note: Do not present the card to the reader unless you see the message ‘Ready for card reader…’ on the Payment Details form to avoid incorrectly filling the card data into the fields.

You will see masked information in the fields of the Payment Details form.

Example: Payment for

Note: To clear the information from all fields in the Payment Details form, select the Clear button in the upper-right corner.

Selecting the Submit Button

To send the card data to Xplor Pay, select the Submit Payment button.

Example: Payment for

Note: The success and error functions are triggered when you call the mobile JWT or ACH mobile JWT to create a secure JWT, which presents the card or ACH data. See ACH Transaction Integration for more information.

Connecting in HID Mode

When you connect to the VP8300 in HID mode, a security window appears in your browser. This window allows you to select the terminal for connecting to the VP8300 in HID mode, enabling access to the VP8300 device.

Before connecting to the VP8300 in HID mode, you must:

Processing the Payment

A secure, signed JSON Web Token (JWT) is generated when the cardholder selects the Submit button on your payment form.

To receive a secure and signed JWT and complete the payment on your backend:

1

Call the ClearentSDK.getPaymentToken method.

ClearentSDK.getPaymentToken();
2

Add Promises to receive the success or error message from the ClearentSDK.getPaymentToken() function.

ClearentSDK.getPaymentToken().then(
    (result) => {
        // this function is called if getting a payment token was successful
        console.log("ClearentTokenSuccess");
        console.log(result);
    },
    (error) => {
        // this function is called if getting a payment token failed
        console.log("ClearentTokenError");
        console.log(error);
    }
);
3

Call the JWT service using the ClearentTokenSuccess function to receive the secure, signed, and unencrypted JSON Web Token in the JWT field shown below.

{
   "code":"200",
   "status":"success",
   "exchange-id":"ID-clearent-mobile-jwt-1-c32bfe39-d454-4e34-8b4f-94d850643e48",
   "payload":{
      "mobile-jwt":{
         "jwt":"eyJhbGciOi23UzIh4iJ9.eyJsYXN0LWZvdXIiOiIxMrkP8iwid
                HlwZSI6Ik1BTlVBTCIsImV4cCI6MTU0NzY0NjU2MSwidG9rZW4iOiIxMTAwMDAw
                MDAwMDEzNTkyIn0.eT8c_5yUzxCxL2MEtmbG444eTFRW7OxzRF7x4uRIo-U",
         "last-four":"1111"
      },
      "payloadType":"mobile-jwt"
   }
}
4

Call to the clearent-mobile-gateway from your backend using the mobilejwt field and api-key.

POST /rest/v2/mobile/transactions/sale
Accept:application/json
Content-Type:application/json
api-key:YOUR_API_KEY_GOES_HERE
mobilejwt:eyJhbGciOi23UzIh4iJ9.eyJsYXN0LWZvdXIiOiIxMrkP8iwid
 HlwZSI6Ik1BTlVBTCIsImV4cCI6MTU0NzY0NjU2MSwidG9rZW4iOiIxMTAw
 MDAwMDAwMDEzNTkyIn0.eT8c_5yUzxCxL2MEtmbG444eTFRW7OxzRF7x4uRIo-U
Body
{
    "type": "SALE",
    "amount": "15.55",
    "software-type": "AwesomePOSSoftware",
    "software-type-version":"1"
}

You will receive the below response after successful transaction or an error response if the transaction fails.

{
    "code": "200",
    "status": "success",
    "exchange-id": "ID-clearent-mobile-gateway-1-2a6b56d3-c660-4810-95ea-9fb9a21c6634",
    "payload": {
        "transaction": {
            "amount": "15.55",
            "id": "2586119",
            "type": "SALE",
            "result": "APPROVED",
            "card": "XXXXXXXXXXXX1111",
            "csc": "999",
            "authorization-code": "TAS022",
            "batch-string-id": "938",
            "display-message": "Transaction approved",
            "result-code": "000",
            "exp-date": "1220",
            "software-type": "AwesomePOSSoftware",
            "card-type": "VISA",
            "last-four": "1111"
        },
        "payloadType": "transaction"
    }
}

Example: Decoded, unencrypted, signed JWT

Example: Decoded, unencrypted, signed JWT

Overview

What is Merchant Onboarding?

Merchant Onboarding is the process of registering, verifying, and enabling a business to start accepting payments on a payment platform. This involves collecting essential business information, verifying the identity of business owners, and evaluating risks to ensure compliance with legal and financial regulations. It is a crucial first step for seamless integration and efficient transaction processing.

Merchant Onboarding Options

We provide a range of flexible and customizable onboarding solutions tailored to suit different business needs and levels of technical expertise.

  • Automated Merchant Onboarding: A hosted, pre-built onboarding solution, designed to streamline merchant onboarding with configurable workflows.

Note: White-label capabilities are coming soon, allowing for UI customization to match your brand

  • Manual Submission via Partner Portal: A simple way to onboard merchants by entering their details into the Partner Portal for review and approval.

  • API Integration: Enables seamless onboarding with direct API connections, providing full control over the user experience.

Choose the option that best fits your use case:

Additional Services

If you prefer a hands-off approach to merchant onboarding, we offer comprehensive support services to streamline the process. Our team can collaborate with you to develop a tailored Go-to-Market Strategy, including sales and marketing planning, to accelerate your business growth, and our experienced specialists can handle the entire merchant onboarding process on your behalf.

This option allows you to focus on your core business while ensuring compliance, reducing risk, and providing a seamless onboarding experience for your merchants.

with us to know more.

Merchant Onboarding Process

Regardless of the merchant onboarding method you choose, the onboarding process typically follows these key steps:

  1. Collect Merchant Information (via Merchant Application form)

  2. Sign & Submit (Merchant Application)

  3. Merchant Verification & Underwriting (including Business Verification, Signer Verification, Risk Evaluation)

  4. Request for Additional Information (if needed)

  5. Approval or Rejection of the merchant application

1

Collecting Merchant Information

To begin the onboarding process, we require merchants to provide essential business details through the Merchant Application form. This includes key data like legal business name, address, owner information, and bank account details. The collected information is crucial for verification and compliance checks.

2

Sign & Submit

The next step is for the merchant to review, sign, and submit the application. This typically involves agreeing to the terms of service and providing consent for data verification and risk assessment.

3

Merchant Verification & Underwriting

During this stage, the submitted information undergoes a comprehensive review. The process involves:

  • Business Verification: Confirmation of the legal status and ownership details of the business.

  • Signer (Owner) Verification: Identity checks for business owners, often requiring government-issued ID documentation.

  • Risk Evaluation: Analysis of the business profile to assess creditworthiness and potential risks.

4

Request for Additional Information

If any discrepancies are identified during the verification process, additional details may be requested to resolve outstanding issues. This step is a part of the thorough risk and compliance assessment.

5

Approval or Rejection

Once all checks are completed, the application is either approved or rejected. Approved merchants are then going through the set up process to be ready to start accepting payments. If rejected, the merchant is notified with details for potential resolution or reapplication.

For more information on our Merchant Onboarding solutions, refer to the following documents:

Google Pay for Web

Google Pay allows you to make secure payments using an internet browser.

The following articles help you with Google Pay payment method.

Prerequisites

Follow the prerequisites below before you incorporate Google Pay on your website:

  • Serve an HTTPS webpage with a TLS domain-validated certificate.

  • Use one of the following supported web browsers:

    • Google Chrome

    • Mozilla Firefox

    • Apple Safari

    • Microsoft Edge

    • Opera

    • UCWeb

  • Add a payment method to your Google account using the reference.

  • Adhere to the .

  • Implement the manual card entry of the JavaScript SDK solution.

Supported Payment Methods

You must have the payment and address information of your customers who use Google Pay.

Supported Cards

  • Visa

  • MasterCard

  • American Express

  • Discover

Merchant Capabilities

  • Credit cards (Visa or Mastercard)

  • Debit cards (Visa or Mastercard)

Getting Started

Note: You can use a Merchant ID provided by Xplor Pay, which you will need for production access from Google.

Follow the below steps to start using the Google Pay on your website:

1

Create a request object and a buttonConfig object using the reference before you call our init function.

2

Add the function below to your website to check whether your customer uses Google Pay.

This function helps you decide whether to display the Google Pay button in the customer’s browser.

Configuring the onClick Event

Follow the below steps to configure the onClick event for your payment process:

1

Start the Google Pay session using the init function below.

2

JavaScript SDK handles the Apple Pay token and converts it into the JWT that you process.

Note: Before moving to the next step, ensure you have integrated with JavaScript SDK to avoid an error. For more information, see .

3

Send the token provided by Xplor Pay to your server using the secure transmission.

4

Provide the secret API key to Xplor Pay from your server.

Note: Do not provide the secret API key from your website.

5

Return a successful token response you receive to the JavaScript SDK to handle it appropriately.

Configuring the Add Payment Method Button

To configure the Add payment method button on your website to save a card token without processing a transaction:

1

Copy the following example code.

2

Paste it into your web page.

The Add payment method button appears on your website to allow customers to add a payment method for future purchases.

When customers select the Add payment method button, a hosted page opens to save their card information. The hosted page includes fields for card details and an optional billing address section.

Providing the Saved Payment Methods

You can provide saved payment methods to your customers for an easier checkout process:

Call the ClearentOnSuccess function, including the following parameters:

  • Token: The token returned from a sale request, or the token returned from a sale request with the save card option.

  • Card Type: The type of card used in the previous transaction.

  • Description: The description returned from a sale request with the save card option. See for more information.

Providing the Saved Card Options

You can provide the below saved card options to your customers using the Clearent.addToken() method:

  • Enter Card Manually: This option allows your customers to enter card information manually if they do not want to use a saved card.

  • Card Description: This option displays the card description provided from the addToken method. See for more information.

  • Card type ending in [last four digits of card]: This option displays the card type and card number (last four digits) from the addToken method if the description was not provided for a saved card.

  • Card ending in [last four digits of card]: This option displays the card number (last four digits) from the addToken method if the description was not provided for a saved card.

The following payment popup with the saved card options dropdown list will be displayed for the Card Number field on your website.

Configuring Apple Pay for Web

Hosted Payments solution allows you to securely accept payments using Apple Pay on your website for customers who use Apple's Safari browser for web payments.

The following sections help you integrate Apple Pay on your website using Hosted Payment Page.

Prerequisites

Before integrating Apple Pay on your website, ensure the following requirements are met:

  • Apple Pay works on MacBook with macOS version 10.12.1 or later.

  • Apple Pay works on iPhone with iOS version 10.1 or later.

  • Apple Pay works on the Safari browser.

  • Set your server to allow Apple Pay.

  • Serve your application over HTTPS in both development and production environments.

  • Your domain must have a valid SSL certificate.

  • Your server must support the Transport Layer Security (TLS) protocol version 1.2 or later and one of the cipher suites.

Tip: To set up your production environment, see the .

Supported Payment Methods

Apple Pay supports following cards for web payments:

Supported Cards

  • Visa

  • MasterCard

  • American Express

  • Discover

Apple Pay supports following merchant capabilities for web payments:

Merchant Capabilities

  • Credit cards (Visa or Mastercard)

  • Debit cards (Visa or Mastercard)

Unsupported Payment Methods

Apple Pay does not support following web payment methods:

  • In-App Payments

  • Recurring Payments

  • Split Shipment

  • Voids/Refunds through Apple Pay

Notes:

  • Do not use Apple Pay tokens for ad hoc charges.

  • Do not use Apple Pay for Web to create a Xplor Pay token. This may result in declining the transaction or failing to settle the transaction.

Integrating the Apple Pay Button

To integrate the Apple Pay button on your website:

  • You must participate in Apple Pay Beta program (during Beta-phase only).

  • You must use Direct-to-VISA (set allow Apple Pay for your Merchant Account).

  • You must set the show-apple-pay property to true.

  • You must have at least one registered domain. (For more information, see )

  • You must set the Payment Method to Sales or Authorizations.

  • The Apple Pay button appears only on the Safari browser.

Registering Merchant Domain

Note: You do not need to create an Apple Merchant ID or CSR for the Merchant Validation process. Xplor Pay manages the Merchant Validation process for you.

To register merchant domain:

  1. Go to the .

  2. Select in the Virtual Terminal.

  3. Select a terminal.

  4. Select the Apple Pay for Web tab.

  5. Register your domain.

Configuring Apple Pay for Web

  • Set the show-apple-pay property to make the Apple Pay button visible on your website.

  • The Apple Pay button appears with default style. You can select different types of button styles that fit with the terminology and flow of your purchase or payment experience on your website. For more information, see .

Note: Hosted Payment Page supports Apple Pay JS Version 3, which limits you from selecting the different Apple Pay button styles. For more information, see .

  • The #Clearent-apple-pay element or the .Clearent-apple-pay CSS class allows you to style the Apple Pay button on your website.

  • The #Clearent-apple-pay-row element or the .Clearent-apple-pay-row CSS class allows you to style the Apple Pay row on your website.

  • The #Clearent-apple-pay-label element or the .Clearent-apple-pay-label CSS class allows you to style the Apple Pay label on your website. The default label text is "Or pay another way".

Testing Apple Pay for Web

To test offline implementation of Apple Pay for your website, see .

ClearentSDK.googlePayAvailable()
const request = {
	"total": {
		"label": "Sasha's Mustard Shop",
		"amount": "0.01",
		"type": "final"
	}
};
const buttonConfig = {
	"buttonColor": "default",
	"buttonType": "buy",
	"buttonLocale": "en",
	"buttonSizeMode": "fill"
};
ClearentSDK.init({
	"baseUrl": "https://gateway-sb.clearent.net",
	"pk": "Your public key",
	"enableGooglePay": true,
	"googlePayRequest": request,
	"googlePayButtonConfig": buttonConfig
});
<script type="text/javascript">
            // When you get a successful token response and
            // use this to make a sale/auth on your backend
            function ClearentTokenSuccess(raw, json) {
                console.log("ClearentTokenSuccess");
                console.log(raw);
                console.log(json);
                // now you can send the token to your server
                // to complete the transaction via mobile-gateway
            }
            function ClearentTokenError(raw, json) {
                console.log("ClearentTokenError");
                console.log(raw);
                console.log(json);
            }
        </script>
Getting Started with Google Pay
Google Pay and Wallet APIs Acceptable Use Policy
Brand Guidelines by Google
JavaScript SDK
Apple Server Configurations
Registering Merchant Domain
Merchant Home
VT Settings
Apple styling guidelines
Apple Pay Button CSS documentation
Sandbox Testing

Product

Automated Merchant Onboarding

Manual Submission via Partner Portal

Merchant Onboarding via API

Objective

Utilize a pre-built, configurable onboarding application to streamline merchant setup.

Manual data entry and submission through an existing portal.

Onboard new merchants using API integration.

Recommended For

Integrators seeking a hassle-free, low-code solution with minimal integration effort. Ideal for those needing a quick-to-deploy platform for merchant setup, whether remote (via mobile, tablet, laptop) or in-person.

Integrators who prefer a manual, straightforward approach with no API integration.

Integrators who want complete control over the user experience and data flow.

Integration Effort

Low.

None.

High.

Development Effort

Minimal development required, leveraging a pre-built platform.

No development required; uses existing portal for setup.

Requires full development work to design and manage the onboarding flow.

Customization Flexibility

Various configuration options are available, including application questions (visibility & editability) and customizable Equipment Surveys. Note: UI brand customization is coming soon.

No customization; uses standard portal with fixed features.

Full flexibility to design, modify, and control every part of the onboarding experience.

Get in touch
Automated Merchant Onboarding
Merchant Onboarding via Partner Portal
Merchant Onboarding via API
<script>
       Clearent.payButton({
        "card-token-only": true,
        "heading-text": "Enter card information below",
        "card-acceptance-label": ""
        });
</script>
<script>
    function ClearentOnSuccess(responseRaw, ResponseJSON) {
        // If you set the card-token-only option on your page, you can get the
        // token information back like this.
        if (ResponseJSON.payload && ResponseJSON.payload.tokenResponse) {
            var tokenResponse = ResponseJSON.payload.tokenResponse;
            console.log('token-id = ' + tokenResponse['token-id']);
            console.log('token card-type = ' + tokenResponse['card-type']);
            console.log('token description = ' + tokenResponse['description']);
        }
        // If you set the show-save-card-option on your page AND the user chose
        // to save their card, you can get the token information back like this.
        if (ResponseJSON.links) {
            var links = ResponseJSON.links;
            for (var i = 0; i < links.length; i++) {
                if (links[i]['rel'] == "token") {
                    console.log('token-id = ' + links[i]['id']);
                }
            }
        }
    }
<script>
       Clearent.setProperty("pk", "307a301406072a864.....8ce3d076fde833c136b");
       Clearent.addToken({"token":"1100005218649761111","cardType":"VISA"});
       Clearent.addToken({"token":"1312451222335452217","cardType":"MasterCard"});
       Clearent.addToken({"token":"1142451131215453214","description":"Vacation card"});
       Clearent.addToken({"token":"1412451141215454218","cardType":"Visa","description":"Business travel card"});
       Clearent.addToken({"token":"1512451151215455211"});
       Clearent.addToken({"token":"1612451161215456216"});
       Clearent.payButton({"amount": "64.50"});
</script>
Configuring Payment Page with the Save Card Option
Configuring Payment Page with the Save Card Option
Add payment method button

Apple Pay for Web

Apple Pay for Web lets you accept payments from customers using the Safari browser on their iOS devices.

The following sections explain how to integrate Apple pay on your website.

Prerequisites

Make sure the following requirements are met before integrating Apple Pay and accepting payments on your website:

  • A MacBook running macOS 10.12.1 or later

  • An iPhone running iOS 10.1 or later

  • Safari browser

  • A server that supports Apple Pay

  • An application served over HTTPS in both development and production environments

  • A valid SSL-certified domain

  • A server that supports Transport Layer Security (TLS) version 1.2 or later

Refer to the for setting up your production environment.

Always implement manual card entry in the JavaScript SDK as a fallback option.

Supported Payment Methods

You can collect the payment and address information of your customers who use Apply Pay.

Supported Cards

  • Visa

  • MasterCard

  • American Express

  • Discover

Merchant Capabilities

  • Credit cards (Visa or Mastercard)

  • Debit cards (Visa or Mastercard)

Unsupported Payment Methods

  • In-App Payments

  • Recurring Payments

  • Split Shipment

  • Voids/Refunds through Apple Pay

Getting Started

Xplor Pay handles the process for you by creating an Apple Merchant ID and Certificate Signing Request. For more information, see .

To register and verify your domain with Apple:

  1. Provide your domain(s) that will be used for Apple Pay.

  2. Host the verification file provided by Xplor Pay to you on the following URL, replacing [DOMAIN_NAME] with your domain name.

URL: https://[DOMAIN_NAME]/.well-known/apple-developer-merchantid-domain-association

This URL must be publicly accessible to allow Apple to verify the file.

  1. Send the hosted file with the appropriate URL to register and verify your domain with Apple.

  2. Xplor Pay will confirm once your domain is successfully verified.

Setting Up Apple Pay

Adding the Apple Pay Button

1

Create a container on your website to add the Apple Pay button with the default style.

Apple provides several types of buttons so that you can choose the button type that fits best with the terminology and flow of your purchase or payment experience. For more information on Apple Styling Guidelines, see .

To request button type for your website:

2

Add the function to check whether your customer uses Apple Pay. This function helps you decide whether to display the Apple Pay button in the customer’s browser.

Configuring the onClick Event

To configure the onClick event for your payment process:

1

Add the onClick object into your payment sheet to start the Apple Pay session.

2

The JavaScript SDK handles the Apple Pay token and converts it into a JSON Web Token (JWT).

Before moving to the next step, ensure you have integrated with JavaScript SDK to avoid an error. For more information, see .

3

Send the JSON Web Token (JWT) to your server using a secure connection.

4

Provide the secret API key to Xplor Pay from your server.

Don’t expose the secret API key in your website code.

5

Xplor Pay returns a successful token response.

6

Send the token response to the JavaScript SDK for handling.

Testing Apple Pay for Web

Apple requires an offline test implementation of Apple Pay for apps, websites, and point-of-sale systems.

You can test your Apple Pay transaction using the reference.

Calculating Final Transaction Cost

You can calculate final transaction cost using customer’s payment method, billing address, shipping address, and shipping method:

  • If you want to calculate the final transaction cost using payment method, add the optional handler in your payment sheet.

  • If you want to calculate the final transaction cost using shipping method, add the optional handler in your payment sheet.

  • If you want to calculate the final transaction cost using billing address and shipping address, add the optional handler in your payment sheet.

You can add the optional handler, which triggers when the customer clicks the Cancel button, to cancel the Apple Pay session.

Refer the following example to implement the optional handlers in your payment sheet:

Example:

<button id="apple-pay-button" class=""></button>
{
    "total": {
        "label": "AAA",
        "type": "final",
        "amount": "1.99"
    }
}
ClearentSDK.applePayAvailable()
if(ClearentSDK.applePayAvailable()) {
  let applyPaymentSheet = YOUR_PAYMENT_SHEET
  jq2("#apple-pay-button").on("click", () => {
      const session = ClearentSDK.buildApplePaySession(applyPaymentSheet);
// optional dynamic handling events can be added here (see below for details)
      session.begin()
  });
}
function ClearentTokenSuccess(raw, json) {
    console.log("ClearentTokenSuccess");
    console.log(raw);
    console.log(json);
    console.log("-----------------------------------------------");
    console.log("now you can send the token to your server");
    console.log("to complete the transaction via mobile-gateway");
    console.log("-----------------------------------------------")
}
function ClearentTokenError(raw, json) {
    console.log("ClearentTokenError");
    console.log(raw);
    console.log(json);
}
jq2("#apple-pay-button").on("click", () => {
    const session = ClearentSDK.buildApplePaySession(request);
  session.onshippingmethodselected = function (event) {
    selectedShippingMethod = event.shippingMethod
    const newTotalAmount = calculateTotal….
    const newLineItems = [update line items…]
    session.completeShippingMethodSelection(
      {
        newTotal: {
          label: request.total.label,
          amount: newTotalAmount,
          type: final }, // newTotal is required
        newLineItems,
      }
    )
  }
   session.oncancel = function(event) {
       …add logic for when session is cancelled by user
}
…. Other optional handlers can be added here
    session.begin()
});
Apple Server Configurations
Merchant Validation
Apple Developer Documentation
Apple Pay
JavaScript SDK
Sandbox testing
onpaymentmethodselected
onshippingmethodselected
onshippingcontactselected
oncancel

Configuring with JavaScript SDK

This is the page description that I can enter

You can quickly and easily configure the text and behavior of your payment page popup:

  • Using Members

  • Using Methods

Configuring Automated Merchant Onboarding

The Automated Merchant Onboarding solution offers various configuration options to customize the merchant onboarding experience, ensuring seamless integration with your business operations. These settings help you tailor branding, communication, user management, and merchant support, creating a streamlined and efficient onboarding process.

Branding Options

Add Logo: Enhance brand recognition by adding your company’s logo to the onboarding interface. A branded experience builds trust and ensures consistency across all touchpoints, giving merchants a familiar and professional environment.

Communication Settings

Set a Postback URL: Define a Postback URL to receive real-time updates on merchant application status changes. This ensures that onboarding-related events—such as application approval, decline, or completion—are automatically communicated to your system, enabling timely and seamless updates.

Modify Support Contact Information

Customize the support email and phone number displayed in automated emails sent during the merchant application process. This ensures that merchants always have the correct contact details when they need assistance.

User Management

Automatically Create User Accounts: Enable automatic user account creation for the Merchant Portal and Virtual Terminal to simplify onboarding. This eliminates manual setup and ensures that merchants gain immediate access to their accounts upon approval.

Reminder Email Configuration

Set Automatic Reminder Intervals: Configure automated reminder emails to encourage merchants to complete their applications before the 7-day expiration period. The default reminder is sent 3 days before expiration, with options to send additional reminders 2 days or 1 day prior.

Application Completion

Predefine Completion of Application Field: Consult with a Xplor Pay representative to determine the best strategy for defining application completion. This ensures that onboarding requirements align with your business model and industry standards.

Dejavoo

Dejavoo terminals designed for seamless and secure payment acceptance. Our Z Line Series features reliable countertop and PIN pad devices for efficient transactions. The QD Line Series, powered by Android, boasts high-definition touchscreens, robust processors, and versatile connectivity options to enhance the payment experience.

Dejavoo Z Line

Dejavoo Z6

The Dejavoo Z6 is a secure and efficient PIN pad terminal in the Dejavoo Z Line, designed for seamless payment processing. Its compact design suits various retail environments, while advanced security, versatile connectivity, and a user-friendly interface make it a reliable choice for businesses.

Features
Integration Type
Communication Options
  • Accepts EMV chip cards, magnetic stripe cards, and contactless payments

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Compatible with Cloud EMV

  • Ethernet

  • USB

Additional Resources:

  • Essential Technical Specification


Dejavoo Z8

The Dejavoo Z8 is a compact, countertop payment terminal designed for small to medium-sized businesses. It combines advanced functionality with user-friendly features to streamline payment processing. Ideal for retail, restaurants, and service industries that need fast, secure, and versatile payment processing.

Features
Integration Type
Communication Options
  • Accepts EMV chip cards, magnetic stripe cards, and contactless payments

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Compatible with Cloud EMV

  • Countertop

  • Ethernet

  • Wi-Fi

Additional Resources:

  • Essential Technical Specification


Dejavoo Z9

The Dejavoo Z9 is a highly adaptable and durable wireless POS terminal, perfect for mobile payments. Its versatility makes it an excellent choice for a wide range of business environments, including restaurants, retail stores, and mobile services.

Features
Integration Type
Communication Options
  • Accepts EMV chip cards, magnetic stripe cards, and contactless payments

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Compatible with Cloud EMV

  • Wireless

  • Ethernet

  • Wi-Fi

  • GPR

Additional Resources:

  • EMV Quick Reference Guide: Retail/Restaurant

  • Essential Technical Specification


Dejavoo Z11

The Dejavoo Z11 is a compact and advanced countertop touch-screen POS terminal. It is designed to handle a variety of payment methods and is ideal for businesses looking for a reliable and versatile payment solution.

Features
Integration Type
Communication Options
  • Accepts EMV chip cards, magnetic stripe cards, and contactless payments

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Compatible with Cloud EMV

  • Countertop

  • Ethernet

  • Wi-Fi

Additional Resources:

  • EMV Quick Reference Guide: Retail/Restaurant

  • Essential Technical Specification


Dejavoo QD Line

The QD Line offers Android-based terminals with high-definition touchscreens, robust processors, and versatile connectivity options, ensuring efficient and secure payment processing

Dejavoo QD2

The Dejavoo QD2 is a compact, high-performance Android PIN Pad designed to complement POS terminals for businesses that require secure, customer-facing payment options. Perfect for businesses needing an economical, compact, and secure PIN pad for basic transactions.

Features
Integration Type
Communication Options
  • Supports EMV chip cards, magnetic stripe cards, and NFC contactless payments

  • Internal PIN Pad and contactless

  • Large touch screen

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Compatible with Cloud EMV

  • Wireless

  • GPRS

  • Wi-Fi

Additional Resources:

  • Getting Started with the QD2 & QD4

  • Essential Technical Specification


Dejavoo QD4

The Dejavoo QD4 is a countertop Android POS terminal designed to provide secure and efficient payment processing for businesses. The terminal supports multiple connectivity options providing flexibility for various business setups.

Features
Integration Type
Communication Options
  • Supports EMV chip cards, magnetic stripe cards, and NFC contactless payments

  • Large touch screen

  • Supports external PIN Pad (QD3 PIN Pad)

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Compatible with Cloud EMV

  • Ethernet

  • Wi-Fi

Additional Resources:

  • Getting Started with the QD2 & QD4

  • Essential Technical Specification


Dejavoo QD3

The Dejavoo QD3 is a compact Android PIN pad terminal designed for secure and efficient payment processing. It seamlessly integrates with the QD4 terminal via a USB-to-USB (U-U) cable, ensuring a smooth and reliable connection.

Features
Integration Type
Communication Options
  • Accepts EMV chip cards, magnetic stripe cards, and NFC contactless payments

  • Internal PIN Pad and contactless

  • Large touch screen

  • Utilizes Quest™ PCI-Validated P2PE for secure transactions

  • Compatible with the QD4 terminal via a USB-to-USB (U-U) cable

  • Ethernet

  • Wi-Fi

  • Bluetooth 4.0

Additional Resources:

  • Essential Technical Specification

Failed Transaction Response Validation

An error message appears on your website when a transaction fails, such as the following:

Error message: "We were unable to process your payment. Please verify your card details and try again or contact us to complete your order."

You can configure an error message with different text. For more information, see and .

Add the ClearentOnError function to your website to detect failed transactions and return a JSON object with the raw and signed server response.

The following sample code includes the raw and JSON-formatted response, along with the error message and transaction ID for a failed transaction:

You can validate the response for a failed or unsuccessful transaction:

  • Using an error message: The response object with an error message that is intentionally vague to prevent scammers from using the service to test cards and security codes.

  • Using the Virtual Terminal: You can search for the transaction ID manually to validate the failed transaction details.

The response does not include transaction information for transactions not attempted due to an invalid or expired public key or an unrecoverable server error.

An error message is generic and shown to the customers for security purposes. In case you have questions about any error, log the exchange ID from the received failed response and send it to us.

The exchange ID may appear in the following format: ID-5ba9fd2f10ea-59988-1441133412260-0-1343.

<script>
            // called after failed complete
               function ClearentOnError(responseRaw,ResponseJSON)
            {
                console.log("transaction failed");
                console.log(responseRaw);
                console.log(ResponseJSON);
                // use JS short-circuiting to determine if we have an error message
                if(ResponseJSON.payload && ResponseJSON.payload.error && ResponseJSON.payload.error['error-message'])
                {
                    console.log("error = " + ResponseJSON.payload.error['error-message']);
                }
                else
                {
                    console.log("unable to determine error");
                }
                // use JS short-circuiting to determine if we have a transaction id
                if(ResponseJSON.payload && ResponseJSON.payload.transaction && ResponseJSON.payload.transaction.id)
                {
                    console.log("transaction id = " + ResponseJSON.payload.transaction.id);
                }
                else
                {
                    console.log("transaction id not found");
                }
}
<script/>
Configuring Hosted Payment Page Using Methods
Configuring Hosted Payment Page Using Functions

Styling Your Brand on the Payment Page

Integrate hosted payments to apply your brand styling to the payment page using elements from your browser’s developer tools.

The following sample code includes class and id to style the payment page with your desired branding:

<style>
          .Clearent-header {
            height: 90px;
            background-color: #E8F2FE;
            border-radius: 5px 5px 0 0;
          }
          .Clearent-merchant-logo {
            background-image: url('images/logo_gears.png');
            background-size: 100px 100px;
            background-repeat: no-repeat;
            height: 100px;
            width: 100px;
            float: left;
          }
          .Clearent-title {
            margin-top: 5px;
            margin-left: 10px;
            float: left;
            font-size: 30px;
            font-weight: bold;
            color: #fff;
            /* offset-x | offset-y | blur-radius | color */
            text-shadow: 1px 1px 3px black;
          }
          .Clearent-body {
            clear: both;
            padding-top: 0px;
          }
          .Clearent .glyphicon {
            color: #888;
            font-weight: bold;
          }
          .Clearent .input-group-addon {
            border-color: #337AB7;
          }
          .Clearent .form-control {
            border-color: #337AB7;
          }
          .Clearent-cancel,
          .Clearent-submit {
            text-transform: lowercase;
          }
          .Clearent-submit {
            border-color: #ccc;
            background-color: #E8F2FE;
            color: #000;
            /* offset-x | offset-y | blur-radius | color */
            text-shadow: 1px 1px 3px #fff;
          }
          .Clearent-submit:hover {
            background-color: #fff;
          }
</style>

Configuring the Pay Now Button

To configure the Pay Now button to your website:

1

Copy the following example code.

<script type="text/javascript" id="clearent-hpp" src="https://hpp-sb.clearent.net/js/clearent.js"></script>
<script>
       Clearent.payButton({"pk":"307a301406072a864.....8ce3d076fde833c136b", "amount": "64.50"});
</script>
2

Paste it into your web page.

3

Add a link to the clearent.js script.

4

Enter the Merchant ID into {MID}.

Note: Merchant ID must be a 16-digit number.

5

Enter the Terminal ID into {TID}.

Note: Terminal ID must be a 16-digit number.

6

Add clearent-hpp as an ID in the code.

7

Add the amount field to include sales amount. For example, 64.50

8

Add the Clearent.payButton() method call to the code.

The following button link will be displayed to accept payments and donations on your website.

Pay Now button

When your customers click the Pay Now button to pay, the following hosted payment page will be displayed. The hosted payment page has fields to enter the card details for your customers.

Payment form

Gathering Merchant Demographics

Xplor Pay collects detailed demographic information to create a comprehensive profile for each business. This helps us understand the operational structure, compliance requirements, and financial needs of the applicant.

The process includes two steps:

1. Create New Merchant Account

Create Merchant

A registered applicant must call the ‘Create Merchant’ endpoint to create new merchant accounts within the application. It validates the provided business model with essential fields such as dbaName, hierarchyNodeKey, and userName. This endpoint uses the POST method to submit and store all critical merchant information, ensuring streamlined operations throughout their lifecycle.

POST https - api/demographics/v1/Merchants

Once validation is complete, the merchant is created, and the changes are queued for processing. This response includes the merchant's details, setting the foundation for adding demographic information by initiating other relevant endpoints in the subdomain.

2. Add Merchant Demographics Information

Business Contact

The ‘Business Contact’ endpoint allows users to establish a primary point of contact for the business and ensures the total ownership adds up to 100%. By using the POST method, this endpoint enables the submission of essential details such as personal information and ownership stakes to the merchant account, ensuring accurate record-keeping of each business contact.

POST https - /api/demographics/v1/BusinessContacts/{merchantNumber}

Physical Address

The ‘Physical Address’ endpoint assigns a physical location to the merchant account, representing the geographic site where the business operates. It uses the POST method to submit location details with specific parameters. This address must be a registered business or retail location.

POST https - /api/demographics/v1/MerchantPhysicalAddresses/{merchantNumber}

Mailing Address

The ‘Mailing Address’ endpoint assigns an address for correspondence and official communications to the merchant account. It uses the POST method to submit address details with specific parameters (similar to Physical Address). A mailing address must be provided even if it matches the physical address.

POST https - /api/demographics/v1/MerchantMailingAddresses/{merchantNumber}

Taxpayer Information

The ‘Taxpayer Information’ endpoint adds essential taxpayer details (necessary for compliance with tax regulations) to the merchant account. It uses the POST method to submit relevant taxpayer data, such as the merchant’s legal name, tax ID, state of incorporation, etc. This information is crucial to ensure proper identification and reporting for the businesses.

POST https - /api/demographics/v2/Taxpayers/{merchantNumber}

Banking Information

The ‘Banking Information’ endpoint adds the banking details (for handling merchant transactions) to the merchant account. It uses the POST method to submit information such as deposits, fees, chargebacks, etc. for the specific merchantNumber (16-digit MID).

POST https - /api/demographics/v1/BankAccounts/{merchantNumber}

Sales Profile

The 'Sales Profile' endpoint documents the business model, revenue streams, and sales expectations for the merchant. It adds essential sales processing information, card brand entitlements, and other merchant-specific details that are crucial for the merchant's payment processing setup. Using the POST method, this endpoint outlines the sales activities and product offerings associated with the specific merchant number.

POST https - /api/demographics/v2/SalesProfiles/{merchantNumber}

Site Survey

The ‘Site Survey’ endpoint records on-site data for physical validation of the business. It submits information about the Sales Rep or Agent’s acknowledgment of completing due diligence during the site survey. Using the POST method, it captures key verification details such as valid identification, inventory checks, and in-person verification.

POST https - /api/demographics/v1/SiteSurveys/{merchantNumber}

Beneficial Ownership Agreement

The ‘Beneficial Ownership Agreement’ endpoint confirms legal compliance by acknowledging the beneficial ownership details of members with 25% or more ownership. Using the POST method, it captures and submits the ownership information, ensuring that the necessary legal requirements are met. This process helps verify the ownership structure of the business and ensures compliance with regulations.

POST

https - /api/demographics/v1/BusinessContacts/{merchantNumber}/benificialowneragreement

Upload Document

The ‘Upload Document’ endpoint allows users to upload required documents for a merchant account using the assigned merchantNumber. Using the POST method, it enables the submission of document files along with their document ID and category, ensuring that all necessary paperwork is properly attached to the merchant’s account for processing.

POST /api/demographics/v1/Documents/{merchantNumber}

For a detailed breakdown of the request and response fields and their descriptions, refer to the reference documentation of API.

Viewing Application Summary

The Application Summary page provides an at-a-glance view of the merchant application’s progress in the Partner Portal. This page allows users to track the status of different sections, access merchant details, and manage the application as needed. Users can download the application or delete it if required.

1

Accessing the Application Summary Page

To navigate to the Application Summary page:

  • Log in to the Partner Portal.

  • Click on Applications in the top navigation menu.

  • Select the desired merchant application from the list.

  • The Application Summary page will display the details and statuses of each section.

2

Merchant Details Section

The Merchant Details section provides essential information about the merchant, including:

  • Merchant Name – Displays the registered name of the merchant.

  • Merchant Address – Shows the merchant’s business address.

  • MID (Merchant Identification Number) – A unique identifier assigned to the merchant.

  • Rep – Displays the assigned representative, if applicable.

3

Application Status Section

The Application Status section outlines the progress of each required step in the application process. Each section displays a status indicator:

  • Completed – The section has been successfully filled and submitted.

  • In Progress – The section is partially completed and requires further action.

  • Pending – No information has been provided yet.

4

Status Categories

  • Business – Indicates the completion status of the merchant’s business details.

  • Profile – Displays the status of profile-related information, including business structure and ownership details.

  • Site Survey – Shows whether the required site survey has been completed.

  • Pricing – Indicates if pricing details have been configured.

  • Banking – Displays the status of bank account details and verification.

  • Equipment – Reflects whether equipment has been selected and assigned.

  • Signatures – Indicates if all necessary signatures have been collected and submitted.

  • Submit – The final step, where users can review and submit the application for processing.

5

Managing the Application

The Application Summary page includes the following management options:

  • Download & Print App – Allows users to download a copy of the application for records or submission.

  • Delete App – Provides an option to remove the application permanently from the system. Users should confirm before proceeding, as this action is irreversible.

Next Steps

  • If any section is marked as In Progress or Pending, users should click on the respective section to complete the required information.

  • Once all sections display Completed, navigate to the Submit section to finalize and submit the application.

  • Users should verify all details for accuracy before submission to prevent processing delays.

{
  "legalFirstName": "John",
  "legalLastName": "Doe",
  "tin": "12-3456789",
  "encryptedTIN": "ENCRYPTED_TIN_VALUE",
  "tinTypeID": 3,
  "businessLegalName": "Doe Enterprises LLC",
  "stateIncorporatedCode": "CA"
}
{
  "bankAccountID": 1001,
  "bankName": "Bank of America",
  "nameOnAccount": "Doe Enterprises LLC",
  "accountHolderFirstName": "John",
  "accountHolderLastName": "Doe",
  "bankAccountTypeID": 3,
  "bankAccountNameTypeID": 1,
  "aba": "091000019",
  "accountNumber": "123456789012",
  "lastFourAccountNumber": "9012",
  "encryptedAccountNumber": "ENCRYPTED_ACCOUNT_VALUE",
  "voidedCheckDocumentID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "hasFees": true,
  "hasFunds": true,
  "hasChargebacks": true,
  "isNameSameAsLegalOrDBAName": true,
  "currency": "USD",
  "purpose": "Settlement",
  "lastUpdatedUtc": "2024-10-15T10:18:39.702Z"
}
{
  "usesFulfillmentHouse": true,
  "offersNegativeOptionBilling": false,
  "fulfillmentHouseAddress": {
    "line1": "1011 Northwest Ave",
    "line2": "Suite 223",
    "line3": "",
    "city": "Kansas City",
    "countryCode": 840,
    "stateCode": "MO",
    "zip": "64105"
  },
  "fulfillmentHousePhone": {
    "areaCode": "816",
    "phoneNumber": "5556789",
    "extension": "105",
    "phoneTypeCodeID": 3
  },
  "vendorName": "Doe Distribution Inc.",
  "dateOfIncorporation": "2018-06-15T00:00:00",
  "useExtraCnpValidation": true,
  "isECommerce": true,
  "mccCode": "5812",
  "cardPresentPercentage": 40,
  "returnRefundPolicy": "Full refunds are available within 60 days.",
  "productsSold": "Organic food and beverages.",
  "previouslyAcceptedPaymentCards": true,
  "previousProcessorId": 12,
  "previouslyTerminatedOrIdentifiedByRiskMonitoring": false,
  "reasonPreviouslyTerminatedOrIdentifiedByRisk": "",
  "currentlyOpenForBusiness": true,
  "annualVolume": 750000,
  "averageTicket": 65.50,
  "highTicket": 850,
  "ownsProduct": true,
  "ordersProduct": true,
  "sellsFirearms": false,
  "cbdSalesTypeID": 2,
  "salesProfileCBD": {
    "annualCBDRevenuePercentage": 20,
    "cbdProductInventoryPercentage": 50,
    "salesProfileCBDCategory": 2,
    "cbdCategoryID": 1
  },
  "sellsFirearmAccessories": false,
  "futureDeliveryTypeID": true,
  "otherDeliveryType": "Standard shipping",
  "otherDeliveryTypeInDays": 7,
  "futureDeliveryPercentage": 60,
  "fireArmsLicense": "",
  "cardBrands": [1, 2, 3, 4],
  "ebtNumber": "1998882",
  "amexMID": "1998882"
}
{
  "siteTypeID": 4,
  "otherSiteTypeDescription": "Retail Storefront",
  "siteSurveyConductedInPerson": true,
  "merchantAcquisitionTypeID": 3,
  "validIDVerified": true,
  "inventoryMatchesProductSold": true,
  "inventoryMatchesProductSoldComments": "Inventory check completed; products match business description.",
  "agreementAccepted": true,
  "selfSignUpApplication": false
}
{
  "allPersonsWithOverTwentyFivePercentOwnershipHaveBeenAdded": true
}
"string"
Merchant Demographics

Using Members

Refer to the following table to configure your payment page popup:

Using this member…
You can…
Type
Default Value
Remark

accountNumberMasked

Decide if the Account Number field should display masked information after the customer exits the field.

Boolean

True

To unmask the Account Number field when your customer exits this field, set the accountNumberMasked member to False.

accountNumberPlaceholder

Decide the text to display for the Account Number field before your customer provides input.

String

Account Number

None

accountTypePlaceholder

Decide the text to display for the Account Number field before your customer selects it.

String

Account Type

None

allowAutoComplete

Decide if the fields in the Payment Details form should autocomplete.

Boolean

True

To configure the cardholder-facing implementation, set the allowAutoComplete member to True.

To configure the merchant-facing implementation, set the allowAutoComplete member to False.

allowEmbedded

Decide if JavaScript SDK's host page should be embedded in another page.

Boolean

True

None

baseUrl

Decide if the Xplor Pay Gateway base URL should be set to sandbox or production URL.

Note: You must set the baseUrl to sandbox or production URL.

String

Null

None

blockMetaKeys

Decide if meta key combinations (alt or ctrl) should be blocked for the hosting page.

Some card readers may generate keystrokes that include meta keys even after the card read is complete, causing unnecessary behavior in the browser window.

Mode

False

The blockMetaKeys member allows you to block meta key combinations on all pages containing the Xplor Pay script.

This setting blocks certain meta key combinations, except for closing the window (Ctrl + W), opening a new window (Ctrl + N), or opening a new tab (Ctrl + T).

cardFormatted

Decide if the card field should be formatted as the customer enters information in the field.

Note: To make this setting effective, set the enableReader member to True.

Boolean

True

The cardFormatted member allows you to display the text in the Card Payment fields in a format similar to how the information appears on the physical card as the customer enters information.

To configure the cardholder-facing implementation, set the cardFormatted member to True.

cardMasked

Decide if the card field should display masked information after the customer exits the field.

Boolean

True

To unmask the Card Payment fields when your customer exits fields, set the cardMasked member to False.

To configure the cardholder-facing implementation, set the cardMasked member to True.

cardPlaceholder

Decide the text to display for the card field before your customer provides input.

String

Card Number

None

cardReadCompleteCallback

Decide the name of the function to call to receive a message after completing the card read.

String

ClearentCardReadComplete

None

cardReadStartCallback

Decide the name of the function to call to receive a message when starting the card read.

String

ClearentCardReadStart

None

clearFormOnSuccess

Decide if the Payment Details form should be cleared on a successful call to getPaymentToken().

Boolean

False

The clearFormOnSuccess member allows you to clear the form in a back-office implementation.

cvcMasked

Decide if the CSC field should display masked information after the customer exits the field.

Boolean

True

To unmask the Card Payment fields when your customer exits this field, set the accountNumberMasked member to False.

To configure the cardholder-facing implementation, set the cvcMasked to True.

cvcPlaceholder

Decide the text to display for the CVC field before your customer provides input.

String

CSC

None

cvcRequired

Decide if the CVC field is mandatory for customer to enter a value.

Boolean

True

None

deviceType

Decide the device type of external keyboard-emulation card reader.

String

Null

The deviceType member allows you to add an external card reader.

JavaScript SDK supports following Card Reader:

  • IDTECH

enableAch

Decide if the customer should pay with an online check.

Boolean

False

None

enableReader

Decide if an external card reader should be supported for reading cards.

Boolean

False

You need to add the Card Reader button to start reading the card details using an external keyboard-emulation card reader.

JavaScript SDK supports following card reader:

  • IDTECH

entryModeChangeCallback

Decide the name of the function to call to receive a message when changing the card entry mode.

String

ClearentEntryModeChange

None

errorCallback

Decide the name of the function to call to receive the getPaymentToken() response.

String

ClearentTokenError

None

expDateFormatted

Decide if the Expiration Date field should be formatted on entry.

Boolean

True

The expDateFormatted member allows you to display the text in the Expiration Date field in a format similar to how the information appears on the physical card as the customer enters information.

To configure the cardholder-facing implementation, set the expDateFormatted to True.

expDateMasked

Decide if the Expiration Date field should be masked when customer exits the field.

Boolean

True

To unmask the Expiration Date field when your customer exits this field, set the expDateMasked member to False.

To configure the cardholder-facing implementation, set the expDateMasked to True.

expDatePlaceholder

Decide the text to display for the Expiration Date field before your customer provides input.

String

MMYY

None

individualNamePlaceholder

This member allows you to decide the text to display for the Expiration Date field before your customer selects the field.

String

Name on account

None

initialMode

Decide if the Payment Details form should open in manual card entry mode or keyboard reader mode.

String

Manual

You need to set the enableReader member to True before setting the initialMode member.

When you set the initialMode member to manual or reader mode, the payment form will actively listen for keystrokes generated by the card reader.

Your customers will see errors and retries if they enter keystrokes that are part of the card read.

We recommend testing this use case before implementation.

paymentFormId

Decide the ID of div element that will hold the Payment Details form.

String

payment-form

To avoid conflicts with existing code and page element IDs, set the paymentFormId member to a value other than the default.

paymentTypeCallback

Decide the name of the function to call the onPaymentTypeChange().

String

ClearentOnPaymentTypeChange

To call the function, set the enableReader member to ACH.

This function is called when the payment type changes to card or ACH.

pk

Public Key

Note: You must set the pk member.

String

Null

None

routingNumberMasked

Decide if the Routing Number field should be masked when customer exits the field.

Boolean

True

To unmask the Routing Number field when your customer exits this field, set the routingNumberMasked member to False.

routingNumberPlaceholder

Decide the text to display for the Routing Number field before your customer provides input.

String

Routing Number

None

showValidationMessages

Decide if validation messages should be displayed below the payment form.

Boolean

True

To configure the handling of validation messages elsewhere, set the showValidationMessages member to False.

styles

Decide the style for the framed contents.

String

Null

You can use the IDs and classes from your browser’s Developer tools to style the frame of the payment page.

successCallback

Decide the name of the function to call to receive the getPaymentToken() response.

String

ClearentTokenSuccess

This function is called when the getPaymentToken generate successful.

validationCallback

Decide the name of the function to call to receive the validation messages.

String

ClearentValidation

None

{
  "businessID": 524398752,
  "hierarchyNodeKey": "1234567800000001",
  "dbaName": "Jane's Sandwiches",
  "merchantNumber": "1234567891234567",
  "emailAddress": "[email protected]",
  "webSite": "https:/www.janessandwiches.com",
  "phones": [
    {
      "phoneTypeCodeID": 1,
      "areaCode": "415",
      "phoneNumber": "5551234",
      "extension": "101"
    }
  ],
  "acceptsPaperStatements": true,
  "acceptsPaperTaxForms": false,
  "companyTypeId": 2,
  "isChainMerchant": false,
  "seasonalSchedule": {
    "january": true,
    "february": false,
    "march": true,
    "april": true,
    "may": true,
    "june": false,
    "july": true,
    "august": true,
    "september": false,
    "october": true,
    "november": true,
    "december": false
  },
  "salesInformation": {
    "salesInformationID": 1001,
    "businessID": 2002,
    "assignedUser": 3003,
    "referralPartner": "John Doe",
    "compensationType": 2
  }
}
{
  "phoneNumbers": [
    {
      "phoneTypeCodeID": 1,
      "areaCode": "415",
      "phoneNumber": "5555678",
      "extension": "102"
    }
  ],
  "businessContactId": 1001,
  "contact": {
    "countryOfCitizenshipCode": 840,
    "address": {
      "line1": "456 Market St",
      "line2": "Suite 300",
      "line3": "",
      "city": "San Francisco",
      "countryCode": 840,
      "stateCode": "CA",
      "zip": "94103"
    },
    "ssnLastFour": "6789",
    "encryptedSSN": "ENCRYPTED_VALUE",
    "ssn": "123-45-6789",
    "contactId": 2002,
    "firstName": "John",
    "lastName": "Doe",
    "dateOfBirth": "1985-07-22T00:00:00.000Z"
  },
  "ownershipAmount": 50,
  "emailAddress": "[email protected]",
  "title": "Managing Partner",
  "contactTypes": [
    {
      "businessContactContactTypeID": 3003,
      "businessContactID": 1001,
      "contactTypeID": 2
    }
  ],
  "isCompassUser": true,
  "isMerchantHomeUser": true,
  "isVirtualTerminalUser": true,
  "isAuthorizedToPurchase": true
}
{
  "stateCode": "CA",
  "zip": "94103",
  "countryCode": 840,
  "line1": "789 Mission St",
  "line2": "Suite 400",
  "line3": "",
  "city": "San Francisco"
}
{
  "stateCode": "CA",
  "zip": "94103",
  "countryCode": 840,
  "line1": "789 Mission St",
  "line2": "Suite 400",
  "line3": "",
  "city": "San Francisco"
}

Configuring Hosted Payment Page Using Members

Refer to the following table to configure the payment page on your website:

Using this member…
You can…
Type
Default Value
Remark

ach-account-name

Decide to display the ACH Account Name field on the Payment Page.

Boolean

False

None

ach-account-name-label

Decide the text to display above the Account Name field.

String

Name on account

Set the show-labels to True before configuring the ach-account-name-label.

ach-account-name-missing-error

Decide the text to display in the error message when the account number is missing before completing the payment page for ACH transactions.

String

"Name on account is missing"

None

ach-account-name-placeholder

Decide the text to display before your customer enters values in the ACH Account Name field.

String

Name on account

None

ach-account-name-tooltip

Decide the tooltip text to display when your customers hover over the ACH Account Name field.

String

(empty string)

None

ach-account-number-invalid-error

Decide the message text should display when your customers enter an invalid account number in the field.

String

"Account number must be 1 to 17 digits"

None

ach-account-number-label

Decide the text to display for the ACH Account Number field when you set the show-labels to True.

String

Account number

None

ach-account-number-missing-error

Decide the text to display in the error message when the account number is missing before completing the payment page for ACH transactions.

String

"Account number is missing"

None

ach-account-number-placeholder

Decide the text to display before your customers enter values in the ACH Account Number field of the payment page.

String

Account number

None

ach-account-number-tooltip

Decide the tooltip text to display when your customers hover over the ACH Account Number field.

String

(empty string)

None

ach-account-type-label

Decide the text to display above the Account Type dropdown field.

String

Account type

Set the show-labels to True before configuring the ach-account-type-label.

ach-account-type-missing-error

Decide the text to display in the error message when the account type is missing before completing the payment page for ACH transactions.

String

"Account type is not selected"

None

ach-account-type-placeholder

Decide text to display before your customers select value from the dropdown list of the ACH Account type field of the payment page.

String

Account type

None

ach-account-type-tooltip

Decide the tooltip text to display when your customers hover over the ACH Account Type dropdown field.

String

(empty string)

None

ach-amount-label

Decide the text to display above the ACH Amount field.

String

Amount

Set the show-labels to True before configuring the ach-ach-amount-label.

ach-amount-placeholder

Decide the text to display before your customers enter values in the ACH Amount field of the payment page.

String

Enter amount

The payment page displays amount input if you do not set the value for the ach-amount-placeholder.

ach-amount-tooltip

Decide the tooltip text to display when your customers hover over the ACH Amount field.

String

(empty string)

None

ach-check-number-label

Decide the text to display above the ACH Check Number dropdown field.

String

Check number

Set the show-labels to True before configuring the ach-check-number-label.

ach-check-number-missing-error

Decide the text to display in the error message when the required check number is missing to complete the payment page for ACH transactions.

String

"Check number is missing"

None

ach-check-number-placeholder

Decide the text to display before your customers enter values in the ACH Check Number field of the payment page.

String

Check number

The payment page displays check number input if you do not set the value for the ach-check-number-placeholder.

ach-check-number-required

Decide if the ACH Check Number field is required to complete the payment page.

Boolean

False

None

ach-check-number-tooltip

Decide the tooltip text to display when your customers hover over the ACH Check Number field.

String

(empty string)

None

ach-description-placeholder

Decide the text to display before your customers enter values in the ACH Description field while they save payment method on the payment page.

String

ACH payment description

None

ach-description-tooltip

Decide the tooltip text to display when your customers hover over the ACH Description field.

String

(empty string)

None

ach-routing-number-invalid-error

Decide the text to display in the error message when the routing number is invalid before completing the payment page for ACH transactions.

String

"Routing number must be 9 digits"

None

ach-routing-number-label

Decide the text to display above the ACH Routing Number field.

String

Routing number

Set the show-labels to True before configuring the ach-routing-number-label.

ach-routing-number-missing-error

Decide the text to display in the error message when the routing number is missing before completing the payment page for ACH transactions.

String

"Routing number is missing"

None

ach-routing-number-placeholder

Decide the text to display before your customers enter values in the ACH Routing Number field on the payment page.

String

Routing number

The payment page displays routing number input if you do not set the value for the ach-routing-number-placeholder.

ach-routing-number-tooltip

Decide the tooltip text to display when your customers hover over the ACH Routing Number field.

String

(empty string)

None

ach-terms-not-accepted-error

Decide the text to display in the error message when the terms and conditions are not accepted before completing the payment page for ACH transactions.

String

"Check number is missing"

None

ach-validate-account-invalid-error

Decide the text to display in the error message when the validate account is not valid before completing the payment page for ACH transactions.

String

"ACH Account validation failed"

None

add-payment-button-text

Decide the text to display on the button that opens the Add Payment Method form on the payment page.

String

Add payment method

Set the request-type to token-only before configuring the add-payment-button-text member.

address2-label

Decide the text to display above the Billing Address and Street Address fields.

String

Street Address2

Set the show-labels to True before configuring the address2-label.

address2-placeholder

Decide the text to display before your customers enter values in the Billing Address field on the payment page.

String

Address2

None

address2-tooltip

Decide the tooltip text to display when your customers hover over the Billing Address and Street Address fields.

String

(empty string)

None

address-label

Decide the text to display above the Billing Address and Street Address fields.

String

Street Address

Set the show-labels to True before configuring the address-label.

address-missing-error

Decide the text to display in the error message when the required billing address is missing to complete the payment page for ACH transactions.

String

"Address required and street address is missing"

None

address-placeholder

Decide the text to display before your customers enter values in the Billing Address field on the payment page.

String

Address

None

address-tooltip

Decide the tooltip text to display when your customers hover over the Billing Address and Street Address fields.

String

(empty string)

None

amount

Decide the text to display in the Sale Transaction Amount field on the payment page.

String

None

None

amount-invalid-error

Decide the text to display in the error message when the entered amount is invalid on the payment page.

String

"Amount is not valid; Please include two decimal places (ex 1.00). Do not include $ symbol."

None

amount-label

Decide the text to display above the Amount field.

String

Amount

Set the show-labels to True before configuring the amount-label.

amount-missing-error

Decide the text to display in the error message when the amount is missing on the payment page.

String

"Amount is missing"

None

amount-placeholder

Decide the text to display before your customers enter values in the Amount field on the payment page.

String

Enter amount

The payment page displays amount input if you do not set the value for the amount-placeholder.

amount-tooltip

Decide the tooltip text to display when your customers hover over the Amount field.

String

(empty string)

The payment page displays amount input if you do not set the value for the amount-tooltip.

apple-pay-amount-label

Decide the text to display above the Total Amount field in the Apple Pay Payment Page.

String

None

If the value has not set for the apple-pay-amount-label, the label displays default Merchant DBA.

apple-pay-payment-session-error-message

Decide the text to display in the error message when the Apple Pay session fails to establish on the payment page.

String

"We were unable to establish an Apple Pay session for your payment transaction. Please try again or complete your order by entering your card details."

None

apple-pay-transaction-error-message

Decide the text to display in the error message when the Apple Pay transaction fails or unsuccessful on the payment page.

String

"We are unable to process your Apple Pay transaction. Please try again or complete your order by entering your card details below. If the problem persists, please contact us."

None

billing-address

Decide an optional property to set the billing address. When you set this property, the fields are pre-populated in billing address of the payment page.

Object

(null)

None

billing-address-label

Decide the text to display above the Billing Address section of the Payment Page.

String

Billing Address

None

billing-zip

Decide an optional property to set a zip code. When you set this property, the field is pre-populated in billing address of the payment page.

String

(null)

None

billing-zip-length-error

Decide the text to display in the error message when the zip code field value of the billing address is more than ten characters on the payment page.

String

"Zip code can not be more than 10 characters"

None

cancel-button-text

Decide the text to display on the Cancel button of the payment page.

String

Cancel

None

card

Decide an optional property to set the last four digits of card number on the payment page.

String

None

Returns null if the payment request has not submitted.

card-acceptance-label

Decide the text to display on the images of card type that are accepted for payments on the page.

String

Pay using.

Visa, MasterCard, American Express, Discover, Diners Club, and JCB.

card-description-label

Decide the text to display on the Card Description field on the payment page.

String

"Card Description"

Set the show-labels to True before configuring the card-description-label.

card-description-placeholder

Decide the text to display before your customers enter values in the Card Description field on the payment page.

String

Card description

None

card-description-tooltip

Decide the tooltip text to display when your customers hover over the Card Description field.

String

(empty string)

None

card-invalid-error

Decide the text to display in the error message when the card number is invalid on the payment page.

String

"Card number is not valid"

None

card-label

Decide the text to display on the Card Number field on the payment page.

String

Card number

Set the show-labels to True before configuring the card-label.

card-missing-error

Decide the text to display in the error message when the card number is missing on the payment page.

String

"Card number is missing"

None

card-placeholder

Decide the text to display before your customers enter values in the Card Number field on the payment page.

String

Card number

None

card-tooltip

Decide the tooltip text to display when your customers hover over the Card Number field.

String

(empty string)

None

check-field

Decide if the Hosted Payment Page checks a specific field before processing transaction.

String

null

Prevent duplicate payments.

For example, if you set the check-field to invoice to complete the transaction for the invoice, the original transaction will be returned and no new transaction will be attempted using the same invoice. Set a unique value for the specified field name before configuring the check-field.

check-field-mid

Decide if the Hosted Payment Page checks a specific field before processing transaction across merchant level.

Boolean

False

Prevent duplicate payments.

For example, if you set the check-field to invoice to complete the transaction for the invoice, the original transaction will be returned and no new transaction will be attempted using the same invoice.

Set a unique value for the specified field name before configuring the check-field.

city-label

Decide the text to display above the City field of the Billing Address section on the payment page.

String

City

Set the show-labels to True before configuring the city-label.

city-missing-error

Decide the text to display in the error message when the required City is missing from the Billing Address section to complete the payment page.

String

"Address required and city is missing"

None

city-placeholder

Decide the text to display before your customers enter values in the City field from the Billing Address section of the payment page.

String

City

None

city-tooltip

Decide the tooltip text to display when your customers hover over the City field on the Payment Page.

String

(empty string)

None

close-button-text

Decide the text to display on the Close button of the payment page.

String

Close

None

comments

Decide to display the Comments field for setting values stored with transactions.

String

(null)

The Comments field will be displayed when you are using Virtual Terminal to research transaction data.

When you set the comments property, the Payment Page pre-populates the Comment field.

comments-label

Decide the text to display above the Comments field on the Payment Page.

String

Comments

Set the show-labels to True before configuring the city-label.

comments-missing-error

Decide if the Comments field as required to complete the Payment Page for transactions and the text to display in the error message when comment is missing on the Payment Page.

String

"Comments required and is missing"

None

comments-placeholder

Decide the text to display before your customers enter the values in the Comments field on the Payment page.

String

Comments

None

comments-tooltip

Decide the tooltip text to display when your customers hover over the Comments field on the Payment Page.

String

(empty string)

None

customer-id

Decide to set the Customer ID field on the Payment Page for transactions.

String

(null)

Set the Customer ID field to research transaction data using Virtual Terminal.

Also, set the property to pre-populate the Customer ID field on your payment page.

customer-id-label

Decide the text to display above the Customer ID field on the Payment Page.

String

customer-id

Set the show-labels to True before configuring the city-label.

customer-id-missing-error

Decide the text to display in the error message when customer ID is missing on the Payment Page.

String

"Customer-id required and is missing"

None

customer-id-placeholder

Decide the text to display before your customers enter the values in the Customer ID field on the Payment page.

String

Customer ID

None

customer-id-tooltip

Decide the tooltip text to display when your customers hover over the Customer ID field on the Payment Page.

String

(empty string)

None

cvc-invalid-error

Decide the text to display in the error message when card security code is invalid on the Payment Page.

String

"CSC length is not valid for card type"

None

cvc-label

Decide the text to display above the CVC field on the Payment Page.

String

Card Security Code

None

cvc-missing-error

Decide the text to display in the error message when card security code is missing on the Payment Page.

String

"CSC is missing"

None

cvc-placeholder

Decide the text to display before your customers enter the values in the CVC field on the Payment page.

String

Security Code

None

cvc-required

Decide if the CVC field is required to complete the Payment Page for transactions.

Boolean

True

None

cvc-tooltip

Decide the tooltip text to display when your customers hover over the CVC field on the Payment Page.

String

Enter security code found on back of Visa/Mastercard/Discover or front of American Express.

None

description

Decide to set the Description field on the Payment Page.

String

(null)

Set the Description field to research transaction data using Virtual Terminal.

Also, set the property to pre-populate the Description field on your payment page.

description-label

Decide the text to display above the Description field on the Payment Page.

String

Description

None

description-missing-error

Decide if the Description field as required to complete the Payment Page for transactions and the text to display in the error message when description for transaction is missing on the Payment Page.

String

"Description required and is missing"

None

description-placeholder

Decide the text to display before your customers enter the values in the Description field on the Payment page.

String

Description

None

description-tooltip

Decide the tooltip text to display when your customers hover over the Description field on the Payment Page.

String

(empty string)

None

dob-year

Decide to set the DOB Year field on the Payment Page.

String

(null)

Set the property to pre-populate the DOB field on your payment page.

dob-year-invalid-error

Decide the text to display in the error message when date of birth year is invalid on the Payment Page.

String

"Date of birth year is not valid (check for spaces or invalid characters)"

None

dob-year-label

Decide the text to display above the DOB Year field on the Payment Page.

String

Customer year of birth

None

dob-year-missing-error

Decide the text to display in the error message when date of birth year is missing on the Payment Page.

String

"Customer year of birth required and is missing"

None

dob-year-placeholder

Decide the text to display before your customers enter the values in the DOB Year field on the Payment page.

String

Enter customer year of birth

None

dob-year-tooltip

Decide the tooltip text to display when your customers hover over the DOB Year field on the Payment Page.

String

(empty string)

None

email-address

Decide to set the Email Address field on the Payment Page.

String

(null)

Set the property to pre-populate the Email Address field on your payment page.

email-address-invalid-error

Decide the text to display in the error message for an invalid email address on the Payment Page.

String

"Email address is not valid (check for spaces or invalid characters)"

None

email-address-label

Decide the text to display above the Email Address field on the Payment Page.

String

Email Address

None

email-address-missing-error

Decide the text to display in the error message when an email address is missing on the Payment Page.

String

"Email address required and is missing"

None

email-address-placeholder

Decide the text to display before your customers enter the values in the Email Address field on the Payment page.

String

Email address

None

email-address-tooltip

Decide the tooltip text to display when your customers hover over the Email Address field on the Payment Page.

String

(empty string)

None

email-receipt-option-text

Decide to create checkbox for the Send a receipt by email option on the Payment Page.

String

Send a receipt by email

None

enable-ach

Decide to create checkbox for your customer to pay with online check option on the Payment Page.

Boolean

False

None

entry-label-manual

Decide the text to display in the label for selecting the manual entry option on the Payment Page.

String

Manual card entry

Enable the use-mobile-reader before configuring the entry-label-manual for manual entry.

entry-label-mobile

Decide the text to display in the label for selecting the mobile reader card entry option on the Payment Page.

String

Use mobile reader

Enable the use-mobile-reader before configuring the entry-label-mobile for mobile card entry.

error-message

Decide the text to display in the error message for unsuccessful transaction on the Payment Page.

String

We were unable to process your payment. Please verify your payment details and try again or contact us to complete your order...

None

exp-date-invalid-error

Decide the text to display in the error message for expiration date is not valid on the Payment Page.

String

"Expiration date is not valid or expired. Please enter as MMYY."

None

exp-date-label

Decide the text to display above the Expiration Date field on the Payment Page.

String

Expiration Date (MM / YY)

Set the show-labels to True before configuring the exp-date-label.

exp-date-missing-error

Decide the text to display in the error message for expiration date is missing on the Payment Page.

String

"Expiration date is missing"

None

exp-date-placeholder

Decide the text to display before your customers enter the values in the Expiration Date field on the Payment page.

String

MMYY

None

exp-date-tooltip

Decide the tooltip text to display when your customers hover over the Expiration Date field on the Payment Page.

String

Enter 2-digit expiration month and 2-digit expiration year

None

first-name-label

Decide the text to display above the First Name field in the Billing Address section of the Payment Page.

String

First name on card

Set the show-labels to True before configuring the first-name-label.

first-name-missing-error

Decide if the First Name field as required to complete the Payment Page for transactions and the text to display in the error message when first name in the address is missing on the Payment Page.

String

"Address required and first name is missing"

None

first-name-placeholder

Decide the text to display before your customers enter the values in the First Name field on the Payment page.

String

First name on card

None

first-name-tooltip

Decide the tooltip text to display when your customers hover over the First Name field on the Payment Page.

String

(empty string)

None

heading-text

Decide the text in the header section of the Payment page.

String

Enter Payment Information

None

invalid-message

Decide the text to display in the error message for an invalid entry in the fields on the Payment Page.

String

(null)

None

invoice-label

Decide the text to display above the Invoice field on the Payment Page.

String

Invoice

Set the show-labels to True before configuring the invoice-label.

invoice-missing-error

Decide if the Invoice field as required to complete the Payment Page for transactions and the text to display in the error message when invoice for transaction is missing on the Payment Page.

String

"Invoice required and is missing"

None

invoice-placeholder

Decide the text to display before your customers enter the values in the Invoice field on the Payment page.

String

Invoice Number

None

invoice-tooltip

Decide the tooltip text to display when your customers hover over the Invoice field on the Payment Page.

String

(empty string)

None

last-name-label

Decide the text to display above the Last Name field in the Billing Address section of the Payment Page.

String

Last name on card

Set the show-labels to True before configuring the last-name-label.

last-name-missing-error

Decide if the Last Name field as required to complete the Payment Page for transactions and the text to display in the error message when last name in the address is missing on the Payment Page.

String

"Address required and last name is missing"

None

last-name-placeholder

Decide the text to display before your customers enter the values in the Last Name field on the Payment page.

String

Last name on card

None

last-name-tooltip

Decide the tooltip text to display when your customers hover over the Last Name field on the Payment Page.

String

(empty string)

None

mask-entry

Decide the masking behavior for the card number, expiration date, card security code, routing number, and account number fields on the Payment Page.

Boolean

True

When your customers select a field for entry, the field appears unmasked. When customers deselect the field, the entry appears masked.

merchant-logo-url

Decide the logo at the top of the Payment Page with URL link for payment.

String

null

None

merchant-name

Decide the text that replaces “the merchant” in the ACH Terms and Conditions. This text appears below the logo and above the header text, including the Pay link.

String

null

None

mobile-success-url

Decide to open the mobile payment URL using the default configured browser on the mobile device when customers pay through the mobile application. Also, decide to redirect customers to your website after a successful transaction using the mobile payment URL.

String

null

None

order-id

Decide to set an order ID for transactions.

String

(null)

Set the order-id to research transaction data using Virtual Terminal.

Also, set the property to pre-populate the Order ID field on your payment page.

order-id-label

Decide the text to display above the Order ID field on the Payment Page.

String

Order ID

Set the show-labels to True before configuring the order-id-label.

order-id-missing-error

Decide if the Order ID field as required to complete the Payment Page for transactions and the text to display in the error message when an order ID is missing on the Payment Page.

String

"Order-id required and is missing"

None

order-id-placeholder

Decide the text to display in the Order ID field on the Payment page.

String

Order ID

None

order-id-tooltip

Decide the tooltip text to display when your customers hover over the Order ID field on the Payment Page.

String

(empty string)

None

pay-button-parent

Decide the ID and element reference for the Pay Now button on the Payment Page. This will prevent the button from being added at the location of the Clearent.payButton() method call.

String

null

None

pay-button-text

Decide the text to display on the button link that opens the Payment page.

String

Pay Now

None

paylink-cancel-button-text

Decide to set the Pay with online-check option for your customer.

String

Cancel

None

payment-label-ach

Decide the text to display for selecting the Check Payment option on the Payment Page.

String

Check

Enable the ach.

payment-label-credit

Decide the text to display for selecting the Credit Payment option on the Payment Page.

String

Credit/Debit

Enable the ach.

payment-method-heading-text

Decide the text to display above the Payment section on the Payment Page. This section includes card entry fields and digital wallets.

String

"Payment Method"

None

phone-label

Decide the text to display above the Phone Number field in the Billing Address section of the Payment Page.

String

Phone number

None

phone-missing-error

Decide if the Phone Number field as required to complete the Payment Page for transactions and the text to display in the error message when phone number is missing on the Payment Page.

String

"Phone required is missing"

None

phone-placeholder

Decide the text to display before your customers enter the values in the Phone Number field on the Payment page.

String

Phone

None

phone-tooltip

Decide the tooltip text to display when your customers hover over the Phone Number field on the Payment Page.

String

(empty string)

None

pk

Public Key

String

Null

None

purchase-order

Decide to set a Purchase Order field for transactions.

String

Null

Set the purchase-order to research transaction data using Virtual Terminal.

Also, set the property to pre-populate the Purchase Order field on your payment page.

purchase-order-label

Decide the text to display above the Purchase Order field on the Payment Page.

String

Purchase Order

None

purchase-order-missing-error

Decide if the Purchase Order field as required to complete the Payment Page for transactions and the text to display in the error message when purchase order is missing on the Payment Page.

String

"Purchase-order required and is missing"

None

purchase-order-placeholder

Decide the text to display in the Purchase Order field on the Payment page.

String

Purchase Order

None

purchase-order-tooltip

Decide the tooltip text to display when your customers hover over the Purchase Order field on the Payment Page.

String

(empty string)

None

read-only-amount

Decide if the Amount field on the Payment Page is editable for customers.

Boolean

False

None

read-only-sales-tax-amount

Decide if the Sales Tax Amount field on the Payment Page is editable for customers.

Boolean

False

None

read-only-tip-amount

Decide if the Tip Amount field on the Payment Page is editable for customers.

Boolean

False

None

request-type

Decide to set the type of request for processing the transaction.

String

Sale

Available types are:

  • SALE

  • AUTH: This type will display successful payments to customers using transaction response.

  • TOKEN-ONLY

require-ach-account-name

Decide if the ACH Account Name field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-billing-address

Decide if the Billing Address section is required on the Payment Page to complete the transaction.

Boolean

False

None

require-billing-zip

Decide if the Zip field in the Billing Address section is required on the Payment Page to complete the transaction.

Boolean

False

None

require-card-inquiry

Decide if the Card Inquiry is performed to create a token.

Boolean

True

This applies only to TOKEN-ONLY request type.

require-comments

Decide if the Comments field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-customer-id

Decide if the Customer ID field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-description

Decide if the Description field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-dob-year

Decide if the DOB Year field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-email-address

Decide if the Email Address field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-invoice

Decide if the Invoice field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-order-id

Decide if the Order field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-phone

Decide if the Phone Number field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-purchase-order

Decide if the Purchase Order field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-sales-tax

Decide if the Sales Tax field is required on the Payment Page to complete the transaction.

Boolean

False

None

require-shipping-address

Decide if the Shipping Address section is required on the Payment Page to complete the transaction.

Boolean

False

None

require-shipping-phone

Decide if the Shipping Phone Number field is required on the Payment Page to complete the transaction.

Boolean

False

Do not configure the require-shipping-phone if you have already set require-shipping-address or show-shipping-address to True.

require-tip-amount

Decide if the Tip Amount field is required on the Payment Page to complete the transaction.

Boolean

False

Do not configure the require-tip-amount if you have already set the show-shipping-address to True.

sales-tax-amount

Decide to set the Sales Tax Amount field on the Payment Page for transactions.

String

None

To pre-populate the Sales Tax Amount field, set the sales-tax-amount property.

sales-tax-invalid-error

Decide the text to display in the error message when sales tax is invalid on the Payment Page.

String

"Sales tax amount is not valid; Please include two decimal places (ex 1.00). Do not include $ symbol."

None

sales-tax-label

Decide the text to display above the Sales Tax field on the Payment Page.

String

Sales tax

Set the show-labels to True before configuring the sales-tax-label.

sales-tax-missing-error

Decide if the Sales Tax field as required to complete the Payment Page for transactions and the text to display in the error message when sales tax is missing on the Payment Page.

String

"Sales tax amount required and is missing"

None

sales-tax-placeholder

Decide the text to display before customers enter values in the Sales Tax field on the Payment page.

String

Enter sales tax

None

sales-tax-tooltip

Decide the tooltip text to display when your customers hover over the Sales Tax field on the Payment Page.

String

(empty string)

None

save-ach-option-text

Decide the text to display next to the “Save this ACH account” checkbox when the show-save-card-option is set to True.

String

Save this account for future use

None

save-card-option-text

Decide the text to display next to the “Save this Card” checkbox when the show-save-card-option is set to True.

String

Save this account for future use

None

save-card-zip-missing-error

Decide if the Zip Code field is required to save a card on the Payment Page and the text to display in the error message when zip code is missing on the Payment Page.

String

"Zip code is missing"

None

shipping-address

Decide to set the Shipping Address field on the Payment Page.

String

(null)

To pre-populate the Shipping Address field, set the shipping-address property.

shipping-address-label

Decide the text to display above the Shipping Address field on the Payment Page.

String

Shipping Address

Set the show-labels to True before configuring the shipping-address-label.

shipping-address-missing-error

Decide if the Shipping Address field is required on the Payment Page and the text to display in the error message when shipping address is missing on the Payment Page.

String

"Shipping address required and street address is missing"

None

shipping-address-placeholder

Decide the text to display before customers enter values in the Shipping Address field on the Payment page.

String

Address

None

shipping-address-tooltip

Decide the tooltip text to display when your customers hover over the Shipping Address field on the Payment Page.

String

(empty string)

None

shipping-city-label

Decide the text to display above the City field in the Shipping Address section of the Payment Page.

String

City

Set the show-labels to True before configuring the shipping-city-label.

shipping-city-missing-error

Decide if the City field is required on the Payment Page and the text to display in the error message when shipping city address is missing on the Payment Page.

String

"Shipping address required and city is missing"

None

shipping-city-placeholder

Decide the text to display before customers enter values in the City field in the Shipping Address section of the Payment page.

String

City

None

shipping-city-tooltip

Decide the tooltip text to display when your customers hover over the City field in the Shipping Address section of the Payment Page.

String

(empty string)

None

shipping-first-name-label

Decide the text to display above the First Name field in the Shipping Address section of the Payment Page.

String

First name

Set the show-labels to True before configuring the shipping-first-name-label.

shipping-first-name-missing-error

Decide if the First Name field is required on the Payment Page and the text to display in the error message when shipping first name is missing on the Payment Page.

String

"Shipping address required and first name is missing"

None

shipping-first-name-placeholder

Decide the text to display before customers enter values in the First Name field in the Shipping Address section of the Payment page.

String

First name

None

shipping-first-name-tooltip

Decide the tooltip text to display when your customers hover over the First Name field in the Shipping Address section of the Payment Page.

String

(empty string)

None

shipping-last-name-label

Decide the text to display above the Last Name field in the Shipping Address section of the Payment Page.

String

Last name

Set the show-labels to True before configuring the shipping-last-name-label.

shipping-last-name-missing-error

Decide if the Last Name field is required on the Payment Page and the text to display in the error message when shipping last name is missing on the Payment Page.

String

"Shipping address required and last name is missing"

None

shipping-last-name-placeholder

Decide the text to display before customers enter values in the Last Name field in the Shipping Address section of the Payment page.

String

Last name

None

shipping-last-name-tooltip

Decide the tooltip text to display when your customers hover over the Last Name field in the Shipping Address section of the Payment Page.

String

(empty string)

None

shipping-phone-label

Decide the text to display above the Phone Number field in the Shipping Address section of the Payment Page.

String

Last name

Set the show-labels to True before configuring the shipping-phone-label.

shipping-phone-missing-error

Decide if the Phone Number field is required on the Payment Page and the text to display in the error message when shipping phone number is missing on the Payment Page.

String

"Shipping phone required and is missing"

None

shipping-phone-placeholder

Decide the text to display before customers enter values in the Phone Number field in the Shipping Address section of the Payment page.

String

Phone

None

shipping-phone-tooltip

Decide the tooltip text to display when your customers hover over the Phone Number field in the Shipping Address section of the Payment Page.

String

(empty string)

None

shipping-state-label

Decide the text to display above the State dropdown field in the Shipping Address section of the Payment Page.

String

State

Set the show-labels to True before configuring the shipping-state-label.

shipping-state-missing-error

Decide if the State dropdown field is required on the Payment Page and the text to display in the error message when shipping state is missing on the Payment Page.

String

"Shipping address required and state is missing"

None

shipping-state-placeholder

Decide the text to display before customers select values from the State field in the Shipping Address section of the Payment page.

String

State

None

shipping-state-tooltip

Decide the tooltip text to display when your customers hover over the State dropdown field in the Shipping Address section of the Payment Page.

String

(empty string)

None

shipping-street-address-label

Decide the text to display above the Street field in the Shipping Address section of the Payment Page.

String

Street address

Set the show-labels to True before configuring the shipping-street-address-label.

shipping-zip-label

Decide the text to display above the Zip field in the Shipping Address section of the Payment Page.

String

Zip

Set the show-labels to True before configuring the shipping-zip-label.

shipping-zip-missing-error

Decide if the Zip field is required on the Payment Page and the text to display in the error message when shipping zip is missing on the Payment Page.

String

"Shipping address required and zip is missing"

None

shipping-zip-placeholder

Decide the text to display before customers enter values from the Zip field in the Shipping Address section of the Payment page.

String

Zip

None

shipping-zip-tooltip

Decide the tooltip text to display when your customers hover over the Zip field in the Shipping Address section of the Payment Page.

String

(empty string)

None

show-ach-check-number

Decide to display the ACH Check Number field on the Payment Page.

Boolean

True

None

show-address2

Decide to display the Address 2 field on the Payment Page.

Boolean

False

None

show-apple-pay

Decide to display the Apple Pay button link on the Payment Page.

Boolean

True

Register for Apple Pay for Web before configuring the show-apple-pay.

For more information, see .

show-billing-address

Decide to display the Billing Address field on the Payment Page.

Boolean

False

None

show-billing-zip

Decide to display the Billing Zip field on the Payment Page.

Boolean

False

None

show-card-form-dividers

Decide to add horizontal rules between the Card Form sections.

Boolean

False

None

show-comments

Decide to display the Comments field on the Payment Page.

Boolean

False

None

show-customer-id

Decide to display the Show Customer ID field on the Payment Page.

Boolean

False

None

show-description

Decide to display the Description field on the Payment Page.

Boolean

False

Customers can use this field to add an information of their card.

Do not configure this property if you have already configured show-save-card-option.

show-dob-year

Decide to display the DOB Year field on the Payment Page.

Boolean

False

None

show-email-address

Decide to display the Email Address field on the Payment Page.

Boolean

False

None

show-email-receipt-option

Decide to display the checkbox for "Send a receipt by email" option on the Payment Page.

Boolean

False

None

show-inline

Decide to display the Payment Page inline rather than as a modal.

Boolean

False

None

show-invoice

Decide to display the Invoice field on the Payment Page.

Boolean

False

None

show-labels

Decide to display the text above the fields as labels on the Payment Page.

Boolean

False

None

show-order-id

Decide to display the Order ID field on the Payment Page.

Boolean

False

None

show-purchase-order

Decide to display the Purchase Order field on the Payment Page.

Boolean

False

None

show-sales-tax

Decide to display the Sales Tax field on the Payment Page.

Boolean

False

None

show-save-card-option

Decide to display the checkbox for "Save this Card" option on the Payment Page.

Boolean

False

None

show-shipping-address

Decide to display the Shipping Address section on the Payment Page.

Boolean

False

None

show-swipe-option

Decide to display the Swipe option for customers who want to swipe their cards on the Payment Page.

Boolean

False

Connect the card swipe device to the customer’s keyboard emulator.

For more information on supported swipe readers, contact a Xplor Pay representative.

show-tip-amount

Decide to display the Tip Amount field on the Payment Page.

Boolean

False

None

state-dropdown

Decide to display the list of states from United State in the State dropdown field of Billing Address and Shipping Address sections.

Boolean

True

None

state-label

Decide to display the text above the State dropdown field as a label on the Payment Page.

String

State

None

state-missing-error

Decide if the State dropdown field is required on the Payment Page and the text to display in the error message when state is missing on the Payment Page.

String

"Address required and state is missing"

None

state-placeholder

Decide the text to display before customers select values from the State field in the Shipping Address section of the Payment page.

String

State

None

state-tooltip

Decide the tooltip text to display when your customers hover over the State dropdown field in the Billing Address section of the Payment Page.

String

(empty string)

None

submit-pay-button-text

Decide the text to display on the Submit button of the Payment Page.

String

Pay {$} Now

None

submit-pay-method-button-text

Decide the text to display on the Submit button of the Add Payment Method Page.

String

Save Card

Configure the submit-pay-method-button-text when request-type is TOKEN-ONLY.

success-message

Decide the text to display on the Payment Page for successful transaction.

String

Payment was successful.

None

summary-heading-text

Decide the text to display above the required section of the Payment Page. This section includes subtotal, sales tax, tip amount, and email address (for receipt).

String

"Payment Summary"

None

swipe-button-text

Decide the text to display on the Swipe button of the Payment Page.

String

"Swipe Card"

Set the show-swipe-option to True before configuring the swipe-button-text.

tip-amount

Decide to set the Tip Amount field for transactions.

String

(null)

To pre-populate the Shipping Address field, set the tip-amount property.

tip-amount-invalid-error

Decide the text to display in the error message when tip amount is not valid on the Payment Page.

String

"Tip amount is not valid; Please include two decimal places (ex 1.00). Do not include $ symbol."

None

tip-amount-label

Decide to display the text above the Tip Amount field as a label on the Payment Page.

String

Tip

None

tip-amount-missing-error

Decide if the Tip Amount field is required on the payment page and the text to display in the error message when tip amount is missing on the Payment Page.

String

"Tip amount is missing"

None

tip-amount-placeholder

Decide the text to display before customers enter values in the Tip Amount field on the Payment page.

String

Enter tip

None

tip-amount-tooltip

Decide the tooltip text to display when your customers hover over the Tip Amount field on the Payment Page.

String

(empty string)

None

tooltip-mode

Decide to display tooltips on the Payment Page.

String

focus

To configure the tooltip-mode, set the following properties:

  • hover: Displays a tooltip when customers hover the mouse pointer over a field on the Payment Page.

  • focus: Displays a tooltip when customers select a field on the Payment Page.

  • none: No tooltip is displayed when customers select a field on the Payment Page.

total-amount-label

Decide the text to display above the Total Amount field on the Payment Page.

String

null

Set the show-labels to True and payment type to card before configuring the total-amount-label.

track-format

Decide to set the track format for card swipes.

String

null

For more information on supported swipe readers, contact a Xplor Pay representative.

use-external-terminal

Decide to complete transactions using an external terminal device.

Boolean

False

Configure an external terminal device with Xplor Pay before using the use-external-terminal member.

use-mobile-reader

Decide to display the Use Mobile Reader option for customers who want to pay using Xplor Pay's mobile application.

Boolean

False

Customer’s Mobile device must have an audio jack and Bluetooth to complete the transaction using the Use Mobile Reader option.

use-terminal-service-fee-setting

Decide to add a service fee for transactions processed using the terminal settings.

Boolean

True

None

validate-account

Decide to display the enable and disable options for the “validate account for ach” on the Payment Page.

Boolean

False

None

zip-label

Decide the text to display above the Zip field as a label in the Billing Address section of the Payment Page.

String

Zip

None

zip-missing-error

Decide if the Zip field is required on the Payment Page and the text to display in the error message when billing zip is missing on the Payment Page.

String

"Address required and zip is missing"

None

zip-placeholder

Decide the text to display before customers enter values in the Zip field on the Payment page.

String

Zip

None

zip-tooltip

Decide the tooltip text to display when your customers hover over the Zip field on the Payment Page.

String

(empty string)

None

Configuring Apple Pay for Web