2. Validate Mobile
The second step for registration is validating the merchant's mobile number. In this step, the merchant will receive an SMS containing OTP to send to the server.
Endpoint
POST /api/partner/register/validate-otp
Request Headers
Header | Required | Description |
---|---|---|
Authorization | Yes | Bearer token provided by Authentication Endpoint |
Accept | Yes | It must be set to application/JSON. |
Content-Type | Yes | It must be set to application/JSON. |
{
"Authorization": "Bearer [id_token]",
"Accept": "application/json",
"Content-Type": "application/json"
}
Request Body Parameters
Field name | Field type | Description | Restrictions |
---|---|---|---|
signature | String | The signature is received from the first step. It must be passed as is. | Modifying the signature will invalidate the registration session. |
sessionUuid | String | The registration session UUID. | This field must be passed as is. Otherwise, it will invalidate the registration session. |
mobile | String | It is the mobile number of the merchant. | It must be the mobile number submitted in the first step. |
otp | String | The OTP message in the SMS is received on the merchant's mobile device. | |
partnerProfileNo | String | The partner profile no. It will be given upon signing the contract with Paylink. |
An example of the request is as follows:
{
"signature": "ae135f2506dc3c********",
"mobile": "0599925477",
"sessionUuid": "96ea8e22-edef-414b-9724-3bd2d494b710",
"otp": "7615",
"partnerProfileNo": "19039481"
}
Success Response
After submitting the above input, the response details are as follows:
Field name | Field type | Description |
---|---|---|
signature | String | This is a signature that must be passed to the next step. It is used for data integrity. |
mobile | String | It will contain the mobile number of the merchant. |
sessionUuid | String | This field will contain a random session UUID for this registration process. |
licenseNumber | String | It is the license number of the merchant. |
licenseType | String | It is the license type of the merchant. It is either a freelance certificate or commercial registration. |
licenseName | String | It is the merchant's license name, the merchant's name in case of freelance documents, or the organization name in case of CR documents. |
nationalIds | Array of String | It is the list of national IDs related to the merchant license. The merchant must choose a national ID from this array in the third step. If this array is empty, then the merchant can pass any national IDs |
bankNames | Array of String | List of the bank name. The registering merchant will choose a bank name from this array. |
monthlySalesVolumes | Array of object | It is the estimated volume of the registered merchant sales per month. It will contain the array of objects where each object has three fields (salesVolumeValue, salesVolumeName, and salesVolumeNameAr). salesVolumeValue will contain the values below_10000, 10000_50000, 50000_100000, and more_than_100000. salesVolumeName will contain the sales volume in English. salesVolumeNameAr will contain the sales volume in Arabic. For example, a value below_10000 means sales below 10000 SAR per month. The value 10000_50000 means sales between 10,000 and 50,000 per month. | |
Example of the response:
{
"signature": "example_signature",
"mobile": "1234567890",
"sessionUuid": "example_session_uuid",
"licenseNumber": "123456789",
"licenseType": "cr",
"licenseName": "Example Company",
"nationalIds": ["1234567890", "0987654321"],
"bankNames": ["Bank A", "Bank B", "Bank C"],
"monthlySalesVolumes": [
{
"salesVolumeValue": "below_10000",
"salesVolumeName": "Below 10,000 SAR",
"salesVolumeNameAr": "أقل من 10000 ريال سعودي"
},
{
"salesVolumeValue": "10000_50000",
"salesVolumeName": "10,000 - 50,000 SAR",
"salesVolumeNameAr": "10,000 - 50,000 ريال سعودي"
},
{
"salesVolumeValue": "50000_100000",
"salesVolumeName": "50,000 - 100,000 SAR",
"salesVolumeNameAr": "50,000 - 100,000 ريال سعودي"
},
{
"salesVolumeValue": "more_than_100000",
"salesVolumeName": "More than 100,000 SAR",
"salesVolumeNameAr": "أكثر من 100,000 ريال سعودي"
}
]
}
Updated 6 months ago