Stripe SEPA Direct Debit: bonifici diretti
SEPA Direct Debit è il metodo di pagamento per addebito diretto su conto corrente nei paesi SEPA (zona euro). Stripe lo supporta nativamente ed è particolarmente apprezzato per pagamenti ricorrenti B2B/B2C in Europa, con commissioni molto basse (~0,8% capped a 5 EUR).
Come funziona SEPA Direct Debit
Il cliente fornisce IBAN e firma un mandato SEPA che autorizza l'addebito. Stripe genera il mandato in modo digitale (compliant con la normativa SEPA Core) e archivia la prova. Ogni addebito viene inviato alla banca del cliente che lo processa in 4-7 giorni lavorativi. Il cliente ha diritto di stornare per 8 settimane senza giustificazione (3 anni con giustificazione).
Tempi e gestione fallimenti
Il PaymentIntent SEPA passa per gli stati: requires_action (cliente firma mandato), processing (addebito in corso), succeeded (conferma incassata dopo 4-7 giorni) o failed (es. saldo insufficiente, IBAN errato). I fallimenti tipici sono ~5% e Stripe espone i codici di errore (es. AC04 closed account, MS03 not received). Pianifica retry o riconciliazione manuale.
Confirmation strategies e B2B use case
SEPA Direct Debit ha conferma di pagamento posticipata di 4-7 giorni dopo la submission. Per business B2B che spedicano fisicamente prodotto, attendere conferma prima di spedire è standard. Per servizi digitali, due strategie: 1) Attivazione immediata, accettando rischio storno (~5%) - usata da molti SaaS per UX migliore; 2) Attivazione differita al payment_intent.succeeded - più' sicura ma cliente attende. Per recurring SEPA dopo il primo charge, il rischio storno scende drasticamente (cliente conosce e si fida) e si può attivare immediatamente.
Recurring SEPA e mandate management
Per subscription SEPA, salvi il mandate al primo pagamento (setup_future_usage='off_session' sul PaymentIntent) e i charge successivi sono MIT (Merchant Initiated). Il mandate ha durata indeterminata ma diventa 'expired' se non usato per 36 mesi. Best practice: invia email pre-debit notification 14 giorni prima (richiesta legale in alcuni paesi EU). Stripe può gestire pre-debit notification automaticamente con email branded. Lo storno entro 8 settimane è diritto del cliente senza giustificazione; oltre 8 settimane fino a 13 mesi con giustificazione (es. mandate falso).
SEPA Instant: il futuro dei bonifici real-time
SEPA Instant Credit Transfer (SCT Inst) è la versione real-time di SEPA: trasferimento entro 10 secondi, 24/7, fino a 100k EUR. Stripe sta progressivamente supportando SEPA Instant come metodo di pagamento per bonifici real-time confirm. Differenza con SEPA Direct Debit: SCT Inst è push (cliente paga), SDD è pull (merchant addebita). Per merchant che vogliono incasso immediato senza rischio storno, SCT Inst è game changer. Pricing simile o leggermente più' alto di SDD. Disponibilità' geografica: gran parte UE, espansione in corso.
Mandate management e GDPR
Il mandate SEPA contiene dati personali (IBAN, nome, indirizzo) - GDPR applica: 1) Storage cifrato del mandate ID (mai PAN/IBAN raw nel tuo DB); 2) Right to access: cliente può chiedere copia mandate (Stripe espone via API); 3) Right to delete: cancel mandate non cancella history transazioni passate (conservazione fiscale 10 anni Italia); 4) Data processing agreement con Stripe (già' in place via Stripe DPA). Per audit GDPR, mantieni registry di mandate active vs revoked con timestamp e motivazione cancellazione.
SEPA reporting e Bonifico bancario
Per riconciliare incassi SEPA con contabilità, Stripe espone: 1) Charge object con sepa_debit details (last4 IBAN, mandate reference, country); 2) Payout reconciliation report con breakdown SEPA vs altri metodi; 3) Webhook charge.failed per scenari respinti (no funds, account closed, mandate revoked); 4) Reporting trimestrale per Banca d'Italia (se applicabile per soglie). Per merchant italiani, SEPA è considerato bonifico bancario ai fini fiscali - applica stesse regole IVA del pagamento carta (operazione rilevante alla data dell'addebito, non al payout). Reporting AML: transazioni > 1000 EUR notificate automaticamente dalla tua banca, no azione richiesta da merchant.
Procedura passo-passo
- Abilita SEPA Direct Debit in Dashboard -> Settings -> Payment Methods.
- Verifica i requisiti: hai bisogno di un creditor identifier (CI), Stripe te ne fornisce uno se non ce l'hai.
- Implementa Payment Element o Iban Element per raccolta IBAN.
- Crea PaymentIntent con payment_method_types=['sepa_debit'].
- Mostra il mandato SEPA prima della conferma (Stripe fornisce il testo standard).
- Salva l'ID del mandato per audit futuri.
- Gestisci payment_intent.processing -> succeeded/failed via webhook.
- Pianifica retry su failed (es. dopo 3 giorni) o downgrade a carta.
Errori comuni e come risolverli
- Mandato non mostrato chiaramente: obbligatorio per compliance SEPA; usa il template Stripe.
- IBAN errato: validazione lato client con elements; reduces failure rate.
- Mancata gestione storno: il cliente può stornare per 8 settimane; predisponi processo.
- Confusione tra tempi: non aspettarti incasso immediato; ci vogliono 4-7 giorni lavorativi.
Domande frequenti
D: SEPA è disponibile in Italia?
R: Sì, in tutti i paesi SEPA inclusi UE+UK+CH+NO+IS.
D: Quanto costa SEPA su Stripe?
R: 0,8% capped a 5 EUR per transazione.
D: Posso usarlo per subscription?
R: Sì, ideale per pagamenti ricorrenti grazie ai costi bassi.
D: Quanto tempo prima dell'incasso effettivo?
R: 4-7 giorni lavorativi dalla data di submission.
Hai bisogno di aiuto?
Se vuoi integrare Stripe con il team di G Tech Group, scrivici tramite il modulo di contatto.