Aller au contenu principal

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 */ };
};
}
remarque

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)

EndpointUsage
GET /payments/{userId}/all-paymentsHistorique complet
GET /payments/{userId}/pending-paymentsPaiements en attente
GET /payouts/all-eligible-ownersPropriétaires éligibles au versement, avec solde original/converted par devise
POST /payouts/processDéclenchement d'un versement
GET /payouts/settings, PUTParamètres (montant minimum, nombre maximum de versements, devise)
GET /payouts/currencies-stripeDevises 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
}
attention

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.