Customer Account Creation

This API allows you to create and manage user accounts efficiently and securely. With this API, you can streamline the onboarding process, ensuring a seamless experience for your users.

NB:

In the sandbox environment, KYC checks are always passed without any deductions.

In the live environment:

KYC will be verified, and a ₦50 fee will be deducted from the business wallet for each check. If the business wallet has insufficient funds, the request will fail with a 422 status code.

To create an account, make a POST request to the endpoint:

POST {{baseurl}}/customers/create

These are the parameters of the request body.

FieldData TypeDescription
emailString

Required. User’s email address.

firstNameString

Required. User’s first name.

lastNameString

Required. User’s last name.

phoneNumberString

Required. User’s phone number. Example: +2348131911964.

cityString

Required. User’s city of residence.

stateString

Required. User’s state of residence.

countryString

Required. User’s country of residence. Example: NG.

zipCodeString

Required. User’s postal or ZIP code.

line1String

Required. First line of user’s address.

line2String

Optional. Second line of user’s address.

houseString

Optional. House or apartment number.

idTypeEnum

Optional. Type of identification document. Values: NIN, PASSPORT, DRIVER_LICENSE, VOTER_CARD.

idNumberString

Optional. Identification document number. Required if idType is provided.

bvnString

Conditionally Required. BVN is required for users in Nigeria (country = NG).

documentString

Optional. URL of the user’s identification document.

profileImageString

Optional. URL to the user’s profile image.

dateOfBirthString

Required. User’s date of birth in YYYY-MM-DD format.

referenceString

Optional. Reference identifier for the user.

This is what a typical successful response will look like:

{
    "success": true,
    "statusCode": 201,
    "message": "Customer created successfully",
    "data": {
        "id": "326a18a1-441a-457d-ba28-0538e0717c92",
        "email": "test@payshiga.com",
        "firstName": "test",
        "lastName": "testing",
        "city": "Bariga",
        "state": "Lagos",
        "country": "Nigeria",
        "zipCode": "100231",
        "line1": "123, Payshiga road",
        "line2": null,
        "phoneNumber": "+2348131911964",
        "house": "Zk9",
        "dateOfBirth": "2002-10-29T00:00:00.000Z",
        "idType": "NIN",
        "idNumber": "123456789",
        "document": "https://example.com/document.pdf",
        "imageURL": "https://example.com/profile.jpg",
        "reference": "w72hs8shshshshw8s8292ushs",
        "createdAt": "2024-05-01T22:10:44.329Z",
        "status": "APPROVED",
        "reason": null, // this will be a string if the kyc was rejected
        "businessId": "0bb1dfc6-a74c-4e53-b41a-4a0c1eab188e"
    }
}

Remember to save the customer ID

Error Responses

Missing API keys

Status Code: 401 Bad Request

The response will include an error message indicating an issue with the request parameters.

{
    "status": false,
    "statusCode": 401,
    "message": "Invalid Api Key"
}