Back to neotek ↗Get Sandbox Access

BulkPaymentSubmit

POSThttps://test.api.neotek.sa/b2b-unified/va/v1/bulk-payments

Sandbox URL · in Production call https://api.neotek.sa

Sends a batch of payments out of a VA.

There is no single VA payment endpoint. ARB does not offer one, so for a single payment submit a batch containing one item.

Body:

ParameterRequiredDescription
bankCodeRequiredalways RJHISARI
fileReferenceRequiredyour batch identifier, alphanumeric, up to 35 characters
paymentsRequiredthe payment items, at least one
schemeIdOptionalrequired only if you have several schemes
msgReferenceOptionalgenerated if omitted

Each item in payments:

ParameterRequiredDescription
transactionReferenceRequiredunique per transaction, alphanumeric, up to 35 characters
paymentTypeRequiredINTERNAL, DOMESTIC or INTERNATIONAL
amountRequireddecimal, minimum 0.01
currencyRequiredISO 4217 code
debtorIbanRequiredthe VA the money leaves
debtorNameRequiredup to 35 characters
beneficiaryAccountIbanRequiredIBAN or account number
beneficiaryNameRequiredup to 35 characters
beneficiaryBankBicRequired8 characters, head office
executionDateOptionalYYYY-MM-DD, defaulting to today
beneficiaryAddressOptionalup to 140 characters
descriptionOptionalgenerated if omitted

Headers:

ParameterRequiredDescription
authorizationRequiredBearer <ACCESS_TOKEN>
content-typeRequiredapplication/json
cURL
curl -X POST 'https://test.api.neotek.sa/b2b-unified/va/v1/bulk-payments' \  --header 'authorization: Bearer <ACCESS_TOKEN>' \  --header 'content-type: application/json' \  --data '{    "bankCode": "RJHISARI",    "fileReference": "VAPAY20260513001",    "payments": [      {        "transactionReference": "TXN001",        "paymentType": "DOMESTIC",        "amount": "5000.00",        "currency": "SAR",        "debtorIban": "SA4580000204000010006087",        "debtorName": "Acme Trading Co",        "beneficiaryAccountIban": "SA1080000012345678901003",        "beneficiaryName": "Ahmed Hassan",        "beneficiaryBankBic": "RJHISARI"      }    ]  }'

ResponsefileReference comes back with the scheme appended, and that composite value is what BulkPaymentStatus expects

JSON
{  "success": true,  "code": "PAYMENT_ACCEPTED",  "message": "Bulk payment accepted for processing",  "fileReference": "VAPAY20260513001~SCHEME001",  "statusMessage": "Your payment is being processed and can be enquired after 30 minutes",  "paymentStatus": "PAYMENT_STATUS_ACCEPTED"}

Future-dated payments are accepted. Same-day SARIE transfers submitted late in the day may be deferred to the next business day.

Errors — every B2B failure carries a category that determines the HTTP status; see Statements → Errors.