Skip to content

ADR 0006: Stripe Connect Express for Payments

ADR 0006: Stripe Connect Express for Payments

Section titled “ADR 0006: Stripe Connect Express for Payments”
  • Status: Accepted
  • Date: 2026-04-14
  • Deciders: Ideony team

Ideony acts as a marketplace: consumers pay for services and professionals receive payouts. The platform takes a commission. This requires split payments, escrow-like fund holding, and professional onboarding (KYC/bank account). Stripe Identity verification covers professional ID checks at €1.50/verification (free in test mode).

Use Stripe Connect Express accounts. The backend StripeService manages account creation, PaymentIntents with destination charges, and refunds. Stripe webhooks are verified via req.rawBody in a dedicated StripeWebhookController. Stripe Identity verification webhooks advance the professional onboarding step (IDENTITY → CREDENTIALS) and increment trust score by 20.

  • Express accounts reduce professional onboarding friction versus Custom accounts.
  • Stripe handles KYC, bank account validation, and payouts natively.
  • Test mode is free, including Identity verification — no cost during development.
  • Webhook-driven onboarding advancement decouples payment events from API request lifecycle.
  • Express accounts limit customisation of the Stripe-hosted onboarding flow.
  • P_IVA (Italian VAT number) verification is optional below the €5K/year prestazione occasionale threshold — must be handled at application level, not enforced by Stripe.
  • Background checks deferred to Phase D+; not blocking MVP 0.
  • Stripe Custom accounts — rejected: higher KYC implementation burden; team handles compliance directly.
  • Braintree / Adyen — rejected: no comparable Italian market support or Connect-equivalent split payment model.
  • Manual bank transfer — rejected: no escrow, no dispute resolution, no consumer trust.