Overview
Our API allows you to use some of the most important functionalities of ANB platform to perform jobs in your app using ANB services & customers' data.
Prerequisites
To use the SADAD service, you need to do the following:
- Register/Login to the ANB Developer Portal.
- Create an app.
- You should now have a client id and secret associated with your app.
- Get an access token from our auth service using your client id and secret.
To create a new application:
- Log in to your account. Then navigate to Apps > Add App.
- In the App name field, enter a name for your application.
- In the APIs field, select B2B Payment Sandbox, and click ADD APP.
- Get an access token from our auth service using your client id and secret.
Attribute | Value |
---|---|
client_id | The client_id for your application on the Developer Portal |
client_sercret | The client_sercret for your application on the Developer Portal |
How to integrate with ANB?
-
Make sure to read and to understand API documentation.
-
Send an email to API@anb.com.sa with below details
-
You will get an email from API@anb.com.sa with client id and secret
Error codes
Status Code | Description |
---|---|
I000000 | Successful Operation |
E020051 | Language code should be ENGLISH or ARABIC |
E020358 | Associate ID is mandatory for the service 058 |
E620001 | The signon information provided in the query in invalid |
E620002 | The date range supplied in invalid |
E620003 | The specified Biller does not exist in system |
E620004 | Bank is not active |
E620005 | Neither Biller ID nor customer ID specified in query |
E620006 | Customer?s logon ID not active : |
E620007 | Customer ID is not specified in query |
E620008 | Customer does not exist in system |
E620009 | The following property is null or undefined |
E620010 | Access channel is mandatory |
E620011 | Biller ID is mandatory if billing account / bill number is provided |
E620012 | Display label not found for statement |
E620013 | Invalid customer, like ?invalid customer?, or ?could not obtain customer information' |
E620014 | Error while fetching Service Account Presentment Agreement for the entities provided' |
E620015 | System specified message for error while fetching Statement(s) |
E620016 | Error populating bill record aggregate in the response |
E620017 | Error while fetching global (SADAD) message for the response |
E620018 | Error while applying one of the rules |
E620019 | Error while fetching fake Statement(s) |
E620020 | Specified entity does not exist in the system |
E620021 | Merchant key for Service Account Presentment Agreement not found in the system |
E620022 | The query passed in null |
E620023 | Null / invalid date format : |
E620024 | Audit failure! The process could not be audited |
E620025 | Customer ID is mandatory for customer |
E620026 | Proxy customer ID is mandatory for proxy customer |
E620027 | Biller is not active : |
E620028 | Account is not active : |
E620029 | Query successful, but fetch limit reached. Some records may not have been fetched |
E620030 | No bills found matching the search criteria |
E620031 | Query response failed schema validation |
E620032 | Internal error |
E620033 | Invalid XML. Schema validation failed |
E620034 | Failed to get Sender ID, Receiver ID or Message Code from XML message |
E620035 | Failed to get message parameters from config file |
E620036 | Failed to read MessageDetails.cnf file |
E620037 | Failed to validate the message |
E620038 | Failed to query bill |
E620039 | Failed to sign or persist response message |
E620040 | Utility Bill host Server is not running |
E620041 | Communication problem with utility Bill host server |
E620042 | Overpayment or underpayments is not allowed |
E620043 | Cannot make overpayment |
E620044 | Cannot make underpayment |
E620045 | Bill Not Found |
E620046 | Bill has expired. Payments cannot be made on expired bills |
E620047 | Payable amount should be greater than zero |
E620048 | Your account has been disabled. Please contact the Administrator |
E620049 | Account not found |
E620050 | Biller is not active |
E620051 | The specified Biller does not exist in the system |
E620052 | Internal Error! |
E620053 | Failure (see embedded error code(s)) |
E620054 | Issuer Bank not found |
E620055 | Acquirer Bank not found |
E620056 | There is no enough data provided to complete the transaction |
E620057 | Issuer Bank Not Active |
E620058 | Acquirer Bank Not Active |
E620059 | Cannot make multiple payments on the same Account/Bill in a single request |
E620060 | Access Channel not found |
E620061 | Payment validation request limit exceeded |
E620062 | Access Channel not Active |
E620063 | Branch Code is missing |
E620064 | District Code is missing |
E620065 | Payment method is missing |
E620066 | Access Channel is missing |
E620067 | You have been disabled. Please contact the Administrator |
E620068 | Verification failed for the certificate used for signing the data |
E620069 | Signature verification failed |
E620070 | Payment Confirmation failed |
E620071 | Customer not found |
E620072 | One or more accounts not found |
E620073 | One or more associations between the customer and its accounts not found |
E620074 | Failed to inquire Customer Profile |
E620075 | Failed to add Customer Profile |
E620076 | Failed to delete Customer Profile |
E620077 | Amount does not match |
E620078 | Sadad PmtId missing |
E620079 | Payment is a part of the group |
E620080 | Payment has been advanced to a state wherein advice cannot be performed |
E620081 | Bank PmtId missing |
E620082 | Value date is missing |
E620083 | Sadad Timeout |
E620084 | SADA General Failure |
E620085 | TimeOut |
E620086 | Channel Is Not Enabled |
E620087 | Fund Transfer Error |
E620088 | Fund Transfer Timeout |
E620089 | Message Response Error(As an Inner Error Only) |
E620090 | ChannelTimeOut |
E620091 | ATM Has Terminated The Payment |
E620092 | Account has Insufficent Funds |
E620093 | Account is Not Valid |
E620094 | Communication Error With SADAD |
E620095 | Payment Already Advised Error |
E620096 | Payment Already Terminated Error |
E620097 | Invalid Message Type Coming From The Channel |
E620098 | Tuxedo Unable To Connect To Host |
E620099 | Tuxedo Connected To Host But No Response |
E620100 | Your request has failed. Please try again later |
E620101 | The requested biller is not subscribed for Fee Query service |
E620102 | The supplied RQUID has already been used |
E620103 | Bank is not authorized to access this service |
E620104 | The selected access channel is not permitted to perform MOI payments |
E620105 | Fee amount is less than or equal to zero |
E620106 | The supplied service ID is not of a service provided by the biller |
E620107 | Branch code does not exist: |
E620108 | District code does not exist : |
E620109 | Branch code is missing |
E620110 | District code is missing |
E620111 | Payment already exists in the system for request (RQUID) |
E620112 | Payment Amount Validation failed for CIP |
E620113 | CIP Validation failed for payment type : |
E620114 | CIP validation failed for account : |
E620115 | Account does not exist in the system : |
E620116 | Payment Amount is not in range |
E620117 | The payment type does not exist |
E620118 | Payment Check digit is missing |
E620119 | Exact payment is required |
E620120 | Payment is less than the minimum allowed amount |
E620121 | Payment is greater than the maximum allowed amount |
E620122 | Invalid or missing payment method |
E620123 | Billing account must not be supplied for voucher payment type : |
E620124 | Bill number must not be supplied for voucher payment type : |
E620125 | No vouchers available for the requested amount |
E620126 | Billing account is not supplied |
E620127 | Acquirer BankId is missing |
E620128 | The count of payments validated and the payments count in Advice request dont match |
E620129 | No Payments found for the groupPmtId provided |
E620130 | Status aggregate defining advice code is missing |
E620131 | Payment already exists in the system with Bank PmtId: |
E620132 | Duplicate Bank PmtId found in the request |
E620133 | Advice can only be performed by the Bank that requested payment validation |
E620134 | Bank Id in the request does not match the Bank Id in the system |
E620135 | The Customer Id in the request does not match the Customer Id in the system |
E620136 | The Service Id in the request does not match the Service Id in the system |
E620137 | The Beneficiary Id in the request does not match the Beneficiary Id in the system |
E620138 | The Partner service aggregate is missing |
E620139 | Customer-Account association not found |
E620140 | Biller assigned customer association cannot be deleted |
E620141 | One or more associations between the customer and its accounts are biller assigned |
E620142 | Failed to get Signature value |
E620143 | Failed to get Certificate details from partner profile |
E620144 | Failed to get partner profile from config file |
E620145 | Failed to read PartnerDetails.cnf |
E620146 | Failed to read SADADProfile.cnf file |
E620147 | Failed to retrieve Biller Info |
E620148 | Failed to attach signature to the message |
E620149 | Failed to sign the data |
E620151 | Incorrect Beneficiary Id |
E620152 | Incorrect amount entry |
E620153 | Wrong amount |
E620154 | Citizen record not found |
E620155 | Incorrect sponsor Id entry |
E620156 | Refund Amount is Exceeding the available Amount |
E620157 | Not Enough Balance |
E620158 | Incorrect key field entry |
E620159 | Occupation not found |
E620160 | Beneficiary ID is not Supplied in the Request |
E620163 | Invalid customer Id |
E620164 | Citizen not found |
E620165 | Alien not found |
E620166 | Visitor not found |
E620167 | Invalid customer Id |
E620168 | Customer cannot perform the required service |
E620170 | Operation cannot be completed, try again later |
E620171 | Operation cannot be completed, check with bank |
E620172 | Operation cannot be completed, check with NIC |
E620173 | Duplicate Refund Id |
E620174 | No Payment Found |
E620175 | Unable To Get Customers Account |
E620176 | Unable to Get the Payment |
E620177 | Unable to Log Refund Query Request |
E620178 | Duplicate Incomplete Refund |
E620179 | Unable to Log Refund Query Response |
E620180 | Internal Error |
E620181 | Unknown Error, check with NIC |
E620182 | Invalid or missing HTTP Header sender-id or rquid or destination-id |
E620183 | Missing data stream or valid content-type application/octet-stream |
E620184 | Invalid message code. Expected RINQRQ |
E620185 | Invalid message type. Expected RefundInqRq |
E620186 | Failed to deliver refund query request to biller |
E620187 | Invalid Duration / Period |
E620188 | Fee does not exist for given duration |
E620189 | No Fee Required |
E620190 | Fee Amount is Zero |
E620191 | Invaild job category |
E620192 | Incorrect number of dependents |
E620193 | Invalid Visa number |
E620194 | Invalid passport type |
E620195 | Citizen is suspended |
E620196 | Citizen is either dead or nationality withdrawn |
E620197 | Incorrect citizen Id |
E620198 | Beneficiary ID Is not found |
E620199 | Citizen ID is Not Found |
E620200 | Invalid alien Id |
E620201 | Alien ID is Not Found |
E620202 | Alien has died |
E620203 | Alien is naturalized |
E620204 | Alien has exited and not returned |
E620205 | Alien is outside the kingdom |
E620206 | Visitor ID is Not Found |
E620207 | Travel record (border crossing) not found |
E620208 | Visitor has exited the kingdom |
E620209 | Visitor Visa not found |
E620210 | Alien Sponsor record not found |
E620211 | Extension can only be granted to an Alien head of household |
E620212 | The Id entered in not for a dependant alien |
E620213 | Alien Visa not found |
E620214 | Alien Passport Not Found |
E620215 | Pilgrim is not found |
E620216 | The HOH Of The Current Dependent Is Not Found |
E620217 | Dependant has a separate Iqama |
E620218 | Separation Is Not Allowed For The Current Dependent |
E620219 | Exceeding maximum number of years for Iqama |
E620220 | The citizen wife Id should be for a female |
E620221 | Sponsor name not found |
E620222 | Alien is suspended |
E620223 | No Visa requested |
E620224 | Incorrect number of Visass entry |
E620225 | Invalid Visa Type |
E620226 | Invalid vehicle sequence number |
E620227 | Vehicle Sequence Number is not Supplied in the Request |
E620228 | Incorrect current owner Id entry |
E620229 | Vehicle current registration type is not found |
E620230 | Vehicle record not found |
E620231 | new license plate record not found |
E620232 | The service is only valid for old vehicle registration type |
E620233 | Vehicle new owner can not be same as the current owner |
E620234 | Vehicle owner record not found |
E620235 | Vehicle Current Owner ID is not Supplied in the Request |
E620236 | Invalid vehicle new owner Id |
E620237 | Vehicle New Owner ID is not Supplied in the Request |
E620238 | Invalid numeric part of the new license plate |
E620239 | The Numeric Part of the New License Plate is not Supplied in the Request |
E620240 | Vehicle registration type is invalid |
E620241 | Vehicle Registration Type is not Supplied in the Request |
E620242 | The supplied license plate number can not be found |
E620243 | Vechicle body type is invalid |
E620244 | Vehicle Body Type is not Supplied in the Request |
E620245 | Vehicle custom card number is invalid |
E620246 | Vehicle Custom Card Number is not Supplied in the Request |
E620247 | This service is only validfor new vehicle registration type |
E620248 | The vehicle status is not valid for the requested service |
E620249 | Vehicle custom card number is not found |
E620250 | The vehicle custom card number is already in use with another vehicle |
E620251 | The Request Type is Invalid |
E620252 | Invalid license type |
E620253 | The Request Type is not Supplied in the Request |
E620254 | The License Type is not Supplied in the Request |
E620255 | The Beneficiary ID is not Supplied in the Request |
E620256 | The Request Type is Invalid |
E620257 | Driving license status not found |
E620258 | Driving license not found |
E620259 | Unpaid Traffic Violation(s) Found For The Beneficiary |
E620260 | Invalid event actual date |
E620261 | Citizen has a nationality withdrawn status |
E620262 | Death registration requested for a dead person |
E620263 | Can not issue a replacement ID Card for a dead citizen |
E620264 | Only male citizens can perform the birth registration service |
E620265 | Event actual date is greayer than current da |
E620266 | Unable to Log FeeInquiry Request Caused by Error in SQL Execution |
E620267 | Unable to Log FeeInquiry Response Caused by Error in SQL Execution |
E620268 | This Operation is Blocked from 11:30PM to 12:30PM oclock |
E620269 | Unknow Error, check with NIC |
E620270 | Unsuccessful |
E620271 | Violation Already Paid |
E620272 | Violation Cancelled |
E620273 | Violation Not Payable Online |
E620274 | Violation does not belong to Customer |
E620275 | No Violations found for Customer |
E620276 | Refund message is from a bank that is not subscribed to the refund process |
E620277 | The Refund ID provided does not match an existing Refund record in SADAD |
E620278 | Refund is not a Cash Refund |
E620279 | Refund record has an invalid status of Refund Status |
E620280 | Customer ID does not match the refund record |
E620281 | Customer ID Type does not match the refund record |
E620282 | Incorrect PIN number |
E620283 | Biller ID does not match the refund record |
E620284 | Bank ID does not match the refund record |
E620285 | Refund record is expired |
E620286 | Refund ID must start either with the biller?s ID or the Bank?s ID |
E620287 | Bank not found in Sadad |
E620288 | The bank is not activated |
E620291 | Cannot process Refund request now, please try later |
E620292 | Data did not receive from Host System. |
E620293 | Socket Timeout Exception Please Check with MB Supprot Team. |
E620294 | SocketException Please Check with MB Supprot Team. |
E620295 | IOException Please Check with MB Supprot Team. |
E620296 | UnknownError Please Check with MB Supprot Team. |
E620297 | NullPointerException Please Check with MB Supprot Team. |
E620298 | Exception has been occured during the process. |
E620299 | Unhandled Java: Exception thrown by MB |
E620300 | The Required Driving License validity Duration is Invalid |
E620301 | Invalid message code. Expected FINQRQ |
E620302 | Invalid message type. Expected FeeInqRq |
E620303 | Date must be Gregorian |
E620304 | Fee Duration Date value cannot be less than todays date |
E620305 | The Associate ID is Invalid |
E620306 | The maximum allowed period to inquiry associates fees is 10 years |
E620307 | Dependent Birth Date cant be a future value |
E620308 | The Dependent Birth Date is Invalid |
E620309 | Payment Validation failed |
E620310 | Advice Status Code is not valid |
E620311 | Partner is not subscribed to use the requested service. |
E620312 | Bank is not registered with SADAD |
E620313 | Bank is deactivated in SADAD |
E620314 | The SADAD Bills ID provided does not exist |
E620315 | The SADAD Bills ID is no longer available to pay |
E620316 | Invoice details could not be retrieved, please try again |
E620317 | The Payer ID provided does not exist |
E620318 | There are no available invoices for the Payer ID provided |
E620319 | The supplier does not exist or cannot be found based on the search you have entered |
E620320 | Invalid bill query request. |
E620321 | MOIFeeAdvice MissMatch |
E620322 | Inactive Biller |
E620323 | Invalid Amount |
E620324 | Missing SPTN |
E620325 | Beneficiary id needed for prepaid accounts |
E620326 | Beneficiary OfficialIdType is required |
E620327 | The Beneficiary OfficialIdType is not valid |
E620328 | The allowed amount to be paid as a partial payment against this bill |
E620329 | Beneficiary id does not match with account owner id |
E620330 | Postpaid payment type not allowed for prepaid account |
E620331 | Customer Id is required |
E620332 | Beneficiary phone number is needed for prepaid service |
E620333 | Partial payments are not permitted |
E620334 | Amount entered is less than the minimum (partial payment) payable |
E620335 | Amount entered is greater than the invoice outstanding amount |
E620336 | Payment failure, please try again (catch all) |
E620337 | Invalid payment validation request provided. |
E620338 | More unpaid violation(s) exists |
E620339 | The Violator Id is Invalid |
E620340 | The Violator Id has an Invalid Check Digit |
E620341 | No Fines available for payment |
E620342 | The Visa cannot extended the Iqama Validity |
E620338 | More unpaid violation(s) exists |
E620339 | The Violator Id is Invalid |
E620340 | The Violator Id has an Invalid Check Digit |
E620341 | No Fines available for payment |
E999970 | Cast Exception |
E999971 | Conversation Exception |
E999972 | Sql Exception |
E999973 | User Exception |
E999974 | Receoverable Exception |
E999975 | Database Connection Issue |
E999976 | DataBase Timeout |
E999977 | MQ communication error |
E999985 | TCPIP Communication Error With the Host Systems(Connection Refused) |
E999998 | Unrecoverable database error |
E999999 | Unrecoverable integration error |