4. Confirm with Nafath

The fourth step for registration is confirming the account with Nafath after submitting the third step. The merchant will open the Nafath App to approve the application and verify identity. During this time, periodically check the Nafath confirmation status by calling the following endpoint.

Endpoint

POST /api/partner/register/confirm-account

Request Headers

HeaderRequiredDescription
AuthorizationYesBearer token provided by Authentication Endpoint
AcceptYesIt must be set to application/JSON.
Content-TypeYesIt must be set to application/JSON.
{
  "Authorization": "Bearer [id_token]",
  "Accept": "application/json",
  "Content-Type": "application/json"
}

Request Body Parameters

Field nameField typeDescriptionRestrictions
signatureStringThe signature is received from the first step. It must be passed as is.Modifying the signature will invalidate the registration session.
sessionUuidStringThe registration session UUID.This field must be passed as is. Otherwise, it will invalidate the registration session.
mobileStringIt is the mobile number of the merchant.It must be the mobile number submitted in the first step.
partnerProfileNoStringThe partner profile no. It will be given upon signing the contract with Paylink.

An example of the request is as follows:

{
  "signature": "ae135f2506dc3****",
  "mobile": "00966512345678",
  "sessionUuid": "96ea8e22-edef-414b-9724-3bd2d494b710",
  "partnerProfileNo": "01234567"
}

Success Response

After submitting the above input, the response details are as follows:

Field nameField typeDescription
signatureStringThis value is a signature that you must pass to the next step. It is used for data integrity.
mobileStringIt is the mobile number of the merchant.
sessionUuidStringThe registration session UUID.
nafathNumberStringEmail of the merchant.
statusStringThe status of the Nafath approval (Waiting, Expired, Rejected, and Completed)
emailStringThe email of the merchant.
errorMessageStringIf Nafath status is ERROR
activatingAccountResponseString

Example of the response:

{
  "signature": "ae135f2506dc3c44152d62265419c09e****",
  "mobile": "00966512345678",
  "sessionUuid": "96ea8e22-edef-414b-9724-3bd2d494b710",
  "nafathNumber": "26",
  "status": "Waiting",
  "email": "[email protected]",
  "errorMessage": null,
  "activatingAccountResponse": null
}

🚧

Important Notes

Please ensure that this request is sent frequently until we obtain a status update of "Expired," "Rejected," or "Completed" from Nafath.


Nafath Status

Waiting

  • If the Nafath status is Waiting, it is necessary to send this request periodically until we receive the status Expired, Rejected, or Completed from Nafath.

Completed

  • When the Nafath status is Completed, it indicates that the merchant's registration has been successfully completed and is currently being processed by the Paylink operation team. There is no need to send this request again.
  • The status Completed will remain in effect for one hour. After that, any subsequent requests will result in an ERROR with the message "Invalid Request, Trx Not Exist.".

Expired

  • If the Nafath status is Expired, you can send another request by repeating the previous step (Add Merchant Information) which will always create a new session in the Nafath app.

ERROR

  • If the Nafath status returns an ERROR, the error message will be displayed in the errorMessage field in the following format:
{{number}}: {{error message}}
  • For Example:
{
  "signature": "ae135f2506dc3c44152d62265419c09e****",
  "mobile": "00966512345678",
  "sessionUuid": "96ea8e22-edef-414b-9724-3bd2d494b710",
  "nafathNumber": "26",
  "status": "ERROR",
  "email": "[email protected]",
  "errorMessage": "CODE 400:Invalid Request,Trx Not Exist",
  "activatingAccountResponse": null
}

👍

Use Activation Webhook

After this step, you need to use "Activation Webhook" to wait and listen to the approval decision from the Paylink operation team.