Personal onboarding
With the SasaPay Wallet as a Service (WaaS) you can onboard beneficiaries allowing them to have a seamless, safe, and secure way of making payments and completing transactions. When onboarding beneficiaries, you need to make two post requests, whereby the first one allows sending of a Confirmation Code to the beneficiary in order to verify that the registering beneficiary is the holder of the mobile number. The second post request for finalizing the registration of the beneficiary includes two additional parameters, the ConfirmationCode and requestId parameters.
Initial POST request
Endpoint: https://sandbox.sasapay.app/api/v2/waas/personal-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 |
firstName | String | The first name of the customer as it appears on the identity card or passport | “John” |
middleName | String | The middle name of the customer as it appears on their identity card of passport | “K” |
lastName | String | The last name of the customer as it appears on their identity card | “Doe” |
mobileNumber | Numeric | This is the mobile number identifying merchant beneficiary and is required during registration. | 07***8 |
CountryCode | Numeric | This is the country calling code | 254 ( for Kenya) |
documentType | String | This is the type of identifying documentation for the customer | 1.ID card 2.Passport 3. Alien ID |
documentNumber | String | This is the number on the identification document type | 2****4 |
callbackUrl | URL string | This is the link where sasapay will send the data about beneficiary status during onboarding process.This data can be used by the mechant to update beneficiary status on merchant system. | https://example.com/4*****d/callback/ |
Headers
Key: Authorization
Value: Bearer cFJZcjZ6anEwaThM6UmYyMkJmWm9nMHFRR2xWOQ==
Body:
{
"merchantCode":"2****8",
"firstName":"John",
"middleName":"",
"lastName":"Doe",
"countryCode":"254",
"mobileNumber":"07*******280",
"documentNumber":"1*******8",
"documentType":"1",
"email":"john@example.com",
"callbackUrl":"https://posthere.io/'*-47d5-a5*d/"
}
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": "2fadf63d-63d0-4ae8-890f-40b960f42959"
}
Personal 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 beneficiary.
Endpoint: https://sandbox.sasapay.app/api/v2/waas/personal-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 | Numeric | This is a confirmation code that is sent in response to the initial registration POST request when onboarding a new beneficiary. | 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****8",
"otp": "46**43",
"requestId": "e42f0029-1b29-41f3-ae5a-5c83529f7dfc"
}
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. | “Customer registered successfully” |
data | JSON Object | An object containing the details of the registered customer | “data” |
merchantCode | Numeric | A unique number assigned to an organization/merchant registered with ViewTech, through which payment is received (can be Paybill or Till number) | “2****8 |
accountNumber | Numeric | customer personal account number i.e bank account | “831398-558” |
displayName | String | customer name | “Doe” |
accountStatus | String | status of the created account | “ACTIVE” |
accountBalance | Numeric | customer balance in the wallet | “0” |
{
"status": true,
"responseCode": "0",
"message": "Registration successful",
"data": {
"merchantCode": "2**2",
"accountNumber": "254705*****8",
"displayName": "John Doe",
"accountStatus": "ACTIVE",
"accountBalance": 0
}
}
Personal KYC Upload
As a merchant, after successfully onboarding your beneficiaries, the next step would be to know your beneficiaries. SasaPay WaaS API enables you to do that by allowing your beneficiaries to upload the KYC(know your customer) documents.
Endpoint: https://sandbox.sasapay.app/api/v2/waas/personal-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 |
customerMobileNumber | String | The beneficiary’s mobile number whose KYC documents are being uploaded. | 254705*****628 |
passportSizePhoto | Image File | This is the current photo or selfie of the beneficiary. | PHOTO.jpg |
documentImageFront | Image File | This is the Front surface of current photo of the beneficiary's national ID Number or Passport. | ID_IMAGE_FRONT.jpg |
documentImageBack | Image File | This is the Back surface of current photo of the beneficiary's national ID Number or Passport. | ID_IMAGE_BACK.jpg |
Headers
Key: Authorization
Value: Bearer cFJZcjZ6anEwaThM6UmYyMkJmWm9nMHFRR2xWOQ==
Body:
{
"merchantCode": "2****8",
"customerMobileNumber": "2****8-13",
"passportSizePhoto": "PHOTO.jpg",
"documentImageFront": "ID_IMAGE_FRONT.jpg",
"documentImageBack": "ID_IMAGE_BACK.jpg",
}
Response Parameters
Field | Type | Description | Example |
---|---|---|---|
responseCode | String | 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": "Documents uploaded."
}
Onboarding Callback 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 |
displayName | String | Name of the customer. | John Doe |
accountNumber | String | This is the unique number identifying customer. | 40****9-122 |
accountStatus | String | This is the onboarding status of the customer | REJECTED or APPROVED |
description | String | This is the description depending on the account status. | Onboarding process completed successfully. |
{
"merchantCode": "600980",
"displayName": "John Doe",
"accountNumber": "123456",
"accountStatus": "REJECTED",#APPROVED if account approved
"description": "names not matching"
}