Availability
GET /v3/bills/partners returns one entry per biller with a single status: ACTIVE or UNAVAILABLE.
UNAVAILABLE biller answers 503 PARTNER_UNAVAILABLE on discover and pay. Read this map when you build your biller picker and hide what is unavailable; availability changes without notice.
A production key sees live availability. A sandbox key sees every biller
ACTIVE, because sandbox requests never reach a biller.The partner name
partner is the exact key from the map above. Algérie Télécom is written with its accents and a space; any other spelling is rejected with 400 ERR_VALIDATION.
The account object
account contains exactly one identifier, and the identifier must be the one the biller understands. The table below is the complete list.
ADE
electronic_payment_key is exactly 25 characters. Each key identifies one bill.
SONELGAZ
amount_without_stamp is the amount before the fiscal stamp, with a dot as decimal separator. The biller validates the three values together; a mismatch ends the discovery with INVALID_ACCOUNT.
SEAAL
code_client is 2 to 6 alphanumeric characters, code_contrat is 2 to 10 digits. Both are required. A SEAAL account can carry several unpaid quarterly bills; discovery returns all of them.
AADL
codeloc is 6 to 20 digits.
AADL issues one aggregate notice per housing file. Arrears are included in that single amount and cannot be paid separately.
SEOR
contrat is 1 to 6 digits; bills print it with a space (284 932) and spaces are ignored. facture is 18 letters or digits. Both are required.
SEOR (Oran water) is single-bill: discovery returns exactly the facture you sent. SEOR cannot tell a wrong pair from a facture already paid at an agency, so INVALID_ACCOUNT for SEOR means “invalid information or bill already paid”.
Algérie Télécom
phone_number is a 9-digit landline: 0, then 2, 3 or 4, then 7 digits. Mobile numbers are not accepted.
What the API echoes back
Every transaction returns the identifier underaccount, flat, with a key that depends on the partner:
These keys are output only. Use the request shapes above when you send.
Integrations built before this page send
reference (ADE) or phoneNumber (Algérie Télécom) as the identifier. Both are still accepted and mapped to electronic_payment_key and phone_number; new integrations should use the shapes above.Validation errors
A
400 never creates a transaction. When the identifier is well formed but the biller does not recognise it, the discovery is accepted and later ends FAILED with error.code = INVALID_ACCOUNT (see Discovering bills).
Next: Discovering bills
Start a discovery and read the bills

