Come funziona l'integrazione tra Adamo e Stripe

Tutti i dettagli riguardanti l'integrazione tra Adamo e Stripe

Autorizzando Adamo a connettersi al proprio account Stripe, via Stripe Connect i due account verranno integrati.

Ogni volta che un pagamento va a buon fine su Stripe (con l’evento charge.succeed di Stripe), quest’ultimo notificherà un webhook di Adamo che riceverà tutte le informazioni sulla transazione.

Adamo controlla tutte le informazioni passate da Stripe riguardanti la transazione.
Per trovare i dettagli di fatturazione del cliente che ha effettuato la transazione, Adamo fa tre diversi controlli:

  • Dettagli di fatturazione, o billing_details della transazione
  • Dettagli presenti nel Stripe Customer su Stripe
  • Dettagli presenti nella scheda Contatto su Adamo associata allo Stripe Customer 

per prima cosa Adamo controllerà all’interno dei dati della transazione se sono presenti i dettagli chiamati Billing Details.
Se sono presenti, questi verranno utilizzati per definire il nome del cliente e il suo indirizzo di fatturazione.

In un secondo momento, Adamo controllerà i dati della scheda Cliente (Customer) presenti su Stripe.
I dati del Customer su Stripe possono essere popolati via API (tramite la propria app/ piattaforma e le API di Stripe, sia in fase di transazione che in un secondo momento, in accordo logiche della piattaforma), oppure direttamente dalla scheda Cliente nella Dashboard di Stripe.
Adamo, ottenuti i dettagli del Customer, utilizzerà questi per recuperare le informazioni di fatturazione. Verranno prelevati dal Customer il nome, l’indirizzo e la partita IVA, se presenti.

Del Customer verranno controllati anche i metadati presenti, in particolare:

  • Fe_code”, che indica il codice destinatario per la fatturazione elettronica
  • Pec”, indicante l’indirizzo Pec del cliente
  • Fiscal_code”, indicante il codice fiscale, non avendo Stripe un campo adatto alla memorizzazione di questo tipo di dato

In ultimo, se qualcuno di questi dati non è presente nei billing_details o nel Customer su Stripe, Adamo controllerà all’interno dei propri contatti se esiste un contatto già memorizzato.
Adamo infatti memorizza un Contatto (o fa l’update) nella rubrica ad ogni transazione ricevuta da Stripe, salvando per questo contatto l’id presente su Stripe, memorizzato come stripe_id su Adamo.

Quando esiste un contatto su Adamo che abbia lo stripe_id del Stripe Customer che ha effettuato la transazione, allora Adamo prenderà dal Contatto tutti i dettagli mancanti.