Skip to main content
Dodo Payments offre una funzionalità integrata di sincronizzazione del database che sincronizza automaticamente i tuoi dati di pagamento con il tuo database. Puoi sincronizzare pagamenti, clienti, abbonamenti e licenze per mantenere una copia locale dei tuoi dati destinata ad analisi, report o integrazioni con altri sistemi.
Implementazione: disponibile tramite pacchetto npm | Codice sorgente: GitHub

Cosa puoi sincronizzare?

La nostra funzionalità di sincronizzazione del database supporta la sincronizzazione delle seguenti entità Dodo Payments nel tuo database:

Payments

Sincronizza tutte le transazioni di pagamento, inclusi i pagamenti una tantum, i rimborsi e gli aggiornamenti dello stato dei pagamenti.

Customers

Mantieni sincronizzati i dati dei tuoi clienti, inclusi profili, informazioni di contatto e metadati.

Subscriptions

Sincronizza i dati degli abbonamenti, inclusi gli abbonamenti attivi, i cicli di fatturazione e le modifiche allo stato degli abbonamenti.

Licenses

Sincronizza le informazioni sulle licenze, incluse le chiavi di licenza, le attivazioni e gli aggiornamenti dello stato delle licenze.
Puoi sincronizzare qualsiasi combinazione di queste entità specificandole nel parametro scopes. Tutte le operazioni di sincronizzazione sono incrementali e trasferiscono solo i record nuovi o aggiornati, per prestazioni ottimali.

Supporto dei database

Attualmente supportiamo MongoDB, PostgreSQL, MySQL e ClickHouse. Stiamo lavorando attivamente per estendere il supporto a:
  • Database: Snowflake e altri.
  • Pipeline: pipeline ETL, sincronizzazione in tempo reale.
Continuiamo ad ampliare il supporto dei database. Se desideri contribuire a una nuova integrazione per database, invia una Pull Request al nostro repository GitHub.

Per iniziare

Puoi utilizzare la nostra funzionalità di sincronizzazione del database tramite la CLI o a livello programmatico nel tuo codice. Entrambi i metodi offrono le stesse funzionalità: scegli quello più adatto al tuo flusso di lavoro.

Utilizzo della CLI

Lo strumento CLI offre un modo rapido per configurare ed eseguire la sincronizzazione del database. Installalo globalmente per utilizzarlo da qualsiasi posizione nel terminale:

Esecuzione della CLI

La CLI supporta due modalità: Modalità interattiva per una configurazione guidata e Modalità manuale per la configurazione diretta. Modalità interattiva: esegui semplicemente il comando senza argomenti per avviare la procedura guidata interattiva.
Modalità manuale: passa direttamente gli argomenti per ignorare la procedura guidata.
Esempi:

Argomenti della CLI

number
Intervallo di sincronizzazione in secondi. Determina la frequenza di esecuzione dell’operazione di sincronizzazione. Se non viene fornito, la sincronizzazione verrà eseguita una sola volta e terminerà.
string
obbligatorio
Tipo di database da utilizzare. Valori supportati: "mongodb", "postgres", "mysql" o "clickhouse".
string
obbligatorio
URI di connessione al database:
  • MongoDB: mongodb://localhost:27017 o mongodb+srv://user:pass@cluster.mongodb.net/
  • PostgreSQL: postgresql://user:password@localhost:5432/mydb
  • MySQL: mysql://user:password@localhost:3306/mydb
  • ClickHouse: http://localhost:8123
string
obbligatorio
Elenco separato da virgole delle entità di dati da sincronizzare. Ambiti disponibili: licences, payments, customers, subscriptions. Esempio: "payments,customers".
string
obbligatorio
La tua chiave API Dodo Payments. Deve iniziare con dp_live_ per la modalità live o con dp_test_ per la modalità di test.
string
obbligatorio
Target dell’ambiente. Deve essere "live_mode" o "test_mode". Determina da quale ambiente Dodo Payments sincronizzare.
number
Limite di richieste al secondo. Controlla la velocità con cui il motore di sincronizzazione effettua le richieste API per evitare di sovraccaricare l’API Dodo Payments.

Utilizzo nel codice

Per il controllo a livello programmatico, integra direttamente la funzionalità di sincronizzazione nella tua applicazione. Installala come dipendenza nel tuo progetto:

Sincronizzazione automatica (basata su intervallo)

Utilizza la sincronizzazione automatica quando desideri eseguire la sincronizzazione continuamente a intervalli regolari:
L’opzione interval è obbligatoria quando si utilizza .start() per la sincronizzazione automatica. La sincronizzazione verrà eseguita continuamente all’intervallo specificato finché il processo non verrà arrestato.

Sincronizzazione manuale

Utilizza la sincronizzazione manuale quando desideri attivare le operazioni di sincronizzazione su richiesta, ad esempio da un cron job o da un endpoint API:
Quando utilizzi la sincronizzazione manuale, l’opzione interval non è obbligatoria. Puoi chiamare .run() ogni volta che devi eseguire un’operazione di sincronizzazione.

Esempio PostgreSQL

Ecco come utilizzare dodo-sync con PostgreSQL:

Esempio MySQL

Ecco come utilizzare dodo-sync con MySQL:

Esempio ClickHouse

Ecco come utilizzare dodo-sync con ClickHouse:

Opzioni del costruttore

string
obbligatorio
Nome del database da utilizzare. Valori supportati: "mongodb", "postgres", "mysql" o "clickhouse".
string
obbligatorio
Stringa di connessione al database:
  • MongoDB: mongodb://localhost:27017 o mongodb+srv://...
  • PostgreSQL: postgresql://user:password@localhost:5432/mydb
  • MySQL: mysql://user:password@localhost:3306/mydb
  • ClickHouse: http://localhost:8123
string[]
obbligatorio
Array di entità da sincronizzare. Opzioni disponibili: "licences", "payments", "customers", "subscriptions". Puoi includere qualsiasi combinazione di queste entità.
object
obbligatorio
Configurazione API Dodo Payments per l’autenticazione e la selezione dell’ambiente. Consulta i tipi dell’SDK TypeScript per l’elenco completo delle opzioni.Proprietà obbligatorie:
  • bearerToken: la tua chiave API Dodo Payments
  • environment: "test_mode" o "live_mode"
number
Tempo in secondi tra le sincronizzazioni automatiche. Obbligatorio quando si utilizza .start() per la sincronizzazione automatica. Facoltativo quando si utilizza .run() per la sincronizzazione manuale.
number
Numero di richieste al secondo. Controlla la velocità con cui il motore di sincronizzazione effettua le richieste API per evitare di sovraccaricare l’API Dodo Payments.

Informazioni importanti

MongoDB: un database denominato dodopayments_sync verrà creato automaticamente sul server del database. Tutti i dati sincronizzati verranno archiviati al suo interno. Il nome di questo database è attualmente fisso e non può essere modificato.PostgreSQL: le tabelle (Subscriptions, Payments, Licenses, Customers) verranno create nel database specificato nell’URI di connessione. I dati vengono archiviati come JSONB.MySQL: le tabelle (Subscriptions, Payments, Licenses, Customers) verranno create nel database specificato nell’URI di connessione. I dati vengono archiviati come JSON.ClickHouse: le tabelle (Subscriptions, Payments, Licenses, Customers) verranno create utilizzando il motore ReplacingMergeTree. Durante le query, utilizza la parola chiave FINAL per garantire risultati deduplicati.
Il motore di sincronizzazione tiene traccia delle modifiche e sincronizza solo i record nuovi o aggiornati, rendendo efficienti le sincronizzazioni successive anche con dataset di grandi dimensioni.

Risorse aggiuntive

GitHub Repository

Visualizza il codice sorgente, segnala problemi o contribuisci con miglioramenti

npm Package

Visualizza i dettagli del pacchetto e le istruzioni di installazione
Ultima modifica il 31 luglio 2026