lomi.
Payments

Abonnements

Gérez les abonnements clients récurrents.

L’API Subscriptions permet de lister et récupérer des instances d’abonnement (un client sur un plan récurrent). Elles sont en général créées lorsque des clients souscrivent à un produit récurrent via une session ou un lien de paiement.

Les SDK peuvent exposer à la fois des helpers /subscriptions et des méthodes /customer-subscriptions. Exemples par route et transitions de statut : Abonnements clients. Les champs immuables et les règles d’annulation suivent les descriptions OpenAPI de chaque opération.

Lister les abonnements

Récupère tous les abonnements de votre organisation.

Paramètres de requête

ParamètreTypeDescription
pagenumberPage (défaut : 1)
pageSizenumberTaille de page (défaut : 50)
import { LomiSDK } from '@lomi./sdk';

const lomi = new LomiSDK({
  apiKey: process.env.LOMI_API_KEY!,
  environment: 'live',
});

const subscriptions = await lomi.subscriptions.list({
  page: 1,
  pageSize: 20,
});

subscriptions.forEach(sub => {
  console.log(`${sub.id}: ${sub.status} - ${sub.amount} ${sub.currency_code}`);
});
from lomi import LomiClient
import os

client = LomiClient(
    api_key=os.environ["LOMI_API_KEY"],
    environment="test"
)

subscriptions = client.subscriptions.list(page=1, pageSize=20)

for sub in subscriptions:
    print(f"{sub['id']}: {sub['status']}")
curl -X GET "https://api.lomi.africa/subscriptions?page=1&pageSize=20" \
  -H "X-API-KEY: $LOMI_API_KEY"

Abonnements d’un client

Récupère les abonnements d’un client donné.

const customerSubs = await lomi.subscriptions.getByCustomer('cus_abc123...');
customer_subs = client.subscriptions.get_by_customer('cus_abc123...')
curl -X GET "https://api.lomi.africa/subscriptions/customer/cus_abc123..." \
  -H "X-API-KEY: $LOMI_API_KEY"

Obtenir un abonnement

Récupère le détail d’un abonnement.

const subscription = await lomi.subscriptions.get('sub_abc123...');
console.log(`Status: ${subscription.status}`);
console.log(`Next billing: ${subscription.current_period_end}`);
subscription = client.subscriptions.get('sub_abc123...')
print(f"Status: {subscription['status']}")
curl -X GET "https://api.lomi.africa/subscriptions/sub_abc123..." \
  -H "X-API-KEY: $LOMI_API_KEY"

Annuler un abonnement

Annule un abonnement actif. C’est la seule modification permise.

Corps de la requête

ChampTypeObligatoireDescription
cancel_at_period_endbooleanNonSi true, annulation fin de période. Si false, annulation immédiate (défaut).
reasonstringNonMotif d’annulation
const cancelled = await lomi.subscriptions.cancel('sub_abc123...');

const scheduledCancel = await lomi.subscriptions.cancel('sub_abc123...', {
  cancel_at_period_end: true,
  reason: 'Customer requested cancellation',
});

console.log(`Subscription will cancel at: ${scheduledCancel.cancel_at}`);
cancelled = client.subscriptions.cancel('sub_abc123...')

scheduled_cancel = client.subscriptions.cancel('sub_abc123...', {
    "cancel_at_period_end": True,
    "reason": "Customer requested cancellation"
})
curl -X POST "https://api.lomi.africa/subscriptions/sub_abc123.../cancel" \
  -H "X-API-KEY: $LOMI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "cancel_at_period_end": true,
    "reason": "Customer requested cancellation"
  }'

Objet Subscription

ChampTypeDescription
idstringIdentifiant unique
customer_idstringClient
product_idstringProduit
price_idstringTarif
statusstringactive, past_due, cancelled, trialing
amountnumberMontant récurrent
currency_codestringDevise
billing_intervalstringday, week, month, year
current_period_startstringDébut de période
current_period_endstringFin de période (prochaine échéance)
cancel_at_period_endbooleanAnnulation planifiée en fin de période
cancel_atstringDate d’annulation planifiée
cancelled_atstringAnnulation effective
trial_startstringDébut d’essai
trial_endstringFin d’essai
created_atstringCréation

Webhooks

ÉvénementDescription
subscription.createdNouvel abonnement
subscription.updatedRenouvellement ou mise à jour
subscription.cancelledAnnulation
subscription.payment_failedÉchec d’un paiement récurrent

Réponses d’erreur

StatutDescription
401Clé API invalide ou manquante
404Abonnement ou client introuvable

Sur cette page