Payment Validator API
Validate payment initiation requests against CBUAE Open Finance and ISO 20022 standards. Checks IBAN validity, amount limits, currency support, and routing classification.
/api/v1/openfinance/payment/validateTry it out
/api/v1/openfinance/payment/validateParameters
Code
curl -X POST "https://khaleejiapi.dev/api/v1/openfinance/payment/validate?payment=%7B%22payerIBAN%22%3A%22AE070331234567890123456%22%2C%22payeeIBAN%22%3A%22AE460261234567890123456%22%2C%22amount%22%3A1500%2C%22currency%22%3A%22AED%22%2C%22purpose%22%3A%22salary%22%7D" \ -H "Authorization: Bearer your_api_key"Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| payment.payerIBAN | string | Optional | Debtor IBAN (validated with MOD 97 check) |
| payment.payeeIBAN | string | Optional | Creditor IBAN (validated with MOD 97 check) |
| payment.amount | number | Optional | Payment amount (must be positive) |
| payment.currency | string | Optional | ISO 4217 currency code (AED, USD, EUR, GBP, SAR) |
| payment.purpose | string | Optional | Payment purpose (salary, rent, utilities, purchase, transfer, charity) |
| payment.paymentType | string | Optional | domestic, international, standing_order, or direct_debit |
| payment.international | boolean | Optional | Flag for cross-border payment (triggers additional creditorAgent checks) |
Response Fields
compliant
Boolean indicating whether the payment request passes all validation checks
classification
Payment routing data: payer/payee country, domestic flag, payment scheme, and messaging standard (ISO 20022)
issues[]
Array of validation issues with rule, severity, article reference, and requirement text
validPaymentTypes, validPurposes, validCurrencies
Reference arrays of accepted values for building compliant payment flows
Rate Limits
| Plan | Requests/Month | Rate Limit |
|---|---|---|
| Free | 1,000 | 10 req/min |
| Starter | 10,000 | 60 req/min |
| Professional | 100,000 | 300 req/min |
| Business | 500,000 | 1,000 req/min |
Debugging & Support
Include X-Request-ID when contacting support
Every response from KhaleejiAPI includes an X-Request-ID header — a unique identifier that lets our support team pull the exact log entry for your request within seconds. Always share it when reporting an unexpected error or unexpected result.
How to capture it
JavaScript / fetch
const res = await fetch("https://khaleejiapi.dev/api/v1/...", {
headers: { Authorization: "******" },
});
const requestId = res.headers.get("x-request-id");
console.log("Request ID:", requestId);
// → e.g. "req_01j9xkz4vp8..."cURL
curl -si "https://khaleejiapi.dev/api/v1/..." \ -H "Authorization: ******" | grep -i x-request-id # → x-request-id: req_01j9xkz4vp8...
Browser DevTools
Open DevTools (F12) → Network tab → click the failing request → scroll to the Response Headers section → copy the value next to x-request-id.
For a full list of error codes and guidance on common issues, see the Troubleshooting guide.