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
Context
Section titled “Context”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).
Decision
Section titled “Decision”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.
Consequences
Section titled “Consequences”- 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 occasionalethreshold — must be handled at application level, not enforced by Stripe. - Background checks deferred to Phase D+; not blocking MVP 0.
Alternatives considered
Section titled “Alternatives considered”- 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.