Skip to main content

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

Alt test Endpoint: https://sandbox.sasapay.app/api/v2/waas/personal-onboarding/

Request Parameters

FieldTypeDescriptionExample
merchantCodeStringA unique number assigned to an organization/merchant registered with ViewTech, through which payment is received (can be Paybill or Till number)4****6
firstNameStringThe first name of the customer as it appears on the identity card or passport“John”
middleNameStringThe middle name of the customer as it appears on their identity card of passport“K”
lastNameStringThe last name of the customer as it appears on their identity card“Doe”
mobileNumberNumericThis is the mobile number identifying merchant beneficiary and is required during registration.07***8
CountryCodeNumericThis is the country calling code254 ( for Kenya)
documentTypeStringThis is the type of identifying documentation for the customer1.ID card
2.Passport
3. Alien ID
documentNumberStringThis is the number on the identification document type2****4
callbackUrlURL stringThis 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/
Request sample
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

FieldTypeDescriptionExample
responseCodeNumericThis 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
requestIdAlpha-NumericA unique identifier for the registration request generated by SasaPay API."ef348e2f-f59b-446a-b92c-4d93ebf580a0"
messageStringA description of the response status sent when a request is received."Registration staged Successfully"
Sample Response
{   "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.

Alt test Endpoint: https://sandbox.sasapay.app/api/v2/waas/personal-onboarding/confirmation/

Request Parameters

FieldTypeDescriptionExample
merchantCodeStringA unique number assigned to an organization/merchant registered with ViewTech, through which payment is received (can be Paybill or Till number)4*6
otpNumericThis is a confirmation code that is sent in response to the initial registration POST request when onboarding a new beneficiary.1***4
requestIdAlpha-numericA unique identifier for the registration"ef348e2f-f59b-446a-b92c-4d93ebf580a0"
Sample Request
Headers
Key: Authorization
Value: Bearer cFJZcjZ6anEwaThM6UmYyMkJmWm9nMHFRR2xWOQ==
Body:

{
"merchantCode": "2****8",
"otp": "46**43",
"requestId": "e42f0029-1b29-41f3-ae5a-5c83529f7dfc"
}

Response Parameters

FieldTypeDescriptionExample
responseCodeNumericThis 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
messageStringThis is the response message sent by the system when the payload is received on the endpoint.“Customer registered successfully”
dataJSON ObjectAn object containing the details of the registered customer“data”
merchantCodeNumericA unique number assigned to an organization/merchant registered with ViewTech, through which payment is received (can be Paybill or Till number)“2****8
accountNumberNumericcustomer personal account number i.e bank account“831398-558”
displayNameStringcustomer name“Doe”
accountStatusStringstatus of the created account“ACTIVE”
accountBalanceNumericcustomer balance in the wallet“0”
Sample Response


{
"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.

Alt test Endpoint: https://sandbox.sasapay.app/api/v2/waas/personal-onboarding/kyc/

Request Parameters

FieldTypeDescriptionExample
merchantCodeStringA 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
customerMobileNumberStringThe beneficiary’s mobile number whose KYC documents are being uploaded.254705*****628
passportSizePhotoImage FileThis is the current photo or selfie of the beneficiary.PHOTO.jpg
documentImageFrontImage FileThis is the Front surface of current photo of the beneficiary's national ID Number or Passport.ID_IMAGE_FRONT.jpg
documentImageBackImage FileThis is the Back surface of current photo of the beneficiary's national ID Number or Passport.ID_IMAGE_BACK.jpg
Sample Request
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

FieldTypeDescriptionExample
responseCodeStringThis 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
messageStringThis is the response message sent by the system when the payload is received on the endpoint.Documents uploaded successfully.
Sample Response
{ "status": true,
"responseCode": "0",
"message": "Documents uploaded."
}

Onboarding Callback Parameters

FieldTypeDescriptionExample
merchantCodeStringA 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
displayNameStringName of the customer.John Doe
accountNumberStringThis is the unique number identifying customer.40****9-122
accountStatusStringThis is the onboarding status of the customerREJECTED or APPROVED
descriptionStringThis is the description depending on the account status.Onboarding process completed successfully.
Sample Response
{
"merchantCode": "600980",
"displayName": "John Doe",
"accountNumber": "123456",
"accountStatus": "REJECTED",#APPROVED if account approved
"description": "names not matching"
}