Créer une session de paiement
Créer une session de paiement
Aperçu
Créer une session de paiement
Crée une page de paiement hébergée pour que le client finalise son achat. La session expire après 60 minutes par défaut. Renvoie un identifiant de session et une URL de redirection.
Quand l’utiliser
Utilisez pour l’e-commerce, les factures ou tout flux où lomi. héberge l’encaissement et renvoie l’acheteur sur votre site.
À savoir
Préférez les sessions checkout aux encaissements ad hoc pour une expérience acheteur cohérente. Pour les produits pay_what_you_want, le montant doit respecter minimum_amount et maximum_amount du prix lié (unité × quantité). currency_code est optionnel et reprend la devise par défaut de l’organisation (Paramètres → Checkout → Paiements).
Voir aussi
Liens de paiement · Récupérer une session checkout
Authentification
Les routes marchandes nécessitent une clé API dans l’en-tête X-API-KEY (voir Vue d’ensemble). Utilisez une clé test avec https://sandbox.api.lomi.africa et une clé live avec https://api.lomi.africa.
Endpoint
POST /checkout-sessions
URLs de base :
https://sandbox.api.lomi.africahttps://api.lomi.africa
Requête
Paramètres d’URL
Pas d’autre paramètre dans l’URL.
Paramètres de requête
Aucun paramètre de requête.
En-têtes
| Nom | Emplacement | Obligatoire | Schéma | Description |
|---|---|---|---|---|
Lomi-Account | header | Non | - | Optional lomi. Network account id (acct_...). When present, the API key acts as the Operator and the request targets the connected Member Account. |
Corps de la requête
Charge utile de session : indiquez amount (et champs produit optionnels) ou line_items pour un panier multi-produits.
Schéma: object
| Champ | Obligatoire | Type | Description |
|---|---|---|---|
amount | Non | number | - |
currency_code | Non | enum ("XOF", "USD", "EUR") | Optionnel. S’il est omis, utilise la default_currency de l’organisation (Paramètres → Checkout → Paiements). Doit figurer dans allowed_currencies. |
title | Non | string | - |
description | Non | string | - |
customer_id | Non | string | - |
customer_email | Non | string | - |
customer_name | Non | string | - |
customer_phone | Non | string | - |
customer_city | Non | string | - |
customer_country | Non | string | - |
customer_address | Non | string | - |
customer_postal_code | Non | string | - |
product_id | Non | string | - |
price_id | Non | string | - |
subscription_id | Non | string | - |
allow_quantity | Non | boolean | - |
quantity | Non | number | - |
success_url | Non | string | - |
cancel_url | Non | string | - |
allow_coupon_code | Non | boolean | - |
require_billing_address | Non | boolean | Si true, affiche et exige l’adresse de facturation. Si omis, suit les paramètres checkout de l’organisation, puis false. Voir Champs du formulaire checkout. |
require_name | Non | boolean | Si true, affiche et exige le nom du client. Si false, masque le champ nom (le nom d’affichage repose sur l’e-mail ou le téléphone). Défaut si omis : true. Voir Champs du formulaire checkout. |
require_email | Non | boolean | Si true, affiche et exige l’e-mail. Si false, masque l’e-mail. Défaut si omis : true. Voir Champs du formulaire checkout. |
require_phone | Non | boolean | Si true, affiche et exige le téléphone. Si false, téléphone optionnel si l’e-mail est visible, ou masqué si l’e-mail est masqué. Défaut si omis : false. Voir Champs du formulaire checkout. |
fields | Non | array<object> | Schéma ordonné optionnel des champs checkout. S’il est fourni, remplace les booléens require_*. |
payment_link_id | Non | string | - |
metadata | Non | object | - |
line_items | Non | array<object> | - |
Exemple de corps :
{
"currency_code": "XOF"
}Réponses
| Statut | Description |
|---|---|
201 | Session de paiement créée avec succès |
400 | Entrée invalide ou erreur de validation |
401 | Clé API invalide ou manquante |
Erreurs
Les erreurs suivent un format JSON standard. 401 : clé manquante ou invalide. 404 : ressource introuvable. 429 : trop de requêtes. Pour les créations, envoyez une clé d’idempotence si votre flux le permet.
Exemple
Session minimale :
curl -sS -X POST "https://sandbox.api.lomi.africa/checkout-sessions" \
-H "X-API-KEY: $LOMI_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"currency_code":"XOF"}'Checkout téléphone seul (nom, e-mail et adresse masqués) :
curl -sS -X POST "https://sandbox.api.lomi.africa/checkout-sessions" \
-H "X-API-KEY: $LOMI_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 1000,
"currency_code": "XOF",
"require_name": false,
"require_email": false,
"require_phone": true,
"require_billing_address": false
}'Voir Champs du formulaire checkout pour toutes les combinaisons.
OpenAPI
- operationId:
CheckoutSessionsController_create - Operation:
POST /checkout-sessions
Schémas complets et Try it : référence API.