These solutions are available in US and Canada only. For all other regions, please contact us for support.
Here is a preview of our merchant onboarding application. For the full demo experience, see our Demo Portal.

Important: For authentication, you must include the required headers in each request. For more information, please refer to Authenticating Your Requests.
The first step in onboarding a Merchant is to create a Boarding Application. The application represents a particular Merchant and a set of their locations.
In this guide, we’re going to walk through an example where the Partner has captured and is submitting the minimum and recommended data that is necessary to onboard the Merchant and their locations. Any remaining data required can be entered by the Merchant in the Hosted Onboarding Experience provided by Global Payments.
To initiate onboarding, send a Create Boarding Application request to our REST API. Please refer to the API reference for details on specifications. If all fields pass validation and the request is processed successfully, the following will occur:
We recommend that you retrieve and store the different MER IDs that are returned in the synchronous response to the Create Boarding Application request. If the Merchant adds or deletes Location(s) in the Hosted Experience, you will receive a webhook with the relevant ID, please refer to Step 3 below.
The table below outlined the minimum required fields to create a Boarding Application.
| Data Group | Required Field | Description |
|---|---|---|
| Company Level Information | Legal Name | Legal name of the Company / Merchant. |
| Company Level Information | Pricing Profile | The pricing profile or plan to apply to the Merchant / each Merchant Location. These profiles are agreed between Global Payments and the Partner prior to boarding. |
| Company Level Information | Software Name | The name / version of the Partner’s software the Merchant is going to use. The available Software Names are agreed and configured between Global Payments and the Partner prior to boarding and can determine supported capabilities such as ACH support or specific equipment. |
| Company Level Information | Primary Contact | Name and Email Address of the Merchant Primary Contact. |
| Merchant Locations | Doing Business As (DBA) Name | The Doing Business As (DBA) Name of each Merchant Location to be included in the application. |
URL
https://apis.sandbox.globalpay.com/ucp/boarding-applications // Sandbox
https://apis.globalpay.com/ucp/boarding-applications // Production
Body
{
"application_type": "PARTIAL",
"reference": "47362ff4-d2c1-4e17-93ab-24957407ed08",
"legal_name": "Acme",
"pricing_profile": "Pricing Profile Name",
"software_name": "Partner Software Name 1.0",
"persons": [
{
"functions": [
"PRIMARY_CONTACT"
],
"first_name": "James",
"last_name": "Mason",
"email": "james.mason@example.com"
}
],
"merchants": [
{
"dba": "Acme NY",
"reference": "Acme NY-505"
},
{
"dba": "Acme GA-296",
"reference": "7ff050c1-e60d-4688-b215-7d2fb7793294"
}
],
"notifications": {
"status_url": "https://www.example.com/partnerStatusEndpoint"
}
}{
"id": "BAP_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"application_type": "PARTIAL",
"reference": "47362ff4-d2c1-4e17-93ab-24957407ed08",
"time_created": "2025-08-12T20:21:05.091Z",
"time_last_updated": "2025-08-12T20:21:05.091Z",
"status": "IN_PROGRESS",
"status_description": "Application Started",
"url": "https://apis.sandbox.globalpay.com/ucp/postback/boarding-applications/redirect/eyJHYXRld2F5X1VybCI6Imh0dHBzOi8vb24tZGVtYW5kLnN0Zy5obG1lLmhscHJkLmNvbS8/Y29udGludWU9aldiRWpvbG4xUWlPUklFWlFTcDRQVHloQkVLUkJZSUJZdVdCWkRDS0Q4alJrb0xRS3ZNTzRWRkQ3S0JTT0Jjb2VUOFMyUzJ2a2xTcGFTZUVSQXNHcHFsc0tOa0lmRUFTWmF3bDhiUCIsIlgtR1AtVmVyc2lvbiI6IjIwMjEtMDMtMjIifQ==",
"merchants": [
{
"id": "MER_67e84fa1e9c741e6955433ecf16b22c6",
"dba": "Acme NY",
"reference": "ead50fc4-63a2-44e8-9786-637156f9da0e",
"time_last_updated": "2025-08-12T20:21:05.091Z",
"status": "IN_PROGRESS",
"status_description": "Application Started"
},
{
"id": "MER_45e56fa1e9c678e6857323ecf16b4y9",
"dba": "Acme GA",
"reference": "7ff050c1-e60d-4688-b215-7d2fb7793294",
"time_last_updated": "2025-08-12T20:21:06.101Z",
"status": "IN_PROGRESS",
"status_description": "Application Started"
}
],
"action": {
"id": "ACT_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"type": "BOARDING_APPLICATION_CREATE",
"time_created": "2025-08-12T20:21:05.091Z",
"result_code": "SUCCESS",
}
}In addition to the minimum required fields, the table below outlines the recommended fields to pass when creating a Boarding Application. As we discussed in Data Collection & Submission, these are data points the Partner is very likely to have or be capturing as part of their own setup process for the Merchant.
| Data Group | Required Field | Description |
|---|---|---|
| Company Level Information | Legal Address | Legal address of the Company / Merchant. |
| Company Level Information | Ownership Details | The name(s) and contact information of the Beneficial Owner(s) of the Company / Merchant as well as their details. |
| Merchant Locations | Industry | The industry / vertical of the Merchant Location. |
| Merchant Locations | Payment Before Delivery | Indicates whether the Merchant Location accepts payment before delivery of goods or services. |
| Merchant Locations | ACH Acceptance Details | Conditional - if the Partner software the Merchant is using supports ACH and the specific Merchant location plans to accept it, we recommend passing the relevant ACH Acceptance Details. |
| Merchant Locations | Products | The equipment / devices to be ordered for Merchant location along with the address for it to be shipped to. |
URL
https://apis.sandbox.globalpay.com/ucp/boarding-applications // Sandbox
https://apis.globalpay.com/ucp/boarding-applications // Production
Body
{
"application_type": "PARTIAL",
"reference": "Acme-915ffdf7-746a-4001-8986-a9689f59fb0e",
"legal_name": "Acme",
"pricing_profile": "Pricing Profile Name",
"software_name": "Partner Software Name 1.0",
"addresses": [
{
"functions": [
"LEGAL"
],
"line_1": "12202 Airport Way",
"line_2": "Ste 100",
"line_3": "1st Floor",
"city": "Broomfield",
"state": "CO",
"postal_code": "80021",
"country": "US",
"contact_phone": {
"country_code": "1",
"subscriber_number": "745898521"
}
}
],
"persons": [
{
"functions": [
"PRIMARY_CONTACT"
],
"first_name": "James",
"last_name": "Mason",
"email": "james.mason@example.com"
},
{
"functions": [
"BENEFICIAL_OWNER",
"DESIGNATED_SIGNER"
],
"first_name": "Philip",
"last_name": "Marlowe",
"email": "philip.marlowe@example.com",
"contact_phone": {
"country_code": "1",
"subscriber_number": "200596849"
},
"date_of_birth": "1988-01-31",
"national_id_reference": "132435169",
"job_title": "CPO",
"equity_percentage": "60",
"citizenship_country": "US",
"addresses": [
{
"functions": [
"PERSONAL"
],
"line_1": "616",
"line_2": "N Broadway Ave",
"line_3": "",
"city": "Oklahoma City",
"state": "OK",
"postal_code": "73102",
"country": "US",
"months_at_address": "24"
}
]
}
],
"merchants": [
{
"reference": "Acme NY-505",
"dba": "Acme NY",
"industry": "CARWASH",
"payment_before_delivery": "YES",
"payment_before_delivery_percentage": "60",
"website": "https://www.example.com",
"payment_methods": [
{
"functions": [
"TRANSACTION_PROCESSING"
],
"card": {
"payment_processing_statistics": {
"customer_present_percentage": "30",
"moto_percentage": "0",
"customer_not_present_percentage": "70"
}
},
"bank_transfer": {
"pricing_profile": "Custom DCS Standard",
"services": [
"Check Verification Services"
],
"disputes": {
"auto_challenge": "YES",
"auto_challenge_max_count": "1",
"auto_challenge_timing": "2 DAYS",
"auto_challenge_check21_timing": "2 DAYS"
},
"notifications": {
"returned_items": {
"primary_contact": "primaryreturns@example.com",
"secondary_contact": "secondaryreturns@example.com"
}
}
}
}
],
"addresses": [
{
"functions": [
"SHIPPING"
],
"line_1": "28",
"line_2": "Liberty Street",
"line_3": "3rd Floor",
"city": "New York",
"state": "NY",
"postal_code": "10005"
}
],
"products": [
{
"device": {
"manufacturer_model": "VeriFone_P400",
"payment_description": "PURCHASE",
"quantity": "1"
}
}
]
},
{
"reference": "Acme GA-296",
"dba": "Acme GA",
"industry": "CARWASH",
"payment_before_delivery": "YES",
"payment_before_delivery_percentage": "60",
"website": "https://www.example.com",
"payment_methods": [
{
"functions": [
"TRANSACTION_PROCESSING"
],
"card": {
"payment_processing_statistics": {
"customer_present_percentage": "60",
"moto_percentage": "0",
"customer_not_present_percentage": "40"
}
},
"bank_transfer": {
"pricing_profile": "Custom DCS Standard",
"services": [
"Check Verification Services"
],
"disputes": {
"auto_challenge": "YES",
"auto_challenge_max_count": "1",
"auto_challenge_timing": "2 DAYS",
"auto_challenge_check21_timing": "2 DAYS"
},
"notifications": {
"returned_items": {
"primary_contact": "primaryreturns@example.com",
"secondary_contact": "secondaryreturns@example.com"
}
}
}
}
],
"addresses": [
{
"functions": [
"SHIPPING"
],
"line_1": "3550",
"line_2": "Lenox Rd",
"line_3": "NE Suite 3000",
"city": "Atlanta",
"state": "GA",
"postal_code": "30326"
}
],
"products": [
{
"device": {
"manufacturer_model": "VeriFone_P400",
"payment_description": "PURCHASE",
"quantity": "1"
}
}
]
}
],
"notifications": {
"status_url": "https://www.example.com/partnerStatusEndpoint"
}
} {
"id": "BAP_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"application_type": "PARTIAL",
"reference": "Acme-915ffdf7-746a-4001-8986-a9689f59fb0e",
"time_created": "2025-08-12T20:21:05.091Z",
"time_last_updated": "2025-08-12T20:21:05.091Z",
"status": "IN_PROGRESS",
"status_description": "Application Started",
"url": "https://apis.sandbox.globalpay.com/ucp/postback/boarding-applications/redirect/eyJHYXRld2F5X1VybCI6Imh0dHBzOi8vb24tZGVtYW5kLnN0Zy5obG1lLmhscHJkLmNvbS8/Y29udGludWU9aldiRWpvbG4xUWlPUklFWlFTcDRQVHloQkVLUkJZSUJZdVdCWkRDS0Q4alJrb0xRS3ZNTzRWRkQ3S0JTT0Jjb2VUOFMyUzJ2a2xTcGFTZUVSQXNHcHFsc0tOa0lmRUFTWmF3bDhiUCIsIlgtR1AtVmVyc2lvbiI6IjIwMjEtMDMtMjIifQ==",
"merchants": [
{
"id": "MER_67e84fa1e9c741e6955433ecf16b22c6",
"dba": "Acme NY",
"addresses": {
"line_1": "28",
"line_2": "Liberty Street",
"line_3": "3rd Floor",
"city": "New York",
"state": "NY",
"postal_code": "10005"
},
"reference": "Acme NY-505",
"time_last_updated": "2025-08-12T20:21:05.091Z",
"status": "IN_PROGRESS",
"status_description": "Application Started"
}
{
"id": "MER_45e56fa1e9c678e6857323ecf16b4y9",
"dba": "Acme GA",
"addresses": {
"line_1": "3550",
"line_2": "Lenox Rd",
"line_3": "NE Suite 3000",
"city": "Atlanta",
"state": "GA",
"postal_code": "30326"
},
"reference": "Acme GA-296",
"time_last_updated": "2025-08-12T20:21:08.056Z",
"status": "IN_PROGRESS",
"status_description": "Application Started"
}
],
"action": {
"id": "ACT_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"type": "BOARDING_APPLICATION_CREATE",
"time_created": "2025-08-12T20:21:05.091Z",
"result_code": "SUCCESS",
}
}Once a Boarding Application has been successfully initiated, the REST API returns a URL to a Global Payments Hosted Experience that the Merchant can be redirected to in order for them to fill out the rest of the required information. We recommend rendering this experience via an iFrame within your software but you can also choose to fully redirect the Merchant’s browser to our Hosted Experience.






As part of the Hosted Experience, Merchants have the ability to add or remove a location. Adding a location will prompt the Merchant to complete the required business information associated with that location. Deleting a location will remove it from the current onboarding flow. In either scenario, this will trigger a webhook to your Partner Status Endpoint.
URL
https://www.example.com/partnerStatusEndpoint
Body
{
"id": "BAP_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"application_type": "PARTIAL",
"reference": "47362ff4-d2c1-4e17-93ab-24957407ed08",
"time_created": "2025-05-01T15:43:29.5460635",
"time_last_updated": "2025-05-01T15:43:29.7767535Z",
"status": "IN_PROGRESS",
"status_description": "Application Started",
"merchants": [
{
"id": "MER_63d4ab51-9846-47cd-a653-c74260d6e7a3",
"dba": "Acme TX",
"addresses": {
"line_1": "3400",
"line_2": "N Central Expy",
"line_3": "Suite 300",
"city": "Richardson",
"state": "TX",
"postal_code": "75080"
},
"reference": "",
"time_last_updated": "2025-05-01T15:43:29.7767535Z",
"status": "IN_PROGRESS",
"status_description": "Application Started "
}
],
"action": {
"type": "BOARDING_APPLICATION_MERCHANT_ADDED",
"id": "13527a64-bf0b-4acf-934d-52b3b64bc073",
"time_created": "2025-05-01T15:43:26.135129Z"
}
}URL
https://www.example.com/partnerStatusEndpoint
Body
{
"id": "BAP_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"application_type": "PARTIAL",
"reference": "47362ff4-d2c1-4e17-93ab-24957407ed08",
"time_created": "2025-05-01T15:43:29.5460635",
"time_last_updated": "2025-05-01T15:43:29.7767535Z",
"status": "IN_PROGRESS",
"status_description": "Application Started",
"merchants": [
{
"id": "MER_67e84fa1e9c741e6955433ecf16b22c6",
"dba": "Acme NY",
"addresses": {
"line_1": "29",
"line_2": "Liberty Street",
"city": "3rd Floor",
"state": "NY",
"postal_code": "10005"
},
"reference": "Acme NY-505",
"time_last_updated": "2025-05-01T15:43:29.7767535Z",
"status": "INACTIVE",
"status_description": ""
}
],
"action": {
"type": "BOARDING_APPLICATION_MERCHANT_REMOVED",
"id": "13527a64-bf0b-4acf-934d-52b3b64bc073",
"time_created": "2025-05-01T15:43:26.135129Z"
"result_code": "SUCCESS",
}
}Once a Boarding Application has been completed by the Merchant, they are now directed to review and sign their Merchant Processing Agreement (MPA) in the Hosted Experience.
In the Hosted Experience, the Merchant must perform the following actions:
Upon submission, the Boarding Application status will be updated.
Following this, Partners will begin receiving webhook notifications regarding the status of the application and the linked Merchant locations.
The Merchant can review the details of the application, including for each location.

Once all the actions have been completed, the application will be submitted.

The REST API will send webhook notifications as the Boarding Application progresses through the various stages of review and approval. These webhooks enable proactive updates from our platform to inform you of the status of an application.
Below are a few examples of the lifecycle statuses that the REST API will send webhook notifications for:
URL
https://www.example.com/partnerStatusEndpoint
Body
{
"id": "BAP_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"application_type": "PARTIAL",
"reference": "Acme-915ffdf7-746a-4001-8986-a9689f59fb0e",
"time_created": "2025-08-12 14:11:03",
"time_last_updated": "2025-08-12 14:14:22",
"status": "IN_PROGRESS",
"status_description": "Awaiting Merchant Signature",
"previous_status": {
"status": "IN_PROGRESS",
"status_description": "Application Started"
},
"action": {
"id": "ACT_CjMCEnSNA32ZCdzGz09RRKs3AywTQC",
"type": "BOARDING_APPLICATION_STATUS_NOTIFICATION",
"time_created": "2025-08-12T14:14:22.090Z",
"result_code": "SUCCESS"
}
}Once the Merchant’s application has passed all the underwriting, KYC, compliance and risk check - the application status will change to APPROVED. Once this happens, the Boarding Application is considered complete. As each Merchant location is approved, the credential generation for that location begins automatically.
When the application is fully approved, i.e. each Merchant location attached to the Boarding Application is approved, you will receive a webhook with the APPROVED status.
URL
https://www.example.com/partnerStatusEndpoint
Body
{
"id": "BAP_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"application_type": "PARTIAL",
"reference": "Acme-915ffdf7-746a-4001-8986-a9689f59fb0e",
"time_created": "2025-08-12 14:11:03",
"time_last_updated": "2025-08-12 14:14:22",
"status": "APPROVED",
"status_description": "Application Approved For All Locations",
"previous_status": {
"status": "IN_PROGRESS",
"status_description": "Awaiting Merchant Signature"
},
"action": {
"id": "ACT_CjMCEnSNA32ZCdzGz09RRKs3AywTQC",
"type": "BOARDING_APPLICATION_STATUS_NOTIFICATION",
"time_created": "2025-08-12T14:14:22.090Z",
"result_code": "SUCCESS"
}
}In some cases, specific Merchant locations attached to a Boarding Application may be approved while others are still in progress. At this stage, the Boarding Application will have a status of PARTIAL_APPROVAL. In order to obtain the individual location statuses, you can perform a GET single Boarding Application, for more information please refer to Get the details of a single Boarding Application.
URL
https://www.example.com/partnerStatusEndpoint
Body
{
"id": "BAP_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"application_type": "PARTIAL",
"reference": "Acme-915ffdf7-746a-4001-8986-a9689f59fb0e",
"time_created": "2025-08-12 14:11:03",
"time_last_updated": "2025-08-12 14:14:22",
"status": "PARTIAL_APPROVAL",
"status_description": "Application Partially Approved",
"previous_status": {
"status": "UNDER_REVIEW",
"status_description": "Submitted to UW"
},
"action": {
"id": "ACT_CjMCEnSNA32ZCdzGz09RRKs3AywTQC",
"type": "BOARDING_APPLICATION_STATUS_NOTIFICATION",
"time_created": "2025-08-12T14:14:22.090Z",
"result_code": "SUCCESS"
}
}After a Merchant location is approved, the credential generation for the location is initiated. As a Partner, your application / software will receive webhook status updates when credentials are ready. Once received, this means the merchant is fully onboarded for payment processing. The webhook will contain the details you need to obtain the credentials.
A unique Platform Configuration resource (PFC ID) is created on the REST API and stored against the relevant Merchant location (MER ID). Multiple Platform Configurations can be stored against the MER ID depending on the location’s setup, for example, if they are accepting both card payments and ACH. The Platform Configuration contains the following details:
URL
https://www.example.com/partnerStatusEndpoint
Body
{
"id": "MER_67e84fa1e9c741e6955433ecf16b22c6",
"name": "Acme NY",
"dba": "Acme NY",
"address": {
"line_1": "28",
"line_2": "Liberty Street",
"line_3": "3rd Floor",
"city": "New York",
"state": "NY",
"postal_code": "10005"
},
"reference": "Acme NY-505",
"time_last_updated": "2025-08-11 07:43:16",
"status": "ACTIVE",
"status_description": "Application Approved For All Locations.",
"boarding_application": {
"id": "BAP_N0rmJwbUwG78ju37yFe7YGbpbI6tpU",
"status": "APPROVED",
"status_description": "Application Approved For All Locations",
"time_created": "2025-08-11 07:40:46",
"time_last_updated": "2025-08-11 07:40:47"
},
"platform_configurations": [
{
"id": "PFC_cc8306138a4a4bbda8b93808a358b32f",
"type": "EDGE"
}
],
"action": {
"id": "ACT_F5Y5eshWabjn9rJSMJVw6KDaEqqfit",
"type": "MERCHANT_CREATE_STATUS_NOTIFICATION",
"time_created": "2025-08-11T07:43:16.366Z",
"result_code": "SUCCESS"
}
}After a Merchant has been successfully onboarded and the credential provisional is complete, as a Partner you can retrieve the Merchant’s credentials programmatically via the API. These credentials can then be used for payment processing and other relevant services.
These credentials can be used with our REST API or direct with the relevant gateway. For direct to gateway Partners, please contact your Account Manager or Technical Support Team for more information.
// URL Construction
https://{{Base URL}}/ucp/merchants/{{MER ID}}/platform-configurations/{{PFC ID}}
// Sandbox Example
https://apis.sandbox.globalpay.com/ucp/merchants/MER_67e84fa1e9c741e6955433ecf16b22c6/platform-configurations/PFC_cc8306138a4a4bbda8b93808a358b32f
// Production Example
https://apis.globalpay.com/ucp/merchants/MER_67e84fa1e9c741e6955433ecf16b22c6/platform-configurations/PFC_cc8306138a4a4bbda8b93808a358b32f {
"id": "PFC_cc8306138a4a4bbda8b93808a358b32f",
"time_created": "2025-06-27T09:08:55Z",
"time_last_updated": "2025-06-27T09:11:40Z",
"status": "ACTIVE",
"merchant_id": "MER_67e84fa1e9c741e6955433ecf16b22c6",
"merchant_name": "Acme NY",
"edge": {
"type": "CARD",
"x_web_id": "668",
"masked_apikey_last4": "XXXXXey_0",
"tid": "450",
"apikey": "API_key_458"
},
"action": {
"id": "ACT_am5ijPELHI0b5RuyHP81VqKpC4yimy",
"type": "PLATFORM_CONFIG_SINGLE",
"time_created": "2025-07-11T11:12:31.059Z",
"result_code": "SUCCESS"
}
}