Documentation Index
Fetch the complete documentation index at: https://docs.nexapay.ng/llms.txt
Use this file to discover all available pages before exploring further.
Business Registration
Register Business
POST /business/register
Creates a merchant, VFD account, and environment-specific API keys.
The response also includes the merchant webhook secret once at creation time, so store it securely.
Request Body
{
"businessName": "Nexa Stores",
"businessEmail": "merchant@nexa.ng",
"businessPhone": "08012345678",
"businessType": "MERCHANT",
"businessCategory": "FREELANCER",
"password": "SecurePass#1",
"ownerLegalName": "John Doe",
"ownerBvn": "22222222222",
"ownerDob": "1990-01-01",
"ownerNin": "12345678901",
"rcNumber": "1234567",
"incorporationDate": "05 January 2021"
}
Notes:
rcNumber and incorporationDate are required only if businessCategory = CORPORATE.
incorporationDate must be formatted as 05 January 2021.
Response
{
"success": true,
"msg": "Business registered successfully",
"business": {
"id": "664b...",
"name": "Nexa Stores",
"email": "merchant@nexa.ng",
"type": "MERCHANT",
"kycStatus": "VERIFIED",
"apiKeyProd": "nexa-prod-...",
"apiKeyTest": "nexa-test-...",
"webhookSecret": "..."
}
}
Environment Notes
apiKeyProd is used for live transactions.
apiKeyTest is used for sandbox transactions.
webhookSecret is used to sign outbound NexaPay webhooks and should be stored securely.
- Test-mode transactions do not affect the live merchant wallet.
- If you miss the secret during onboarding, you can reveal or regenerate it from the merchant dashboard.
Error Response
{
"success": false,
"msg": "Business already registered"
}
Invalid Example (Missing Fields)
{
"success": false,
"msg": "Missing required fields"
}
Curl Example
curl -X POST "https://api.nexapay.ng/api/v1/business/register" \
-H "Content-Type: application/json" \
-d '{
"businessName":"Nexa Stores",
"businessEmail":"merchant@nexa.ng",
"businessPhone":"08012345678",
"businessType":"MERCHANT",
"businessCategory":"FREELANCER",
"password":"SecurePass#1",
"ownerLegalName":"John Doe",
"ownerBvn":"22222222222",
"ownerDob":"1990-01-01",
"ownerNin":"12345678901"
}'