Open BankingB2B SuiteERP Integration
GuidesChangelog
Menu

Categories

Open BankingB2B SuiteERP Integration


  • GENERAL INFORMATION

    • Documentation guide
    • Documentation guide
    • SingleView B2B Core APIs
    • SingleView Open Banking
    • Platform architecture
    • KSAOB standards
    • Security best practices
  • Getting started

    • Introduction
    • Become a User
    • Quick Lookup
  • GETTING STARTED

    • Integration guide
    • Become a user
    • Integration guide
    • Prerequisites for Sandbox
    • Developer console
    • Establishing secure connection
    • Establish secure connection
    • Authenticating your request
    • Generate access token
    • Making your first test api call
    • Make test raw data API call
    • Prerequisites for production
    • Make test data use case API call
    • Moving to production
  • Authentication

    • Generate Signature
  • ERP API Services

    • Configure API Account
    • Create Group & Company
    • Supplier Services
    • Account Services
    • Balance Enquiry
    • Statements
    • IBAN Validation
    • POS Transactions
  • CONSENT MANAGEMENT

    • Overview
    • Create a consent
    • Retrieve consent details
    • Revoke a consent
  • AUTHENTICATION

    • Header parameters
    • Obtain access token
    • Generate signature
  • Data APIs

    • Account statement
    • Balance enquiry
    • IBAN verification
    • POS transactions
    • Raw statement
  • Raw Data APIs

    • Introduction
    • View accounts
    • View balance
    • View transactions
    • Identify account holders (Parties)
    • Review direct debits
    • Review scheduled payments
    • Review standing orders
  • Payment APIs

  • DATA USE CASE APIS

  • SADAD

  • Plug-and-Play Integrations

    • Payly
  • RESOURCES

    • POR Details
    • Error codes
    • Errors & codes
    • Collections
    • API version management
    • Bank connectivity
  • API Archives


Make single payment

Make a single payment through Payouts API

SingleView Payouts API services allow a single payment facility to interact through JSON requests and responses. The request is posted in a format specified for the concerned end-point. Based on the validity of the request, SingleView Payouts API processes the request and reflects a response accordingly. The authentication process involves additional identification parameters to ensure the best way to authorize the payment request.

Important information
  • The user must provide the valid credentials in the header
  • Encrypted and valid Signature and an active "Access Token"
  • Request format as specified with all the mandatory details with appropriate request tags
  • Ensure that Date tag in YYMMDD format should have an upcoming date. Transaction with a past date gets failed.
  • Ensure Date tag carries +1 day value for international (Swift) payments associated with BSF bank.
  • Ensure that the SequenceNum and TransactionReferenceNumber are unique for each transaction. Payments with same sequence number or transaction reference number appear as duplicate transactions and affects their processing and enquiry operations.
  • Beneficiary information should not contain special characters such as #, &, *, %, =, ^, _, \, {, |, }, ~, ", ;, @, [, ], `
🌐

Domain details

Environment

Domain

Rate/Limit

Sandbox

sandboxapi.onesingleview.com

3 Calls per Minute

Production/LIVE

To be provided upon onboarding

Based on contract

Make a single payment

Endpoint details

Endpoint URL

Method

Authentication requirements

/api/v2/single/payment

POST

  1. SVReferenceID
  2. CompanyId
  3. Device
  4. DateTimeStamp
  5. Authorization: Bearer

Sample request

Make Single Payment Request
curl --location 'https://sandboxapi.onesingleview.com/api/v2/single/payment' \
--header 'SVReferenceID:  SV123456' \
--header 'CompanyId: SINGLEVIEW1234' \
--header 'Device: web' \
--header 'DateTimeStamp: 2025-01-07T10:20:39' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNeVN4WFRCZjlqUlNWQzFad3B5QnlkOVpHelZXR2ZwUmFQNUUrY3d6cVQ5bi9OV0lwR2V5STNNMkdPL1pqakd4ZG0yclJkVEZxY3lhWGNpWnZFejl0V1EySjQxK2VvSlk2ZjdJZkFsV3BKRi9VL1YydDEzMUtnRnVhcnd6MzVQY1UzbnFEV0p0UWlzIiwiaWF0IjoxNzY3NzYxODc3LCJleHAiOjE3Njc3NjU0Nzd9.lWDSB3Rk_TtdUbKyFcCdaE5XGo7UDiTu2kDcqEyU7vg' \
--header 'Content-Type: application/json' \
--data '{
"Message": {
  "OSVPaymentMessageRequest": {
    "TransactionType": "MT100",
    "OSVPaymentTransactionRequest": [
      {
        "BankCode": "ALRAJHI",
        "TransactionReferenceNumber": "8212099155",
        "TransactionDescription": "Service Payment",
        "OrderingCustomerIBAN": "SA808123420460801234123",
        "OrderingCustomerAccountNumber": "20460801234123",
        "OrderingInstitution": "RJHISARI",
        "OrderingCurrency": "SAR",
        "OrderingCustomerNameAddress": {
          "OrderingCustomerName": "Abdul Kalam",
          "OrderingCustomerAdd1": "Suite 4444, B-Tower, Alawwal Street",
          "OrderingCustomerAdd2": "Riyadh",
          "OrderingCustomerAdd3": "Saudi Arabia"
        },
        "TransactionData": {
          "BeneficiaryAccountNumberNameAddress": {
            "BeneficiaryName": "Yusuf Muhammad",
            "BeneficiaryAdd1": "Suite 1234, Q-Tower, Business Street",
            "BeneficiaryAdd2": "Riyadh",
            "BeneficiaryAdd3": "Saudi Arabia",
            "BeneficiaryAccount": "SA2745123456727277763211"
          },
          "BeneficiaryAccountWithInstitutionBIC": "SABBSARI",
          "DateCurrencyAmount": {
            "Currency": "SAR",
            "Amount": "29",
            "Date": "260107"
          },
          "CompanyCode": "SV12345",
          "SequenceNum": "5390088903799909",
          "TransferType": "sarie",
          "TransactionComment": "Regular service payment",
          "PurposeOfRemittance": "01",
          "B2BCRN": "",
          "DetailsOfCharge": "SHA",
          "AdditionalDetails": ""
        }
      }
    ]
  }
},
"Signature": "rZZ9alg/2k9B5uWSdnW3AfYswAMqA4HXyNX3jIzckWb4o37uS4eKFEQ3xRn/dBarN6EGjfaXiMSOPdKyyjjrgT80K5ReXzQ7cC1INuU79ozlLgK8yTFz+nq785geQ+He4PR+hD35DkF9qnela9qmcr3GhAXpTjZG12hmaJEyzeofh6q3p+jqLFd208eAImubnL6SbSBDEAi5SLRH1K2I1U77OmFNirrfGV8qd+gsi+lqgyF9mpNj6lzy/fJNNe0qEr2WHvG1R7E2g3EhqovDNanQt6RFgkWegtlE37Eyi5qO3xlTqu76317ZWfMI7jHxs48fOLTNtBCOwUboVze5Tw=="
}'

Request parameters

JSON Tag

Requirement

Description

Data type

Message

Mandatory

Header information (client credentials)

Object

OSVPaymentMessageRequest

Mandatory

Root node containing all the payment transaction messages

Object

TransactionType

Mandatory

To be always mentioned as MT100

Alphanumeric

OSVPaymentTransactionRequest

Mandatory

This tag contains multiple banks requests

Object/Array

BankCode

Mandatory

Unique bank identification code

ALRAJHI - Al Rajhi Bank

SABB - Saudi Awaal Bank

BSF - Banque Saudi Fransi

ALINMA - Arab National Bank

ANB - Arab National Bank

NCB - Saudi National Bank

RIYADH - Riyadh Bank

GIB - Gulf International Bank

BJAZ - Bank Al Jazira

ALBI - Bank Al Bilad

Alphabet

TransactionReferenceNumber

Mandatory

Unique reference number generated by the customer for each transaction Maximum length : 16 numeric characters

String

TransactionDescription

Mandatory

Payment Description Maximum length : 35 characters

String

OrderingCustomerAccountNumber

Conditional
Any one is mandatory OrderingCustomerAccountNumber or OrderingCustomerIBAN

Ordering Customer’s account number (Any one is mandatory Account Number or IBAN Number) Input size: Min - 11 Characters Max - 24 Characters

Alphanumeric

OrderingCustomerIBAN

Conditional
Any one is mandatory AccountNumber or OrderingCustomerIBAN

Ordering Customer’s IBAN number

Alphanumeric

OrderingInstitution

Mandatory

Ordering Institution Ex: SABBSARI, RJHISARI Maximum length: 8 or 11 characters

Alphanumeric

OrderingCurrency

Optional

This is the currency code used in the transaction. Maximum length : 3 digit currency code

Alphabet

OrderingCustomerNameAddress

Mandatory

Element root containing details of Ordering customer

Object/Array

OrderingCustomerName

Mandatory

Ordering Customer’s Name Input size: 2-35 Characters

Alphabet

OrderingCustomerAdd1

Mandatory

Ordering Customer’s Address Line 1 Input size: 3-35 Characters

String

OrderingCustomerAdd2

Mandatory

Ordering Customer’s Address Line 2 ( city to be mentioned) Input size: 3-35 Characters

String

OrderingCustomerAdd3

Mandatory

Ordering Customer’s Address Line 3 Input size: 3-35 Characters

String

TransactionData

Mandatory

This tag contains the payment details

Object

BeneficiaryAccountWithInstitutionBIC

Mandatory

Beneficiary BIC Code Ex: SABBSARI, RJHISARI Maximum length: 8 or 11 characters

Alphanumeric

BeneficiaryAccountNumberNameAddress

Mandatory

Element root containing details of Beneficiary

Object/Array

BeneficiaryName

Mandatory

Beneficiary Name Input size: 2-35 Characters

Alphabet

BeneficiaryAdd1

Mandatory

Beneficiary Address Line 1 Input size: 3-35 Characters

String

BeneficiaryAdd2

Mandatory

Beneficiary Address Line 2 ( city to be mentioned) Input size: 3-35 Characters

String

BeneficiaryAdd3

Mandatory

Beneficiary Address Line 3 Input size: 3-35 Characters

String

BeneficiaryAccount

Mandatory

Beneficiary Customer’s account number Input size: 3-35 Characters

String

DateCurrencyAmount

Mandatory

Element root containing details of Date, Currency and Amount

Object

Currency

Mandatory

This is the currency code used in the transaction. Length of input: 3 characters

Alphabet

Amount

Mandatory

This is the amount used in the transaction

Numeric

Date

Mandatory

Value date Transactions will be performed on this date. Date must be expressed as YYMMDD Maximum length : 6 numeric characters

Date

CompanyCode

Mandatory

Unique identification code of the company provided by the bank

Alphanumeric

SequenceNum

Mandatory

Unique number representing each transaction generated by the client Length of input: 16 numeric characters

String

TransferType

Mandatory

Same Bank : interbank
Local Bank: sarie
International : swift

String

TransactionComment

Mandatory

Additional payment remarks or information Max size of input: 35 Characters
For transactions routed to Alinma and SAB banks, the same comment value must not be reused within a 15-minute window.

String

PurposeOfRemittance

Conditional
Review POR list for mandatory banks

Code representing the purpose of remittance View all POR codes

Numeric

B2BCRN

Conditional
Mandatory only for Al Rajhi Bank international payment

Unique Commercial Registration Number for Client provided by Al Rajhi Bank

String

DetailsOfCharge

Mandatory

To be mentioned as SHA

Alphabet

AdditionalDetails

Optional

Additional details about the payment Max size of input: 35 Characters

String

Signature

Mandatory

Encrypted string generated using a Private Key/CA-Signed Certificate with SHA-256 and RSA (JCE Signature)

String

Sample response

Single Payment Response
{
  "OSVPaymentMessageResponse": {
    "OSVPaymentTransactionResponse": [
      {
        "BankCode": "ALRAJHI",
        "ReferenceNumber": "28989876123",
        "CompanyCode": "125001291",
        "TransactionData": {
          "SequenceNum": "28989876123",
          "StatusCode": "Processing",
          "StatusDetail": "Your Payment file has been accepted, Kindly attempt to do a Payment Inquiry in a few minutes to know the Final status.",
          "BankReferenceNumber": "B260108143421114"
        }
      }
    ]
  }
}

Response parameters

JSON Tag

Description

Data type

OSVPaymentMessageResponse

Root node

Object

OSVPaymentTransactionResponse

Element root containing response of every bank transactions

Object/Array

BankCode

Unique bank identification code ALRAJHI - Al Rajhi Bank SABB - Saudi Awaal Bank BSF - Banque Saudi Fransi ANB - Arab National Bank NCB - Saudi National Bank RIYADH - Riyadh Bank

String

ReferenceNumber

Unique reference number assigned for transaction tracking and further operations

String

CompanyCode

Sender company Code/Identifier

String

TransactionData

This tag contains the status of the transactions included in the payment request

Object/Array

SequenceNum

Unique number representing the transaction generated by the client

String

StatusCode

Code representing status of the transaction in the request

String

StatusDetail

Details of the status code represented for the transaction in the request

String

BankReferenceNumber

Unique transaction reference number provided by the bank
Available only for ANB, SNB, SAB, Alinma
For Al Rajhi Bank, tag appears based on client agreement

String

Status Codes & Information

Transaction Status

StatusCode

StatusDetail

Processing

Your payment has been processed successfully to the bank. Kindly perform Payment Enquiry in a few minutes to know the final status.

Completed

Bank response description

Failed

Bank response description

Response_Timeout

Timeout! Unable to get response from the bank. Please perform payment enquiry in few mins or contact SingleView support.

Updated June 30, 2026

Was this helpful?