Business Onboarding
The Business Onboarding API allows acquirers to register businesses and merchants with Centrapay so they can begin accepting payments through supported asset programs.
Optionally, acquirers can specify which sales channels (such as payment terminals) should be enabled for that merchant.
API Behavior
- Validation - Request validation is performed synchronously and errors are returned immediately for invalid data
- Processing - After accepting the request, Centrapay processes the onboarding asynchronously in the background
- Completion - When sufficient information is provided, the merchant will be onboarded and enabled for the relevant asset program. If information is missing or incomplete, the merchant may need to provide additional details to complete the onboarding process
- Invitations - If the business is new to Centrapay, an invitation is sent to the contact email so the merchant can claim their account
Glossary
| Term | Description | 
|---|---|
| Acquirer | A third party with a relationship to a merchant. The acquirer initiates onboarding by supplying merchant details. | 
| Merchant | A business entity that will accept payments through Centrapay. | 
| Sales Channel | A payment terminal provider configured within Centrapay. | 
| Asset Program | A payment program that enables merchants to accept specific payment methods. | 
| Vendor | The organization that manufactures or provides the payment device or software. | 
| Reseller | The distributor or third party that sells or supports the terminal to the merchant. | 
Onboarding Request Model
Attributes
-  idstring
-  nzbnstring
-  legalNamestring required
-  tradingNamestring
-  contactEmailstring required
-  contactNamestring
-  externalIdstring
-  taxNumberobject
-  merchantobject required
-  assetProgramobject required
-  salesChannelsarray
-  metadataobject
-  createdAttimestamp
-  createdBystring
-  statusstring
Tax Number Model
Attributes
-  valuestring required
-  typestring required
Merchant Model
Attributes
-  namestring required
-  categoryCodestring required
-  typestring required
-  contactNamestring
-  contactEmailstring
-  contactPhonestring
-  locationobject
Location Model
Attributes
-  streetstring required
-  suburbstring
-  citystring required
-  statestring
-  postCodestring
-  countrystring required
Asset Program Model
Attributes
-  assetProgramIdstring required
-  params.settlementAccountNumberstring required
-  params.chargeAccountNumberstring
-  params.externalMerchantIdstring required
Sales Channel Model
Attributes
-  params.vendorstring required
-  params.resellerstring
-  params.deviceIdstring required
-  params.serialNumberstring
-  params.deviceModelstring
Create an Onboarding Request
This endpoint allows acquirers to submit a business for onboarding. The request is validated synchronously, and onboarding is processed asynchronously in the background.
Idempotency
If you provide an externalId, the API will prevent duplicate submissions. If you submit the same externalId with the same payload, the API will return the existing onboarding request with a 200 status code. If you submit the same externalId with a different payload, the API will return a 403 error with the code DUPLICATE_EXTERNAL_ID.
Required Permissions
The API key must have the business:onboard permission for the target account.
Request Body
Attributes
-  nzbnstring
-  legalNamestring required
-  tradingNamestring
-  contactEmailstring required
-  contactNamestring
-  externalIdstring
-  taxNumberobject
-  merchantobject required
-  assetProgramobject required
-  salesChannelsarray
-  metadataobject
Error Responses
Bad Request
400Unauthorized
401DUPLICATE_EXTERNAL_ID
403INVALID_ASSET_PROGRAM
403INVALID_SALES_CHANNEL
403curl -X POST \ https://service.centrapay.com/api/businesses/onboard \ -H 'content-type: application/json' \ -H 'x-api-key: <TOKEN>' \ -d '{ "legalName": "Centrapay Cafe Limited", "tradingName": "Centrapay Cafe", "contactEmail": "admin@centracafe.example", "contactName": "Alice Anderson", "externalId": "ext-cafe-001", "taxNumber": {  "value": "123-456-789",  "type": "nz-gst" }, "merchant": {  "name": "Centrapay Cafe",  "categoryCode": "5812",  "type": "physical",  "contactName": "Bob Brown",  "contactEmail": "manager@centracafe.example",  "contactPhone": "6491234567",  "location": {   "street": "123 Example Street",   "suburb": "Newtown",   "city": "Wellington",   "state": "Wellington",   "postCode": "6021",   "country": "NZ"  } }, "assetProgram": {  "assetProgramId": "YGRo6TYYSxH3js7",  "params": {   "settlementAccountNumber": "12-3456-7890123-00",   "chargeAccountNumber": "12-3456-7890123-01",   "externalMerchantId": "ext-merchant-789"  } }, "salesChannels": [  {   "params": {    "vendor": "Example Vendor",    "reseller": "Example Reseller",    "deviceId": "device-001",    "serialNumber": "SN123456",    "deviceModel": "Example Terminal Model X1"   }  },  {   "params": {    "vendor": "Example Vendor",    "reseller": "Example Reseller",    "deviceId": "device-002",    "serialNumber": "SN123457",    "deviceModel": "Example Terminal Model X1"   }  } ], "metadata": {  "referenceId": "ref-12345",  "notes": "Onboarding request submitted via partner portal" }}'{  "id": "bo_1a2b3c4d5e6f7g8h9i0j",  "legalName": "Centrapay Cafe Limited",  "tradingName": "Centrapay Cafe",  "contactEmail": "admin@centracafe.example",  "contactName": "Alice Anderson",  "externalId": "ext-cafe-001",  "taxNumber": {    "value": "123-456-789",    "type": "nz-gst"  },  "merchant": {    "name": "Centrapay Cafe",    "categoryCode": "5812",    "type": "physical",    "contactName": "Bob Brown",    "contactEmail": "manager@centracafe.example",    "contactPhone": "6491234567",    "location": {      "street": "123 Example Street",      "suburb": "Newtown",      "city": "Wellington",      "state": "Wellington",      "postCode": "6021",      "country": "NZ"    }  },  "assetProgram": {    "assetProgramId": "YGRo6TYYSxH3js7",    "params": {      "settlementAccountNumber": "12-3456-7890123-00",      "chargeAccountNumber": "12-3456-7890123-01",      "externalMerchantId": "ext-merchant-789"    }  },  "salesChannels": [    {      "params": {        "vendor": "example vendor",        "reseller": "example reseller",        "deviceId": "device-001",        "serialNumber": "SN123456",        "deviceModel": "Example Terminal Model X1"      }    },    {      "params": {        "vendor": "example vendor",        "reseller": "example reseller",        "deviceId": "device-002",        "serialNumber": "SN123457",        "deviceModel": "Example Terminal Model X1"      }    }  ],  "metadata": {    "referenceId": "ref-12345",    "notes": "Onboarding request submitted via partner portal"  },  "status": "pending",  "createdAt": "2025-07-25T10:30:00.000Z",  "createdBy": "Jaim1Cu1Q55uooxSens6yk"}Get an Onboarding Request
This endpoint retrieves an existing onboarding request by its ID.
Required Permissions
The API key must have the business:onboard permission for the account that created the onboarding request.
Path Parameters
Attributes
-  idstring required
curl -X GET \ https://service.centrapay.com/api/businesses/onboard/bo_1a2b3c4d5e6f7g8h9i0j \ -H 'x-api-key: <TOKEN>'{  "id": "bo_1a2b3c4d5e6f7g8h9i0j",  "legalName": "Centrapay Cafe Limited",  "tradingName": "Centrapay Cafe",  "contactEmail": "admin@centracafe.example",  "contactName": "Alice Anderson",  "externalId": "ext-cafe-001",  "taxNumber": {    "value": "123-456-789",    "type": "nz-gst"  },  "merchant": {    "name": "Centrapay Cafe",    "categoryCode": "5812",    "type": "physical",    "contactName": "Bob Brown",    "contactEmail": "manager@centracafe.example",    "contactPhone": "6491234567",    "location": {      "street": "123 Example Street",      "suburb": "Newtown",      "city": "Wellington",      "state": "Wellington",      "postCode": "6021",      "country": "NZ"    }  },  "assetProgram": {    "assetProgramId": "YGRo6TYYSxH3js7",    "params": {      "settlementAccountNumber": "12-3456-7890123-00",      "chargeAccountNumber": "12-3456-7890123-01",      "externalMerchantId": "ext-merchant-789"    }  },  "salesChannels": [    {      "params": {        "vendor": "example vendor",        "reseller": "example reseller",        "deviceId": "device-001",        "serialNumber": "SN123456",        "deviceModel": "Example Terminal Model X1"      }    },    {      "params": {        "vendor": "example vendor",        "reseller": "example reseller",        "deviceId": "device-002",        "serialNumber": "SN123457",        "deviceModel": "Example Terminal Model X1"      }    }  ],  "metadata": {    "referenceId": "ref-12345",    "notes": "Onboarding request submitted via partner portal"  },  "status": "pending",  "createdAt": "2025-07-25T10:30:00.000Z",  "createdBy": "Jaim1Cu1Q55uooxSens6yk"}