BillInquiry
POST
https://test.api.neotek.sa/b2b-unified/v1/sadad/inquirySandbox URL · in Production call https://api.neotek.sa
What is owed on a subscriber account with one biller.
Body:
| Parameter | Required | Description |
|---|---|---|
bankCode | Required | which bank performs the inquiry: RJHISARI or ARNBSARI |
billerCode | Required | the biller, as a 3-digit zero-padded code |
subscriberNumber | Required | the account with that biller, up to 30 characters |
Headers:
| Parameter | Required | Description |
|---|---|---|
authorization | Required | Bearer <ACCESS_TOKEN> |
content-type | Required | application/json |
cURL
curl -X POST 'https://test.api.neotek.sa/b2b-unified/v1/sadad/inquiry' \ --header 'authorization: Bearer <ACCESS_TOKEN>' \ --header 'content-type: application/json' \ --data '{ "bankCode": "ARNBSARI", "billerCode": "002", "subscriberNumber": "4210056076" }'Response
JSON
{ "success": true, "code": "SUCCESS", "message": "Bill inquiry successful", "billerCode": "002", "subscriberNumber": "4210056076", "dueAmount": "2708.20", "sadadReference": "DE1234567890"}sadadReference comes back from ARB but is null for ANB. It does not affect the payment — the reference is resolved internally when you submit.
Errors — each failure carries an error category and a specific code
| Status | Codes | Cause |
|---|---|---|
400 ERROR_CATEGORY_VALIDATION_FAILED | INVALID_ACCOUNT, INVALID_AMOUNT, INVALID_BANK_CODE, ACCOUNT_NOT_FOUND | Unknown biller code, bad subscriber number, malformed IBAN |
401 ERROR_CATEGORY_AUTH_FAILED | AUTH_FAILED, CREDENTIALS_NOT_FOUND | Token expired, or missing ANB SADAD account configuration |
404 ERROR_CATEGORY_NOT_FOUND | NOT_FOUND | No bill for that biller and subscriber pair |
409 ERROR_CATEGORY_DUPLICATE | DUPLICATE_TRANSACTION | You reused a transactionReference |
422 ERROR_CATEGORY_BANK_REJECTED | INSUFFICIENT_FUNDS, ACCOUNT_BLOCKED, PAYMENT_NOT_ALLOWED | The bank declined it |
503 ERROR_CATEGORY_TEMPORARY_FAILURE | BANK_UNAVAILABLE, NETWORK_TIMEOUT | Retry with backoff |