Process a Payroll

Make payroll payments using SingleView API services

Overview

Payroll payments can be processed through SingleView APIs 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"
  • The request should be in the specified format
  • The request should include all the mandatory details with appropriate request tags

🌐Domain details

Process Payroll Payouts

Endpoint details

Endpoint URLMethodAuthentication requirements
/api/v1/payroll/transferPOST1. CompanyId
2. SVReferenceID
3. DateTimeStamp
4. Device
5. Authorization: Bearer (Token)

Sample request

curl --location 'https://sandboxapi.onesingleview.com/api/v1/payroll/transfer' \
--header 'CompanyId: MYCOMPANY'
--header 'SVReferenceID: SV150619940615'
--header 'DateTimeStamp	:2025-01-02T10:20:39'
--header 'Device: Web'
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNMlZ4WGpFZmR6WFNWaTFad3B5QnlkOVpHelZXR2ZwUmFQNUV1TXl6S1Aybi94Y0lwR2V5STNNMkdPL1pqakd4ZG0yclJKUkdhRXlaWGNpWnZnOHArMWIyOGtOQTVkZ0VKajVVSEdiTmtNPSIsImlhdCI6MTczNTgwMTQ3NywiZXhwIjoxNzM1ODA1MDc3fQ.Bh7LFkvxNFrLe9dmH5rURWjGpES-u4z2EGeyrNM7z6E'
--header 'Content-Type: application/json' \
--data '{
"Message": {
  "OSVPayrollMessageRequest": {
    "TransactionType": "PAYROLL",
    "OSVPayrollTransactionRequest": [
      {
        "BankCode": "ALRAJHI",
        "PayrollReferenceNumber": "98198322",
        "CorporateCommercialRegistrationNumber": "CCRN1237",
        "MolCorporateID": "MOLID51922",
        "FileSeqNo": "0501",
        "CompanyCode": "125001291",
        "OrderingCustomerNameAddress": {
          "OrderingCustomerName": "National Company",
          "OrderingCustomerAdd1": "Suite 3, Business Bay Building",
          "OrderingCustomerAdd2": "Umm Thumamah Road, Riyadh",
          "OrderingCustomerAdd3": "P.O. Box 28, Riyadh 11411"
        },
        "OrderingInstitution": "RJHISARI",
        "OrderingCustomerAccountNumber": "",
        "OrderingCustomerIBAN": "SA8080000204608015129123",
        "TransactionData": [
          {
            "SequenceNum": "981983200113",
            "DateCurrencyAmount": {
              "Date": "240103",
              "Currency": "SAR",
              "Amount": "5000"
            },
            "BeneficiaryBankCode": "ALRAJHI",
            "BeneficiaryAccountWithInstitutionBIC": "RJHISARI",
            "BeneficiaryAccountNumberNameAddress": {
              "BeneficiaryAccount": "SA0580000204608015129115",
              "BeneficiaryName": "Ali",
              "BeneficiaryADD1": "Flat 16, KSA Heights, Al Rabie Road",
              "BeneficiaryADD2": "Riyadh",
              "BeneficiaryADD3": "Head Off P.O Box 66674, Riyadh"
            },
            "PaymentDetails": "WPS Payroll",
            "SalaryDetails": {
              "Id": "2843806023",
              "BasicSalary": "4000",
              "HousingAllowance": "1000",
              "OtherEarnings": "1000",
              "Deductions": "1000"
            }
          },
          {
            "SequenceNum": "981983200113",
            "DateCurrencyAmount": {
              "Date": "240103",
              "Currency": "SAR",
              "Amount": "5000"
            },
            "BeneficiaryBankCode": "ALRAJHI",
            "BeneficiaryAccountWithInstitutionBIC": "RJHISARI",
            "BeneficiaryAccountNumberNameAddress": {
              "BeneficiaryAccount": "SA0580000204608015129115",
              "BeneficiaryName": "Ali",
              "BeneficiaryADD1": "Flat 16, KSA Heights, Al Rabie Road",
              "BeneficiaryADD2": "Riyadh",
              "BeneficiaryADD3": "Head Off P.O Box 66674, Riyadh"
            },
            "PaymentDetails": "WPS Payroll",
            "SalaryDetails": {
              "Id": "2843806023",
              "BasicSalary": "4000",
              "HousingAllowance": "1000",
              "OtherEarnings": "1000",
              "Deductions": "1000"
            }
          }
        ],
        "TransactionComment": "WPS Payroll",
        "TotalTransactionCount": "02",
        "TotalTransactionAmount": "10000.00"
      }
    ]
  }
},
"Signature": "UMEH9M8tXknuRnnkrzRjDHaxFRLyZJ+wDNAl408+nTWyfTKaVcBkLLPhX5DKjTX18HK/oEJ8rmSeoswQuKzk9F2WIcXwZI9C+h7GA5d6r0FEu9hAYG+tDjFSyPDPHunMbILe1rgIlenbHra24Xt2IxAqj5115FEhJyabV0saIveNfK4sPOWtB+HeEAhwP6pwHETZoO4Z9kiMgdIbBbyD43IpRyxVQzogtlNKrkRaW/k16eIGzeS8Nh5g0txEoa3aocQTiVqzEtkwBXMKKUnoMZMCIOsPh7XNDN9nmsad0CNHr5wwJZoc9gC2e/d7fWuUu8xqe8AaSWXm3xTIfostIg=="
}'

Request Description

JSON TagDescriptionData type
OSVPayrollPaymentMessageRequest
Mandatory
Root node containing all the payroll payment transaction messagesObject
TransactionType
Mandatory
Type of transaction to be mentioned as PAYROLLString
OSVPayrollTransactionRequest
Mandatory
This tag contains multiple banks requestsObject
BankCode
Mandatory
Unique bank identification code (SingleView Identifier)
Ex: ALRAJHI, SABB, BSF, ANB, SNB, ALINMA, GIB, RIYADH, ALBI, BJAZ
Alphabetical
PayrollReferenceNumber
Mandatory
It is a unique reference number generated by the customer for each payroll processing
Max size of input: 16 Characters
Numeric
CorporateCommercialRegistrationNumber
Conditional for SNB
Unique Corporate commercial registration identification details
Max size of input: 15 Characters
String
MolCorporateID
Conditional for SNB & ANB
Unique MoI assigned corporate identification details
Max size of input: 15 Characters
String
FileSeqNo
Conditional for SNB
Unique file sequence number of the WPS payroll request
4 Digit Number in the format of MMSS
MM - Current month
SS - Sequence of payroll for the month
Numeric
CompanyCode
Mandatory
Unique company identification codeString
OrderingCustomerNameAddress
Mandatory
Tag carrying information on the ordering customer name and addressObject
OrderingCustomerName
Mandatory
Name of the ordering customer as per bank recordsString
OrderingCustomerAdd1
Mandatory
Ordering Customer’s Address Line 1
Input size:
Min - 3 Characters
Max - 35 Characters
String
OrderingCustomerAdd2
Mandatory
Ordering Customer’s Address Line 2 (city to be mentioned)
Input size:
Min - 3 Characters
Max - 35 Characters
String
OrderingCustomerAdd3
Mandatory
Ordering Customer’s Address Line 3
Input size:
Min - 3 Characters
Max - 35 Characters
String
OrderingInstitution
Mandatory
Ordering Institution
Ex: SABBSARI, RJHISARI
Maximum length: 8 or 11 characters
Alphanumeric
OrderingCustomerAccountNumber
Conditional
Account number of the ordering customer
Mandatory if OrderingCustomerIBAN is not provided
Alphanumeric
OrderingCustomerIBAN
Conditional
International Bank Account Number of the ordering customerAlphanumeric
TransactionData
Mandatory
Tag carrying information on payroll transactionsObject
SequenceNum
Mandatory
Unique sequence number for each transaction in the payrollNumeric
DateCurrencyAmount
Mandatory
Tag carrying information on transaction currency, date and amountObject
Currency
Mandatory
Unique code representing the currency of the transaction
Max size of input: 3 Characters
Alphabetical
Amount
Mandatory
Amount of the transactionNumeric
Date
Mandatory
Date of the transaction in YYMMDD formatDate
BeneficiaryBankCode
Mandatory
Unique bank identification code for beneficiary account (SingleView Identifier)
Ex: ALRAJHI, SABB, BSF, ANB, SNB, ALINMA, GIB, RIYADH, ALBI, BJAZ
Alphanumeric
BeneficiaryAccountWithInstitutionBIC
Mandatory
Beneficiary BIC Code
Ex: SABBSARI, RJHISARI
Maximum length: 8 or 11 characters
Alphanumeric
BeneficiaryAccountNumberNameAddress
Mandatory
Element root containing details of Beneficiary Object
BeneficiaryAccount
Mandatory
Beneficiary bank account number
Input size:
Min - 11 Characters
Max - 24 Characters
Alphanumeric
BeneficiaryName
Mandatory
Name of the beneficiaryString
BeneficiaryAdd1
Mandatory
Beneficiary Address Line 1
Input size:
Min - 3 Characters
Max - 35 Characters
String
BeneficiaryAdd2
Mandatory
Beneficiary Line 2 (city to be mentioned)
Input size:
Min - 3 Characters
Max - 35 Characters
String
BeneficiaryAdd3
Mandatory
Beneficiary Address Line 3
Input size:
Min - 3 Characters
Max - 35 Characters
String
PaymentDetails
Mandatory
Payroll transaction description
Max size of input: 35 Characters
String
SalaryDetails
Mandatory
Tag carrying salary informationObject
Id
Mandatory
Iqama or National ID number of the beneficiaryAlphanumeric
BasicSalary
Mandatory
Amount for basic salaryNumeric
HousingAllowance
Mandatory
Salary breakdown indicating the amount allocated to the beneficiary under housing allowancesNumeric
OtherEarnings
Mandatory
Additional amount to be credited apart from basic and housing allowanceNumeric
Deductions
Mandatory
Total amount that indicates the deductions for the concerned beneficiaryNumeric
TransactionComment
Mandatory
Comment regarding the payroll transactionString
TotalTransactionCount
Mandatory
Total count of transactions included in the payrollNumeric
TotalTransactionAmount
Mandatory
Total amount of transactions included under a specific debit accountNumeric
Signature
Mandatory
Encrypted string generated using a Private Key/CA-Signed Certificate with SHA-256 and RSA (JCE Signature)String

Sample response

✅ Successful response

{
  "OSVPayrollMessageResponse": {
    "OSVPayrollTransactionResponse": [
      {
        "BankCode": "ALRAJHI",
        "PayrollReferenceNumber": "98198322",
        "TransactionData": [
          {
            "CompanyCode": "125001291",
            "MessageType": "PRACK",
            "MessageDescription": "Payroll Message Acknowledgement",
            "TransactionDate": "2025-01-02T10:20:39",
            "FileSeqNo": "",
            "TransferType": "MT100-Payroll",
            "BankReferenceNumber": "",
            "StatusCode": "OK",
            "StatusDetail": "Payroll File received successfully kindly do the payroll enquiry after 30 min"
          }
        ]
      }
    ]
  }
}

Response description

JSON TagDescriptionData type
OSVPayrollMessageResponseRoot nodeObject
OSVPayrollTransactionResponseElement root containing response of every bank transactionsObject/Array
BankCodeUnique bank identification code
Ex: ALRAJHI, SABB, BSF, ANB, SNB, ALINMA, GIB, RIYADH, ALBI, BJAZ
Alphanumeric
PayrollReferenceNumberPayroll Reference NumberNumeric
TransactionDataThis tag contains the status of the paymentsObject/Array
CompanyCodeSender company Code/IdentifierString
MessageTypeType of messageString
MessageDescriptionDetails about the responseString
TransactionDateDate of the transactionString
FileSeqNoUnique file sequence number of the payrollNumeric
TransferTypeType of transfer MT-100 PayrollString
BankReferenceNumberUnique bank reference number of the payroll transactionAlphanumeric
StatusCodeCode representing status of the requestString
StatusDetailDetails about the status of the requestString

❗️

Important Info

  • Submitted payroll status will be reflected after 30 minutes
  • To know the status of payroll, a payroll enquiry request has to be sent