Expériences & Intégrations

Architecture de paiement, fournisseurs et infrastructure utilisés par ImmoSignal.

Paiement

Intégration Whop — Paiement sans marque

Whop.com comme fournisseur de paiement fallback. Checkout externalisé sans marque, webhooks HMAC-SHA256, et gestion des abonnements avec période de grâce de 48h.

  • SDK officiels : PyPI whop-sdk + npm @whopio/whop-sdk (TypeScript, full-typed)
  • Checkout SDK : whopSdk.payments.createCheckoutSession({ planId, metadata })
  • Webhooks : client.webhooks.unwrap(payload, headers) — vérification HMAC automatique
  • Produits : client.products.create/update/list/delete() — gestion via SDK Python
  • Expériences : client.experiences.duplicate/attach/detach() — gestion des accès utilisateur
  • Sandbox : sandbox-api.whop.com pour les tests de développement
  • Fallback : activé uniquement si Bonzai échoue (timeout ou erreur API)
Paiement

Intégration Bonzai — Fournisseur primaire

Bonzai.pro comme fournisseur de paiement principal. Checkout simplifié via API REST, webhooks non signés (sécurisés par URL non-guessable).

  • API REST : bonzai.pro/api/v1 — clé API via header X-API-Key
  • Checkout : POST /products/{uuid}/checkout → URL de redirection
  • Webhooks : product_access_granted, product_access_revoked (non signés)
  • Sécurité : URL de webhook aléatoire (non-guessable) compense l'absence de signature
  • Produit : UUID XWy2_8250 — crédits IA pré-définis
Infrastructure

Architecture Proxy — paybook2luxe.com

Architecture à deux couches avec Apache ProxyPass sur le VPS MultiSaasDeploy. Les providers de paiement ne voient que paybook2luxe.com — jamais l'infrastructure réelle.

  • Proxy Apache : ProxyPass /api/vakandi/ → Coolify backend
  • Origine falsifiée : les appels API aux providers utilisent Origin: paybook2luxe.com
  • Pages statiques : success.html / failed.html sur paybook2luxe.com/pay-vakandi/
  • Tokens d'accès : single-use, 60min TTL, 256 bits d'entropie (secrets.token_urlsafe(32))
  • OpSec : les providers ne peuvent pas découvrir l'infrastructure derrière le proxy
Architecture

Stratégie de Paiement — Fallback Automatique

Système de paiement avec priorité et fallback automatique. Chaque provider implémente une interface commune (PaymentProvider) avec 3 méthodes : create_checkout_session, verify_webhook, get_transaction.

  • Ordre de priorité : Bonzai → Whop → Stripe (legacy)
  • Pattern Strategy : chaque provider est interchangeable via l'interface PaymentProvider
  • Fallback : si le provider principal échoue, le suivant dans la liste est essayé automatiquement
  • Rapport d'erreur : si tous les providers échouent, la liste complète des erreurs est retournée
  • Transaction : persistée dans Directus (collection payment_transactions) avec crédits alloués

Flux de paiement complet

1. L'utilisateur clique sur un plan ou un achat de crédits

2. Le frontend appelle POST /payments/create-checkout

3. Le backend essaie Bonzai.pro en premier → si OK, retourne l'URL de checkout

4. Si Bonzai échoue → Whop est essayé automatiquement

5. Si Whop échoue aussi → Stripe (legacy) est utilisé

6. L'utilisateur paie sur la plateforme du fournisseur (jamais sur ImmoSignal)

7. Le webhook confirme le paiement → les crédits sont crédités instantanément