Payroll Payments Enquiry

Get latest update on payroll payments' status

Overview

Singleview Payroll Payment Enquiry services connects the Corporate users via a secure channel and enables them to enquire the status of their posted transactions quickly and easily. The key feature of the service allows the user to get immediate acknowledgment about the most recent status of their payments.

🌐Domain details

Endpoint details

EndpointMethodGrant typeService validations
/api/v1/batch/payroll/paymentenquiryPOSTThe header should include:
1. clientId
2. clientCode
3. Access Token
4. SVReferenceID
5. CompanyId
Refer validations

Sample request

curl --location 'https://sandboxapi.onesingleview.com/api/batch/payroll/paymentenquiry' \
--header 'clientsecret: Enter-Client-Secret' \
--header 'clientid: Enter-Client-Id' \
--header 'SVReferenceID: Enter-SV-Reference-Id' \
--header 'Device: Device-type' \
--header 'DateTimeStamp: YYYY-MM-DDTHH:MM:SS' \
--header 'CompanyId: Enter-Company-Id' \
--header 'BaseCurrency: SAR' \
--header 'Authorization: Bearer <Enter-Token>' \
--header 'Content-Type: application/json' \
--data '{
	"Message": {
	"OSVPayrollMessageRequest": {
		"TransactionType": "PAYROLL", 
		"OSVPayrollStatusRequest": [{
			"BankCode": "Enter_Bank_Code",
			"PayrollTransactions": [{
				"CompanyCode": "Enter_Company_Code",                          
				"PayrollReferenceNumber": "Enter_Payroll_Reference_Number",              
				"MessageDescription": "Payroll_Message-xxxxxxxxxx"   
			}]
		},
		{
			"BankCode": "Enter_Bank_Code",
			"PayrollTransactions": [{
				"CompanyCode": "Enter_Company_Code",                          
				"PayrollReferenceNumber": "Enter_Payroll_Reference_Number",              
				"MessageDescription": "Payroll_Message-xxxxxxxxxx"     
			}]
		}]
	}

},

	
	"Signature": "Enter_Signature"
}

Request Description

JSON TagDescriptionData type
OSVPayrollMessageRequest
Mandatory
Root node containing all the payroll payment transaction messagesTag
TransactionType
Mandatory
Always it should be "PAYROLL"String
OSVPayrollStatusRequest
Mandatory
This tag contains enquiry for multiple banks requestsObject
BankCode
Mandatory
Bank Code (Identifier)
Ex: “ALRAJHI”, “SABB”
String
PayrollTransactions
Mandatory
This tag contains details of various payroll transactions for enquiryObject
CompanyCode
Mandatory
Sender company code/Identifier provided by the bankString
PayrollReferenceNumber
Mandatory
It is a unique reference number generated by the customer for each payroll processing)
Maximum length : 16 numeric characters
String
MessageDescription
Mandatory
Message details concerned to the specific payrollString
Signature
Mandatory
Encrypted string obtained by processing request body with Private Key/Certificate through SHA-256 with RSA Algorithm (Crypto : JCE Sign)String

Sample responses

✅ Successful response

{
	"OSVPayrollMessageResponse": {		
		"OSVPayrollTransactionResponse": [{
				"BankCode": "Bank_Code",	
				"PayrollReferenceNumber": "Payroll_Reference_Number",	
				"TransactionData": [{
					"CompanyCode": "Company_Code",									
					"MessageType": "Message",                                     
					"MessageDescription": "Payroll_Message_Acknowledgement",    
					"TransactionDate": "YYYYMMDD",                            
					"TransferType": "MT100-Payroll",                            				                                
					"StatusCode": "Status_Code",                                         
					"StatusDetail": "Status_Detail"               
				}]
			},
			{
				"BankCode": "Bank_Code",	
				"PayrollReferenceNumber": "Payroll_Reference_Number",	
				"TransactionData": [{
					"CompanyCode": "Company_Code",									
					"MessageType": "Message",                                     
					"MessageDescription": "Payroll_Message_Acknowledgement",    
					"TransactionDate": "YYYYMMDD",                            
					"TransferType": "MT100-Payroll",                            				                                
					"StatusCode": "Status_Code",                                         
					"StatusDetail": "Status_Detail"              
				}]
			}]
	}		
}

Response description

JSON TagDescriptionData type
OSVPayrollMessageResponseRoot nodeObject
OSVPayrollTransactionResponseElement root containing response of every bank transactionsObject/Array
BankCodeName of the bank.
Ex: “ALRAJHI”, “SABB”
String
PayrollReferenceNumberPayroll Reference NumberString
TransactionDataThis tag contains the status of the paymentsString
CompanyCodeSender company Code/IdentifierString
MessageTypeType of messageString
MessageDescriptionDetails about the responseString
TransactionDateValue of “SequenceNum” tag in the request message.
Maximum Length :16 digits numeric
String
TransferTypeType of transfer (MT-100 Payroll)String
StatusCodeStatus code of the response
SUCCESS- For successfully settled payment
PENDING- For a pending payment
FAILED- For a payment failed processing
String
StatusDetailDetails about the status of the requestString

❌ Invalid/Failed response

{
        status: "FAILURE",
        errorCode: "Failed_Code",
        message: "Failed_Message"
      }

Invalid/failed response description:

JSON TagDescriptionData type
statusStatus of the ProcessString
errorCodeError CodeString
messageResponse MessageString

⚠️ Technical error

{
        status: "TECHERROR",
        errorCode: "Error_Code",
        message: "Error_Message"
      }

Error response description:

JSON TagDescriptionData type
statusStatus of the ProcessString
errorCodeError CodeString
messageResponse MessageString