Skip to main content
POST
Create merchant customer

Authorizations

Authorization
string
header
required

Your secret key as a Bearer token. The key prefix selects the environment: sk_test_... (staging) or sk_live_... (production); a key on the wrong host is refused with 403 Unauthorized Access. Each key is limited to 10 requests per minute (429 beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.

Body

application/json
firstname
string
required
Example:

"Ada"

lastname
string
required
Example:

"Eze"

email
string<email>
required
phone
string
required

Digits only, with no leading +. Local and international spellings of the same number are both accepted (08012345678, 2348012345678, 8012345678), and every one is stored in the local form, so one person cannot become several customers under different spellings. The stored value is what the customer endpoints return.

Example:

"08012345678"

countryId
string

The customer's country, as either its ISO 3166-1 alpha-2 code (NG) or the id from get countries. Optional: when you omit it, the customer inherits the country on your merchant account. The country decides which phone format is accepted.

Example:

"NG"

bvn
string

Optional 11-digit Bank Verification Number. When provided, the customer is issued a dedicated (permanent) virtual account via Paystack; when omitted, the customer gets a temporary 24-hour virtual account instead.

Required string length: 11
Pattern: ^[0-9]{11}$
Example:

"22222222222"

Response

Customer created.

status
integer
Example:

200

message
string
Example:

"Customer fetched successfully"

data
object