Référence de l'API
Applications
Lisez l'application à laquelle appartient une clé : son mode, ses clés et ses réglages de paiement.
Une application contient vos produits, vos tarifs, vos clients et vos abonnements. Chaque projet possède une application Réelle et une application Test. Chacune a son propre ID et ses propres clés, et une clé secrète ne fonctionne que pour son application.
L'objet app
Attributs
idstringIdentifiant unique de l'application.team_idstringL'équipe qui possède l'application.namestringLe nom de l'application. Les applications Réelle et Test d'un projet le partagent.slugstringUne forme du nom utilisable dans une URL. Le slug d'une application Test se termine par-test.environmentstringliveoutest.project_idstringL'ID de l'application Réelle du projet. Pour une application Réelle, c'est son propre ID.live_app_idstringL'ID de l'application Réelle du projet. Toujours identique àproject_id.test_app_idstringL'ID de l'application Test du projet. Pour une application Test, c'est son propre ID. Absent quand le projet n'a pas d'application Test.base_currencystringLa devise de l'application :XAF.grace_period_daysintegerLe nombre de jours dont dispose un client pour payer une période de facturation, de 1 à 14, comptés depuis le début de la période et jamais au-delà de sa fin. Une période impayée à la fin de ces jours met fin à l'abonnement. Les nouvelles applications démarrent à 3.renewal_lead_daysintegerCombien de jours avant la fin d'une période payée la facture du renouvellement part, de 0 à 7, pour que le client puisse payer avant la fin de la période. Le renouvellement démarre tout de même à la fin de la période payée, et payer en avance ne déplace pas cette date. Avec0, la facture part à la fin de la période. Elle ne part jamais avant le milieu de la période payée, donc sur un tarif journalier elle part 12 heures avant la fin. Les nouvelles applications démarrent à 3. Modifiez-le dans le tableau de bord sous Paramètres, Renouvellements et délai de paiement. Voir Renouvellements et past_due.invoice_prefixstringCe qui précède le compteur dans les numéros de facture de l'application, commeMYSTdansMYST-000124: 2 à 10 lettres majuscules (A à Z) ou chiffres. Les nouvelles applications démarrent avec les 4 premières lettres et chiffres du nom de l'application, ouINVquand le nom en compte moins de 2. Un changement s'applique aux factures émises ensuite ; les numéros déjà émis restent tels quels. Les applications Réelle et Test ont chacune leur propre valeur. Modifiez-le dans le tableau de bord sous Paramètres, Numéros de facture.customer_cancelstringCe qui se passe quand un client annule dans son espace client.at_period_end(par défaut) garde l'abonnement jusqu'à la fin de la période payée.immediatele termine maintenant. Une période impayée se termine toujours maintenant. Les applications Réelle et Test ont chacune leur propre valeur. Modifiez-le dans le tableau de bord sous Paramètres, Quand les clients annulent.publishable_keystringLa clé des liens de paiement hébergés, commepk_test_suivi de 48 caractères hexadécimaux.secret_key_prefixstringLe début de la première clé secrète de l'application : son préfixe et les 8 caractères suivants.webhook_urlstringnullableOù Abuna envoie les webhooks.webhook_configuredbooleantruequandwebhook_urlest défini.webhook_testedbooleantrueune fois qu'un Envoyer un événement test depuis le tableau de bord a atteint lewebhook_urlactuel. Changer l'URL le remet àfalse.success_urlstringnullableOù la page de paiement hébergée envoie le client après qu'il a payé. Une session de paiement peut définir la sienne.cancel_urlstringnullableOù la page de paiement hébergée envoie le client quand il part sans payer. Une session de paiement peut définir la sienne.support_emailstringnullableL'e-mail d'assistance que voient vos clients. Les applications Réelle et Test d'un projet le partagent. Une application Réelle a besoin de ceci ou desupport_urlpour accepter des paiements.support_urlstringnullableLa page d'assistance que voient vos clients. Les applications Réelle et Test d'un projet la partagent. Une application Réelle a besoin de ceci ou desupport_emailpour accepter des paiements.terms_urlstringnullableLa page de conditions générales que voient vos clients.timezonestringLe fuseau horaire IANA, commeAfrica/Douala, dans lequel les dates et heures s'affichent, dans chaque e-mail sur l'application. Les nouvelles applications démarrent avecAfrica/Douala. Un changement de tarif programmé démarre à minuit dans ce fuseau. Les applications Réelle et Test d'un projet le partagent. Modifiez-le dans le tableau de bord sous Paramètres, Général, Fuseau horaire.paymentsobjectSi l'application peut accepter des paiements, et ce qui lui manque si ce n'est pas le cas.Afficher les attributsMasquer les attributs
readybooleantruequandemail_verified,provider_connectedetsupport_contactsont tous vrais.email_verifiedbooleanSi le propriétaire de l'équipe a vérifié son e-mail. Toujours vrai en mode Test.provider_connectedbooleanSi un prestataire de paiement est connecté. Toujours vrai en mode Test.support_contactbooleanSi l'application possède unsupport_emailou unsupport_url. Toujours vrai en mode Test.
read_onlybooleantruequand le forfait de l'équipe a rendu cette application Réelle en lecture seule. Les écritures échouent alors avec403. Toujours faux en mode Test.created_attimestampQuand l'application a été créée, en secondes Unix.
{
"id": "8ddhXCDW",
"team_id": "01J9ZQ3A1B2C3D4E5F6G7H8J9K",
"name": "My store",
"slug": "my-store-test",
"environment": "test",
"project_id": "Q7mKp2Rt",
"live_app_id": "Q7mKp2Rt",
"test_app_id": "8ddhXCDW",
"base_currency": "XAF",
"grace_period_days": 3,
"renewal_lead_days": 3,
"invoice_prefix": "MYST",
"customer_cancel": "at_period_end",
"publishable_key": "pk_test_...",
"secret_key_prefix": "sk_test_3f9c1a2b",
"webhook_url": "https://example.com/webhooks",
"webhook_configured": true,
"webhook_tested": true,
"success_url": null,
"cancel_url": null,
"support_email": "support@example.com",
"support_url": null,
"terms_url": null,
"timezone": "Africa/Douala",
"payments": {
"ready": true,
"email_verified": true,
"provider_connected": true,
"support_contact": true
},
"read_only": false,
"created_at": 1727600000
}Récupérer une application
GET/v1/apps/{appID}
Récupère l'application à laquelle appartient votre clé secrète.
Renvoie l'objet app. Si aucune application n'a cet ID, ou si la clé appartient à une autre application, renvoie 404 avec le code not_found.
curl https://api.abuna.app/v1/apps/8ddhXCDW \
-H "Authorization: Bearer sk_test_..."{
"id": "8ddhXCDW",
"team_id": "01J9ZQ3A1B2C3D4E5F6G7H8J9K",
"name": "My store",
"slug": "my-store-test",
"environment": "test",
"project_id": "Q7mKp2Rt",
"live_app_id": "Q7mKp2Rt",
"test_app_id": "8ddhXCDW",
"base_currency": "XAF",
"grace_period_days": 3,
"renewal_lead_days": 3,
"invoice_prefix": "MYST",
"customer_cancel": "at_period_end",
"publishable_key": "pk_test_...",
"secret_key_prefix": "sk_test_3f9c1a2b",
"webhook_url": "https://example.com/webhooks",
"webhook_configured": true,
"webhook_tested": true,
"success_url": null,
"cancel_url": null,
"support_email": "support@example.com",
"support_url": null,
"terms_url": null,
"timezone": "Africa/Douala",
"payments": {
"ready": true,
"email_verified": true,
"provider_connected": true,
"support_contact": true
},
"read_only": false,
"created_at": 1727600000
}Étapes suivantes
- ProduitsCréez, listez et renommez ce que vous vendez.
- Authentification et clés d'APIAuthentifiez vos requêtes avec votre clé secrète, et sachez quelle clé va où.
- Mode Test et mode RéelDéveloppez sur les données Test avec le simulateur Abuna ou les bacs à sable des prestataires, puis passez en Réel avec le même code.