veza/docs/PAYOUT_MANUAL.md
senke 83ed4f315b
Some checks failed
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Storybook Audit / Build & audit Storybook (push) Failing after 0s
chore(release): v0.602 — Payout, Dette Technique & Tests E2E
- Stripe Connect: onboarding, balance, SellerDashboardView
- Interceptors: auth.ts, error.ts extracted, facade
- Grafana: dashboards enriched (p50, top endpoints, 4xx, WS, commerce)
- E2E commerce: product->order->review->invoice
- SMOKE_TEST_V0602, RETROSPECTIVE_V0602, PAYOUT_MANUAL
- Archive V0_602 scope, V0_603 placeholder, SCOPE_CONTROL v0.603
- Fix sanitizer regex (Go no backreferences)
- Marketplace test schema: product_licenses, product_images, orders, licenses
2026-02-23 22:32:01 +01:00

1.9 KiB

Payout manuel — Procédure pour v0.603

Contexte : En v0.602, le payout vendeurs inclut Stripe Connect onboarding et l'affichage de la balance. Le transfert automatique après vente est reporté en v0.603 pour éviter la complexité d'injection du StripeConnectService dans le flow marketplace (ProcessWebhook).

État v0.602

  • Onboarding Stripe Connect (POST /sell/connect/onboard)
  • Balance vendeur (GET /sell/balance)
  • Carte balance et bouton "Configurer les paiements" dans SellerDashboard
  • Transfert automatique après paiement réussi (webhook Hyperswitch)

Implémentation prévue v0.603

  1. Injection StripeConnectService dans marketplace.Service (optionnel)
  2. ProcessWebhook : après status == "succeeded" et création des licences, pour chaque item :
    • Récupérer le produit et son seller_id
    • Vérifier si le vendeur a un compte Stripe Connect actif (PayoutsEnabled)
    • Calculer le montant vendeur (total - commission plateforme - frais paiement)
    • Appeler stripeConnectService.CreateTransfer(sellerUserID, amount, "eur", orderID)
  3. Gestion multi-produits : une commande peut contenir des produits de vendeurs différents → un transfert par vendeur unique
  4. Commission plateforme : configurable (ex. 10%), à définir dans config

Procédure manuelle (en attendant v0.603)

En production, les vendeurs peuvent :

  1. S'onboarder via Stripe Connect (bouton dans SellerDashboard)
  2. Consulter leur balance (GET /sell/balance)
  3. Les paiements arrivent sur le compte Stripe de la plateforme ; un processus manuel ou cron externe peut initier les transferts vers les comptes Connect des vendeurs

Références

  • Stripe Connect Transfers
  • veza-backend-api/internal/services/stripe_connect_service.go : CreateTransfer
  • veza-backend-api/internal/core/marketplace/service.go : ProcessWebhook (L601-637)