Paiements
Stripe Integration
L'API utilise Stripe pour les paiements sécurisés.
Créer un paiement
Le paiement est créé automatiquement lors de la réservation. L'URL de paiement Stripe est retournée dans la réponse.
{
"success": true,
"data": {
"reservation_id": 123,
"payment_url": "https://checkout.stripe.com/pay/cs_xxx"
}
}
Vérifier un paiement
Après redirection Stripe :
GET /quotes/payment/verify?session_id=cs_xxx
Réponse
{
"success": true,
"data": {
"status": "paid",
"reservation_id": 123,
"amount": 834.10,
"currency": "EUR"
}
}
Paiement de supplément
Quand une modification de réservation génère un supplément :
POST /reservations/{id}/invoice?is_supplement=true
Authorization: Bearer <token>
Réponse
{
"success": true,
"data": {
"invoice_url": "https://checkout.stripe.com/pay/cs_xxx",
"amount": 120.00,
"currency": "EUR"
}
}
Remboursements
Initier un remboursement (Support)
POST /payments/{id}/refund
Authorization: Bearer <token>
Body
{
"amount": 100.00,
"reason": "Annulation partielle"
}
Webhook Stripe
Les événements Stripe sont reçus sur :
POST /stripe/webhook
Événements gérés
| Événement | Action |
|---|---|
| checkout.session.completed | Confirme la réservation |
| payment_intent.succeeded | Met à jour le statut |
| payment_intent.payment_failed | Marque comme échoué |
| charge.refunded | Met à jour le remboursement |
Méthodes de paiement utilisateur
Liste des méthodes
GET /user-payment-methods
Authorization: Bearer <token>
Ajouter une méthode
POST /user-payment-methods
Authorization: Bearer <token>
{
"payment_method_id": "pm_xxx",
"is_default": true
}
Supprimer une méthode
DELETE /user-payment-methods/{id}
Authorization: Bearer <token>