Paiements
Créer un paiement (POST /payments/process)
Requête :
{
payment_method: string;
reservation_id: number;
type: string;
currency: string;
}
Réponse :
{
checkout_secret: string;
payment: {
id: number;
reservation_id: number;
amount: string;
tax: string;
currency: string;
payment_method: string;
transaction_id: string;
status: string;
type: string;
payment_flow: string;
created_at: string;
payment_details: { /* objet Stripe Checkout Session, voir note */ };
};
}
payment_details est un quasi-reflet brut de l'objet Stripe Checkout Session (amount_total, currency, customer_details, payment_status, url, etc.) — la grande majorité de ses champs imbriqués ne sont pas typés précisément côté frontend (any). Aucune valeur fixe n'est définie pour status sur les objets de paiement : le champ est une simple chaîne partout dans le code, sans liste d'énumération.
Vérification (pas de webhook)
GET /subscription-payment/verify?session_id=...
C'est le mécanisme réel de confirmation de paiement — voir Webhooks.
Historique et versements (LeelaPay)
| Endpoint | Usage |
|---|---|
GET /payments/{userId}/all-payments | Historique complet |
GET /payments/{userId}/pending-payments | Paiements en attente |
GET /payouts/all-eligible-owners | Propriétaires éligibles au versement, avec solde original/converted par devise |
POST /payouts/process | Déclenchement d'un versement |
GET /payouts/settings, PUT | Paramètres (montant minimum, nombre maximum de versements, devise) |
GET /payouts/currencies-stripe | Devises supportées |
Requête de déclenchement d'un versement :
{
min_amount: number;
max_payouts: number;
currency: string;
dry_run: boolean; // simulation sans exécution réelle
}
La réponse type de cet endpoint, telle que déclarée dans le code, reproduit exactement les mêmes champs que la requête (min_amount, max_payouts, currency, dry_run) — sans champ payout_id, amount_paid ni owners_paid. Si le backend réel renvoie plus d'informations, cela n'est pas reflété dans le typage frontend ; vérifiez la réponse réelle avant d'construire une UI qui en dépend.