Payroll Payments Processing
Process payroll payments through SingleView Payments API
Overview
Payroll payments can be processed through SingleView Payments API and require the following details to be enclosed in the payment processing request:
Mandatory information
- The user must provide the valid credentials in the header
- Valid Signature, Access code as "Authorization: Bearer" and Session ID
- Payment Token has to be generated and assigned from the user end
- OTP has to be requested, and a valid OTP has to be mentioned
- The request should be in the specified format
- The request should include all the mandatory details with appropriate request tags
Process Payroll Payments
Endpoint details
Endpoint URL | Method | Authentication requirements |
---|---|---|
/v1/api/osvPlatform/payrollPayment | POST | 1. clientId 2. clientCode 3. signature 4. sid 5. Authorization: Bearer 6. otp |
Sample request
A Process Payment request for Payroll in the following format should be posted to the URL https://servicesuat.onesingleview.com/v1/api/osvPlatform/payrollPayment.
curl --location --request POST 'https://servicesuat.onesingleview.com/v1/api/osvPlatform/payrollPayment' \
--header 'clientId: Enter_Client_ID' \
--header 'clientcode: Enter_Client_Code' \
--header 'signature: Enter_Signature' \
--header 'sid: Enter_Session_ID' \
--header 'Authorization: Bearer Enter_Authorization_Key' \
--header 'Content-Type: application/json' \
--header 'Cookie: _redisPractice=s%3AZCBGJUQpUkodCfQzjQKS8FVNocn21g2p.jbPbPmfogwh2nDlTq6zjN5PihTC7oFWyrFVWASXiVas' \
--data-raw '{
"osvPlatformPayrollPaymentRQ": {
"userName": "Enter_Username",
"otp": "Enter_OTP",
"payToken": "Enter_Payment_Token",
"transactionType": "Enter_Transaction_Type_Code",
"corporateCommercialRegistrationNumber": "Enter_Corporate_Commercial_Registration_Number",
"molCorporateID": "Enter_Corporate_Labour_ID",
"fileSeqNo": "File_Sequence_Number",
"date": "Enter_Due_Date - Format YYYY-MM-DD",
"osvPlatformBanks": [
{
"bankCode": "Enter_Bank_Code",
"comments": "Enter_Payroll_Comments",
"totalTransactionCount": 100,
"totalTransactionAmount": 00.00,
"osvPlatformPayments": [
{
"companyCode": "Enter_Company_Code",
"currency": "Enter_Currency",
"amount": 00.00,
"debitAccount": {
"accountHolderName": "Enter_Debit_Account_Holder_Name",
"accountNumber": "Enter_Debit_Account_Number",
"BIC":"Enter_BIC",
"address": "Enter_Address"
},
"creditAccount": {
"accountHolderName": "Enter_Credit_Account_Holder_Name",
"accountNumber": "Enter_Credit_Account_Number",
"creditAccountBankCode": "Enter_Bank_Code",
"BIC":"Enter_BIC",
"address": "Enter_Address"
},
"salaryDetails": {
"nationalID": "Enter_National_ID",
"basicSalary": Enter_Basic_Salary_Amount,
"housingAllowance": Enter_Housing_Allowance_Amount,
"otherEarnings": Enter_Other_Earnings_Amount,
"deductions": Enter_Deductions_Amount
},
"description": "Enter_Payment_Description"
},
{
"companyCode": "Enter_Company_Code",
"currency": "Enter_Currency",
"amount": 00.00,
"debitAccount": {
"accountHolderName": "Enter_Debit_Account_Holder_Name",
"accountNumber": "Enter_Debit_Account_Number",
"BIC":"Enter_BIC",
"address": "Enter_Address"
},
"creditAccount": {
"accountHolderName": "Enter_Credit_Account_Holder_Name",
"accountNumber": "Enter_Credit_Account_Number",
"creditAccountBankCode": "Enter_Bank_Code",
"BIC":"Enter_BIC",
"address": "Enter_Address"
},
"salaryDetails": {
"nationalID": "Enter_National_ID",
"basicSalary": Enter_Basic_Salary_Amount,
"housingAllowance": Enter_Housing_Allowance_Amount,
"otherEarnings": Enter_Other_Earnings_Amount,
"deductions": Enter_Deductions_Amount
},
"description": "Enter_Payment_Description"
}
]
}
]
}
}'
Request description:
JSON Tag | Description | Data type |
---|---|---|
clientId Mandatory | Client ID | String |
clientCode Mandatory | Client Code | String |
signature Mandatory | Signature | String |
sid Mandatory | Session ID | String |
Authorization: Bearer Mandatory | Authorization Bearer Code i.e., Access Token | String |
osvPlatformPayrollPaymentRQ Mandatory | Payroll payment process Request Tag | Object |
userName Mandatory | Account Username | String |
otp Mandatory | One-Time Password for Payment Verification | String |
payToken Mandatory | Payment Token for Authorization | String |
corporateCommercialRegistrationNumber Mandatory | Corporate Commercial Registration Number | String |
fileSeqNo Mandatory | 4-Digit Payroll file sequence number (MMNN) MM - Month NN - Number of payroll in particular month | String |
date Mandatory | Scheduled date (Due date) in the format YYYY-MM-DD | String |
transactionType Mandatory | Type of transactions | String |
osvPlatformBanks Mandatory | Array of Banks | Array |
bankCode Mandatory | Bank Code as per Bank Name | String |
comments Mandatory | Comments about the payment | String |
totalTransactionCount Mandatory | Number of transactions | String |
totalTransactionAmount Mandatory | Total amount subjected to included transactions | String |
osvPlatformPayments Mandatory | Array of Payment to process | Array |
companyCode Mandatory | Company Code | String |
currency Mandatory | Currency of the payment | String |
amount Mandatory | Amount to be paid | String |
debitAccount Mandatory | Debit account details | Object |
accountHolderName Mandatory | Name of the account holder | String |
accountNumber Mandatory | Account Number | String |
BIC Mandatory | IFSC Code of the bank | String |
address Mandatory | Address | String |
creditAccount Mandatory | Crediting account details | Object |
creditAccountBankCode Mandatory | Bank code of the crediting account | String |
salaryDetails Mandatory | Details & Breakdown of Salary | String |
nationalId Mandatory | National ID or Iqama ID | String |
basicSalary Mandatory | Basic salary amount | String |
housingAllowance Mandatory | Amount for housing allowance | String |
otherEarnings Mandatory | Amount representing other earnings | String |
deductions Mandatory | Amount representing deductions | String |
description Mandatory | Description message | String |
Sample responses
Valid/Successful response
✔️ If Valid information in the header and body of a request is processed successfully
{
"osvPlatformPayrollPaymentRS": {
"status": "SUCCESS",
"osvPlatformBanks": [
{
"bankCode": "Bank_Code",
"transactionReferenceNumber": "Transaction_Reference_Number",
"osvPlatformPayments": [
{
"status": "Status_of_Processing",
"statusDetail": "Status_Detailed_Message",
"messageDescription": "Description",
"companyCode": "Company_Code",
"transactionDate": "DATE",
"fileSeqNo": "MMNN"
}
]
}
]
}
}
Valid/Successful response description:
JSON Tag | Description | Data type |
---|---|---|
osvPlatformPayrollPaymentRS | Payroll payment processing Response Tag | Object |
status | Status of the process | String |
osvPlatformBanks | Array of Banks | Array |
bankCode | Bank Code | String |
transactionReferenceNumber | Transaction Reference Number by SV | String |
osvPlatformPayments | Payment processed tag | String |
status | Status of the process | String |
statusDetail | Process Status Details | String |
messageDescription | Descriptive message | String |
companyCode | Company Code | String |
transactionDate | Date of transaction | String |
fileSeqNo | File Sequence Number | String |
Invalid/Failed response
❌ If Invalid information in the header of a request is processed successfully
{
status: "FAILURE",
errorCode: "Failed_Code",
message: "Failed_Message"
}
Invalid/failed response description:
JSON Tag | Description | Data type |
---|---|---|
status | Status of the Process | String |
errorCode | Error Code | String |
message | Response Message | String |
Response in case of a Technical error is encountered
⚠️ When the process encounters a technical error
{
status: "TECHERROR",
errorCode: "Error_Code",
message: "Error_Message"
}
Error response description:
JSON Tag | Description | Data type |
---|---|---|
status | Status of the Process | String |
errorCode | Error Code | String |
message | Response Message | String |
Updated 7 months ago