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
stringnzbn
stringlegalName
stringrequiredtradingName
stringlocation
objectrequiredcontactEmail
stringrequiredcontactName
stringexternalId
stringtaxNumber
objectmerchant
objectrequiredassetProgram
objectrequiredsalesChannels
arraymetadata
objectsendInvitation
booleancreatedAt
timestampcreatedBy
stringstatus
string
Tax Number Model
Attributes
value
stringrequiredtype
stringrequired
Merchant Model
Attributes
name
stringrequiredcategoryCode
stringrequiredtype
stringrequiredcontactName
stringcontactEmail
stringcontactPhone
stringlocation
objectredirectUrls
arraysearchHidden
boolean
Location Model
Attributes
street
stringrequiredsuburb
stringcity
stringrequiredstate
stringpostCode
stringcountry
stringrequired
Asset Program Model
Attributes
assetProgramId
stringrequiredparams.settlementAccountNumber
stringparams.chargeAccountNumber
stringparams.externalMerchantId
string
Sales Channel Model
Attributes
params.vendor
stringrequiredparams.reseller
stringparams.deviceId
stringparams.serialNumber
stringparams.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
stringlegalName
stringrequiredtradingName
stringlocation
objectrequiredcontactEmail
stringrequiredcontactName
stringexternalId
stringtaxNumber
objectmerchant
objectrequiredassetProgram
objectrequiredsalesChannels
arraymetadata
objectsendInvitation
boolean
Error Responses
Bad Request
400Unauthorized
401DUPLICATE_EXTERNAL_ID
403INVALID_ASSET_PROGRAM
403INVALID_SALES_CHANNEL
403LIVENESS_MISMATCH
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", "location": { "street": "1 Head Office Way", "city": "Wellington", "state": "Wellington", "postCode": "6011", "country": "NZ" }, "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", "location": { "street": "1 Head Office Way", "city": "Wellington", "state": "Wellington", "postCode": "6011", "country": "NZ" }, "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"}E-commerce Example
Example request for onboarding an e-commerce merchant. E-commerce merchants require redirectUrls instead of a location, and typically use an e-commerce platform such as Shopify as their sales channel.
curl -X POST https://service.centrapay.com/api/businesses/onboard \-H 'content-type: application/json' \-H 'x-api-key: <TOKEN>' \-d '{ "legalName": "Centrapay Online Limited", "tradingName": "Centrapay Online Store", "contactEmail": "admin@centraonline.example", "contactName": "Alice Anderson", "externalId": "ext-online-001", "taxNumber": { "value": "123-456-789", "type": "nz-gst" }, "merchant": { "name": "Centrapay Online Store", "categoryCode": "5999", "type": "e-commerce", "contactName": "Carol Chen", "contactEmail": "ecommerce@centraonline.example", "contactPhone": "6491234568", "redirectUrls": [ "https://centraonline.example/checkout/callback" ] }, "assetProgram": { "assetProgramId": "YGRo6TYYSxH3js7", "params": { "settlementAccountNumber": "12-3456-7890123-00", "externalMerchantId": "ext-merchant-online-789" } }, "salesChannels": [ { "params": { "vendor": "shopify", "deviceId": "centraonline.myshopify.com" } } ], "metadata": { "referenceId": "ref-67890" }}'{ "id": "bo_2b3c4d5e6f7g8h9i0j1k", "legalName": "Centrapay Online Limited", "tradingName": "Centrapay Online Store", "contactEmail": "admin@centraonline.example", "contactName": "Alice Anderson", "externalId": "ext-online-001", "taxNumber": { "value": "123-456-789", "type": "nz-gst" }, "merchant": { "name": "Centrapay Online Store", "categoryCode": "5999", "type": "e-commerce", "contactName": "Carol Chen", "contactEmail": "ecommerce@centraonline.example", "contactPhone": "6491234568", "redirectUrls": [ "https://centraonline.example/checkout/callback" ] }, "assetProgram": { "assetProgramId": "YGRo6TYYSxH3js7", "params": { "settlementAccountNumber": "12-3456-7890123-00", "externalMerchantId": "ext-merchant-online-789" } }, "salesChannels": [ { "params": { "vendor": "shopify", "deviceId": "centraonline.myshopify.com" } } ], "metadata": { "referenceId": "ref-67890" }, "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
stringrequired
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", "location": { "street": "1 Head Office Way", "city": "Wellington", "state": "Wellington", "postCode": "6011", "country": "NZ" }, "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"}