Pour commencer
Montants, devises et horodatages
Comment l'API écrit les montants, les devises et les dates.
L'API écrit les montants en nombres entiers avec un code de devise, et les dates en secondes Unix.
Montants
Un montant est un entier dans la plus petite unité de la devise. Le XAF n'a pas d'unité plus petite, donc 5000 signifie 5 000 FCFA.
{
"amount": 5000,
"currency": "XAF"
}Le montant d'un tarif doit être supérieur à 0. Un montant de 0 ou moins renvoie 422 avec le code invalid. Un décimal comme 5000.5 ou une chaîne comme "5000" renvoie 400 avec le code invalid_json.
Chaque facture conserve le montant et la devise que son tarif avait au moment de son émission. Le montant que paie un client figure sur la facture.
Devises
Abuna prend en charge une seule devise : XAF (franc CFA d'Afrique centrale). Vous pouvez envoyer le code dans n'importe quelle casse. L'API le stocke et le renvoie en majuscules. Tout autre code renvoie 422 avec le code currency_unsupported.
Chaque application a une base_currency, que vous choisissez à sa création. Chaque tarif a sa propre currency, qui est XAF.
En mode Réel, chaque réseau de mobile money prend une devise. Un paiement sur un réseau qui ne prend pas la devise de la facture renvoie 422 avec le code payment_unavailable.
Horodatages
Chaque date dans l'API est un nombre entier de secondes depuis l'époque Unix, en UTC. Une date qui n'est pas encore arrivée est null, comme activated_at avant le premier paiement.
{
"starts_at": 1727600000,
"activated_at": null,
"canceled_at": null,
"created_at": 1727600000
}Les périodes de facturation se comptent à partir du début de l'abonnement. Un abonnement mensuel qui commence le 31 janvier se renouvelle le dernier jour de février, puis le 31 mars. Les périodes conservent l'heure de début.
Étapes suivantes
- TarifsDéfinissez le prix d'un produit et sa fréquence de renouvellement.
- Factures et paiementsPériodes de facturation, leurs factures et les paiements associés, et comment lister et lire les factures.
- ErreursCodes de statut, codes d'erreur, erreurs de champ, limites de débit, identifiants de requête, et comment réessayer sans risque.