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
-
id
string -
nzbn
string -
legalName
string required -
tradingName
string -
contactEmail
string required -
contactName
string -
externalId
string -
taxNumber
object -
merchant
object required -
assetProgram
object required -
salesChannels
array -
metadata
object -
createdAt
timestamp -
createdBy
string -
status
string
Tax Number Model
Attributes
-
value
string required -
type
string required
Merchant Model
Attributes
-
name
string required -
categoryCode
string required -
type
string required -
contactName
string -
contactEmail
string -
contactPhone
string -
location
object
Location Model
Attributes
-
street
string required -
suburb
string -
city
string required -
state
string -
postCode
string -
country
string required
Asset Program Model
Attributes
-
assetProgramId
string required -
params.settlementAccountNumber
string required -
params.chargeAccountNumber
string -
params.externalMerchantId
string required
Sales Channel Model
Attributes
-
params.vendor
string required -
params.reseller
string -
params.deviceId
string required -
params.serialNumber
string -
params.deviceModel
string
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
-
nzbn
string -
legalName
string required -
tradingName
string -
contactEmail
string required -
contactName
string -
externalId
string -
taxNumber
object -
merchant
object required -
assetProgram
object required -
salesChannels
array -
metadata
object
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
-
id
string 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"}