Business onboarding
With the SasaPay Wallet as a Service (WaaS) you can now onboard entities as beneficiaries allowing them to have a seamless, safe, and secure way of making payments and completing transactions. When onboarding entities, you need to make two post requests, whereby the first one allows sending of a Confirmation Code to the entity's mobile number in order to verify that the registering entity is the holder of the mobile number. The second post request for finalizing the registration of the entity includes additional parameters, the ConfirmationCode and requestId parameters.
Initial POST request
Endpoint: https://sandbox.sasapay.app/api/v2/waas/business-onboarding/
Request Parameters
Field | Type | Description | Example |
---|---|---|---|
merchantCode | String | A unique number assigned to an organization/merchant registered with ViewTech, through which payment is received (can be Paybill or Till number) | 4****6 |
businessName | String | The name of the entity/business being onboarded | NaivasDemo |
billNumber | Numeric | The billNumber for the business being onboarded | 115***3 |
description | string | The description of the business being onboarded | NaivasDemo |
productType | Numeric | The type of product of an business | 3 |
countryId | Numeric | The country of the business being onboarded | 4 |
subregionId | Numeric | The subregionId of the business being onboarded | 2 |
industryId | Numeric | The industry id of the business being onboarded | 1 |
subIndustryId | Numeric | The sub industry of the business being onboarded | 2 |
bankCode | Numeric | The bank id of the business being onboarded | 2 |
bankAccountNumber | Numeric | The bank account number of the business being onboarded | 1*********8" |
mobileNumber | Numeric | The mobileNumber of the business being onboarded | 07*******1 |
businessTypeId | String | The businesstype id of the business being onboarded | 1 |
String | This is the email of the business | business@example.com | |
registrationNumber | String | This is the business registration number of the business. | 123456789 |
KraPin | String | The KRA Pin Number of the business. | KRA13444PIN |
referralCode | String | The alias number of the person onboarding the business. This field can be optional | 123456 |
dealerNumber | String | The dealer number if available. The onboarded business will be attached to the dealer whose dealer number is provided. | 123456 |
purpose | String | The purpose of creating a business wallet. | Collection ,Disbursement ,Remittance |
natureOfBusiness | String | The nature of the business. | Retail Shop |
physicalAddress | String | The physical location of the business. | Nairobi,CBD |
estimatedMonthlyTransactionAmount | String | The estimated amount you deem to transact per month. | 500000 |
estimatedMonthlyTransactionCount | String | The estimated number of transactions you deem to transact per month. | 2000 |
CallbackUrl | URL string | This is the link where sasapay will send the data about business status during onboarding process.This data can be used by the mechant to update entity status on merchant system. | https://example.com/4*****d/callback/ |
directors | string | The director of an entity/business name,id number mobile number and kra pin . director document type, director country code. | name,id number mobile number,kra pin director document type and director country code |
Headers
Key: Authorization
Value: Bearer cFJZcjZ6anEwaThM6UmYyMkJmWm9nMHFRR2xWOQ==
Body:
{
"merchantCode": "2****2",
"businessName": "Test Shop",
"billNumber": "123456", #Optional
"description": "Test Shop",
"productType": 3,
"countryId": "2",
"subregionId": 4,
"industryId": 2,
"subIndustryId": 1,
"bankId": 2,#Optional
"bankAccountNumber": "119*****22478",#Optional
"mobileNumber": "070****91",
"businessTypeId": 1,
"email": "testshop@email.com",
"registrationNumber": "K1****12PO",
"kraPin": "J1****2003Y",
"referralCode": "1234",
"dealerNumber": "123456",
"purpose": "Collection",
"natureOfBusiness": "Retail shop",
"physicalAddress": "Nairobi",
"estimatedMonthlyTransactionAmount": 500000.00,
"estimatedMonthlyTransactionCount": 10,
"callbackUrl": "https://posthere.io/******callback/",
"directors": [
{
"directorName": "John Doe",
"directorIdnumber": "2332****12",
"directorMobileNumber": "2547****59",
"directorKraPin": "2547****59",
"directorDocumentType":"ID_NUMBER,PASSPORT,ALIEN_ID",
"directorCountryCode": "256"
}
]
}
Response Parameters
Field | Type | Description | Example |
---|---|---|---|
responseCode | Numeric | This is a numeric status code that indicates the status of the response. 0 means success and any other code means an error occurred or the request failed.Please refer to the response codes table above. | 0 |
RequestId | Alpha-Numeric | A unique identifier for the registration request generated by SasaPay API. | "ef348e2f-f59b-446a-b92c-4d93ebf580a0" |
message | String | A description of the response status sent when a request is received. | "Registration staged Successfully" |
{ "status": true,
"responseCode": "0",
"message": "Confirmation code has been sent to 254*****573",
"requestId": "dd50f1b4-bd7f-402f-8855-27ac0959c6e4"
}
Business Onboarding Confirmation
For this POST request, you need to add the ConfirmationCode and RequestId parameters when making the request to finalize the registration of the entity.
Endpoint: https://sandbox.sasapay.app/api/v2/waas/business-onboarding/confirmation/
Request Parameters
Field | Type | Description | Example |
---|---|---|---|
merchantCode | String | A unique number assigned to an organization/merchant registered with ViewTech, through which payment is received (can be Paybill or Till number) | 4*6 |
otp | String | This is a four digit, confirmation code that is sent in response to the initial registration POST request when onboarding a new entity. | 1***4 |
requestId | Alpha-numeric | A unique identifier for the registration | "ef348e2f-f59b-446a-b92c-4d93ebf580a0" |
Headers
Key: Authorization
Value: Bearer cFJZcjZ6anEwaThM6UmYyMkJmWm9nMHFRR2xWOQ==
Body:
{
"merchantCode": "2**2",
"otp": "35**45",
"requestId": "41c54d28-5a84-****-9b11-6e67ada0d983"
}
Response Parameters
Field | Type | Description | Example |
---|---|---|---|
status | string | This is a numeric status code that indicates the status of the response. | true |
responseCode | Numeric | This is a numeric status code that indicates the status of the response. 0 means success and any other code means an error occurred or the request failed.Please refer to the response codes table above. | 0 |
message | String | This is the response message sent by the system when the payload is received on the endpoint. | “Your business account request has been received successfully and is awaiting approval"” |
requestId | alphanumeric | This is a numeric status code that indicates the status of the response. | "0a4b932e-0e0c-437f-baff-c66654f70687" |
merchantCode | string | A unique number assigned to an organization/merchant registered with ViewTech, through which payment is received (can be Paybill or Till number). | 4****6 |
accountNumber | Numeric | The registered business account number. | “831398-558” |
displayName | string | The name of the business created | “musin hardware“ |
accountStatus | string | status of the created account | "AWAITING_KYC_UPLOAD" |
accountBalance | string | This is the amount of money in the account | 0.0 |
{
"status": true,
"responseCode": "0",
"message": "Your business account request has been received successfully and is awaiting approval",
"data": {
"requestId": "0a4b932e-0e0c-437f-baff-c66654f70687",
"merchantCode": "2**2",
"accountNumber": "",
"displayName": "musin hardware",
"accountStatus": "AWAITING_KYC_UPLOAD",
"accountBalance": 0.0
}
}
Business KYC Upload
As a merchant, after successfully onboarding your business clients, the next step would be to know your businesses. SasaPay WaaS API enables you to do that by allowing your entities to upload the KYC(know your customer) documents.
Endpoint: https://sandbox.sasapay.app/api/v2/waas/business-onboarding/kyc/
Request Parameters
Field | Type | Description | Example |
---|---|---|---|
merchantCode | String | A unique number assigned to an organization/merchant registered with ViewTech, through which payment is received (can be Paybill or Till number).This is the MerchantCode associated with WaaS. | 2****8 |
requestId | Alpha-numeric | A unique identifier for the registration | "ef348e2f-f59b-446a-b92c-4d93ebf580a0" |
businessKraPin | Image File | This is the current photo of the business KraPin. | PHOTO.jpg |
businessRegistrationCertificate | Image File | This is the current photo of the business Registration certificate. | PHOTO.jpg |
boardResolution | Image File | This is the current photo of the business resolution document. | PHOTO.jpg |
cr12Document | Image File | This is the current photo of the business cr12 certificate. | PHOTO.jpg |
proofOfAddressDocument | Image File | This is the current proof of address. | PHOTO.jpg |
proofOfBankDocument | Image File | This is the current proff of the bank account. | PHOTO.jpg |
directorKraPin | Image File | This is the current photo of the director's KRA Pin. | PHOTO.jpg |
| directorIdCardFront | Image File | This is the Front surface of current photo of the directors's national ID Number or Passport. | ID_IMAGE_FRONT.jpg
|
| directorIdCardBack | Image File | This is the Back surface of current photo of the director's national ID Number or Passport. | ID_IMAGE_BACK.jpg
|
Headers
Key: Authorization
Value: Bearer cFJZcjZ6anEwaThM6UmYyMkJmWm9nMHFRR2xWOQ==
Body:
{
"merchantCode": "2612",
"requestId": "41c54d28-5a84-4e8f-9b11-6e67ada0d983",
"businessKraPin": "IMAGE.JPG",
"businessRegistrationCertificate": "IMAGE.JPG",
"boardResolution": "IMAGE.JPG",
"cr12Document": "IMAGE.JPG",
"proofOfAddressDocument": "IMAGE.JPG",
"proofOfBankDocument": "IMAGE.JPG",
"directorIdCardFront": "IMAGE.JPG",#Deprecated
"directorIdCardBack": "IMAGE.JPG",#Deprecated
"directorKraPin": "IMAGE.JPG",#Deprecated
"directorsKyc": [
{
"directorKraPinNumber":"A007774P",
"directorIdCardFront": "IMAGE.JPG",
"directorIdCardBack": "IMAGE.JPG",
"directorKraPin": "IMAGE.JPG"
}
]
}
Response Parameters
Field | Type | Description | Example |
---|---|---|---|
responseCode | Numeric | This is a numeric status code that indicates the status of the response. 0 means success and any other code means an error occurred or the request failed.Please refer to the response codes table above. | 0 |
message | String | This is the response message sent by the system when the payload is received on the endpoint. | Documents uploaded successfully. |
{
"status":true,
"responseCode":"0",
"message":"Business KYC uploaded."
}