API reference · Direct recharge

Read a direct recharge product

GET/v1/wallets/{walletId}/direct-recharge-products/{productId}

Read the product and the recipient fields you must collect before requesting a direct recharge. Billing products (billing) are not available yet.

Permissiondirect_recharges:read
AuthenticationSigned read
Anis’s answerNot signed
Staff-set limits it counts towardAll requests
.NET SDKanis.DirectRechargeProducts.GetAsync(walletId, productId)

Parameters

NameInTypeNotes
walletIdrequiredpathUUIDA UUID, lower-case with hyphens.
productIdrequiredpathUUIDA UUID, lower-case with hyphens.

Request

Signed with your key. No body, no nonce.

Headers: Signature-Input, Signature, X-Anis-Date, Accept-Language (optional). The SDKs set all of them for you.

Body: none.

Responses

StatusMeaningBody
200Success.DirectRechargeProduct
400Refused: the signed request is badly built.Problem
401Refused: not authenticated.Problem
403Refused: not allowed.Problem
404Refused: not found, or not yours.Problem
422Refused: the request breaks a rule.Problem
429Refused: a limit was reached.Problem
503No decision: a dependency was unavailable.Problem

The answers of this call are not signed — no Signature or Signature-Input header, success or refusal. There is nothing to verify; TLS protects them. Content-Digest and X-Request-Id are still present.

Refusals

A refusal of this call is a problem without a signature. Branch on its code; each links to what it means and what to do.

ErrorCodeStatus
Invalid credentialsinvalid_credentials401
Malformed signed requestmalformed_signed_request400
Insufficient scopeinsufficient_scope403
Source address not allowedsource_ip_not_allowed403
Rate limitedrate_limited429
Validation failedvalidation_failed422
Service unavailabledependency_unavailable503
Request timeoutrequest_timeout504
Internal errorinternal_error500
Account not authorisedbinding_not_authorized403
Account inactiveaccount_inactive403
Wallet not grantedwallet_not_granted404
Not foundresource_not_found404
Currency not supportedcurrency_not_supported422

Types

DirectRechargeProduct

FieldTypeNotes
idalways presentUUIDThe identifier of this product, category or location.
titlealways presentstringThe direct recharge product's display text.
descriptionstringThe direct recharge product's display text.
typealways presentstringexternal or billing, as returned. Billing products (billing) are not available yet. Values: external, billing
categoryDirectRechargeCategoryThe direct recharge product's category.
payoutCurrencyalways presentDirectRechargeCurrencyThe named payout currency; it has no invented ISO code.
availablealways presentbooleanWhether this wallet can buy the product. A missing tier or Fazaa-only price is unavailable.
limitsDirectRechargeLimitsThis wallet tier's amount limits, when a matching tier exists.
recipientFieldsalways presentlist of DirectRechargeRecipientFieldOrdered dynamic fields to show and validate for this product.

DirectRechargeCategory

FieldTypeNotes
idalways presentUUIDThe identifier of this product, category or location.
namealways presentstringThe display name supplied for this item.
iconstringThe category image URL, when supplied.

DirectRechargeCurrency

FieldTypeNotes
namealways presentstringThe display name supplied for this item.

DirectRechargeLimits

FieldTypeNotes
minimumTotalMoneyThe allowed lower or upper LYD wallet total.
maximumTotalMoneyThe allowed lower or upper LYD wallet total.
minimumPayoutstringThe lower or upper payout amount string in the product's named currency.
maximumPayoutstringThe lower or upper payout amount string in the product's named currency.

Money

FieldTypeNotes
amountalways presentstringA decimal string, never a JSON number. Wallet balances may be negative while allowed debt is used. Prices and totals follow each route's amount rules.
currencyalways presentstringAn uppercase three-letter currency code, such as LYD. Read a wallet’s currency from balance.currency.
asOfstring (date-time)When this price or balance was read.

DirectRechargeRecipientField

FieldTypeNotes
keyalways presentstringThe exact field key supplied by the direct recharge product definition.
nameLocalizedTextThe Arabic and English display labels, omitting empty languages.
kindalways presentstringtext, list or note; show the appropriate input or guidance. Values: text, list, note
foralways presentstringrecipient or sender, as supplied by the product. Values: recipient, sender
orderalways presentintegerThe display order of the field.
validationstringThe validation expression, when supplied.
validationMessageLocalizedTextThe localized validation message, when supplied.

LocalizedText

FieldTypeNotes
arstringThe Arabic text; omitted when empty.
enstringThe English text; omitted when empty.