Skip to main content

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"
  }'