Creazione di fatturazione di abbonamenti ricorrenti con 4Geeks Payments¶
Panoramica¶
4Geeks Payments fornisce strumenti robusti per la gestione di pagamenti e abbonamenti ricorrenti, consentendoti di automatizzare i cicli di fatturazione, gestire aggiornamenti/downgrade e gestire l’intero ciclo di vita dell’abbonamento, il tutto gestendo la conformitĂ fiscale e la prevenzione delle frodi come Commerciante registrato.
In questo tutorial potrai:
- Creare piani di abbonamento
- Iscrivere i clienti ai piani
- Gestire aggiornamenti, downgrade e cancellazioni -Gestione del Portale Self-Service Clienti
- Gestire i pagamenti non riusciti e i solleciti
Prerequisiti¶
- Un conto 4Geeks Payments attivato
- Chiavi API (chiave segreta)
- Comprensione di base dei modelli di business in abbonamento
Passaggio 1: crea piani di abbonamento¶
Tramite API¶
const axios = require('axios');
const response = await axios.post('https://api.4geeks.io/v1/plans', {
name: 'Pro Plan',
amount: 4900, // $49.00 in cents
currency: 'USD',
interval: 'month', // 'week', 'month', 'year'
interval_count: 1, // Every 1 month
trial_period_days: 14, // 14-day free trial
metadata: {
features: 'Unlimited projects, Priority support, API access',
tier: 'pro'
}
}, {
headers: {
'Authorization': `Bearer ${SECRET_KEY}`,
'Content-Type': 'application/json'
}
});
console.log('Plan created:', response.data);
// plan_xxxxxxxxxxxxx
ProprietĂ del piano¶
| Immobile | Descrizione | Esempio |
|---|---|---|
nome | Nome visualizzato del piano | “Piano Pro” |
| “importo” | Prezzo in centesimi | 4900 ($ 49,00) |
| “valuta” | Codice valuta | “USD”, “EUR”, “CRC” |
| “intervallo” | Frequenza di fatturazione | “settimana”, “mese”, “anno” |
conteggio_intervalli | Moltiplicatore di frequenza | 1 (mensile), 3 (trimestrale) |
giorni_periodo_di_prova | Durata della prova gratuita | 14 |
| “metadati” | Coppie chiave-valore personalizzate | { livello: "pro" } |
Passaggio 2: iscrivi un cliente¶
Crea prima il cliente¶
const customer = await axios.post('https://api.4geeks.io/v1/customers', {
email: 'customer@example.com',
name: 'Jane Smith',
metadata: {
company: 'Acme Corp',
signup_source: 'website'
}
}, {
headers: { 'Authorization': `Bearer ${SECRET_KEY}` }
});
const customerId = customer.data.id; // cus_xxxxxxxxxxxxx
Crea abbonamento¶
CODICE_BLOCCO_2
Passaggio 3: gestisci le modifiche al piano¶
Aggiorna un abbonamento¶
const upgrade = await axios.post('https://api.4geeks.io/v1/subscriptions/sub_xxx/update', {
plan_id: 'plan_enterprise_xxx', // New plan ID
prorate: true, // Prorate the remaining period
billing_cycle_anchor: 'unchanged' // Keep existing cycle
}, {
headers: { 'Authorization': `Bearer ${SECRET_KEY}` }
});
Downgrade di un abbonamento¶
const downgrade = await axios.post('https://api.4geeks.io/v1/subscriptions/sub_xxx/update', {
plan_id: 'plan_basic_xxx',
prorate: false, // Apply at next billing cycle
billing_cycle_anchor: 'next_cycle'
}, {
headers: { 'Authorization': `Bearer ${SECRET_KEY}` }
});
Annulla un abbonamento¶
CODICE_BLOCCO_5
Riattiva un abbonamento annullato¶
CODICE_BLOCCO_6
Passaggio 4: configurazione del portale clienti¶
Il Portale Self-Service del Cliente consente agli abbonati di gestire i propri abbonamenti.
Abilita il Portale¶
- Vai su Pagamenti → Impostazioni → Portale Clienti
- Abilitare il portale
- Configura le azioni consentite:
- Aggiorna il metodo di pagamento
- Visualizza la cronologia di fatturazione
- Piano di upgrade/downgrade
- Annulla l’abbonamento
- Scarica fatture
Incorpora il portale¶
CODICE_BLOCCO_7
Genera token del portale¶
const portal = await axios.post('https://api.4geeks.io/v1/customer-portal', {
customer_id: customerId,
return_url: 'https://yoursite.com/account/billing'
}, {
headers: { 'Authorization': `Bearer ${SECRET_KEY}` }
});
console.log('Portal URL:', portal.data.url);
Passaggio 5: gestire i pagamenti non riusciti (sollecito)¶
Logica di riprovazione automatica¶
4Geeks Payments riprova automaticamente i pagamenti non riusciti:
| Tentativo | Tempi |
|---|---|
| 1° tentativo | 3 giorni dopo il fallimento |
| 2° tentativo | 7 giorni dopo il fallimento |
| 3° tentativo | 15 giorni dopo il fallimento |
Eventi webhook per pagamenti non riusciti¶
// In your webhook handler
switch (event.type) {
case 'invoice.payment_failed':
// Notify customer about failed payment
sendEmail(customer.email, 'Payment Failed', {
amount: event.data.amount,
retry_date: event.data.next_retry_date
});
break;
case 'invoice.payment_succeeded':
// Confirm successful payment
sendEmail(customer.email, 'Payment Confirmed', {
amount: event.data.amount,
period: event.data.period
});
break;
case 'subscription.past_due':
// Subscription is past due after all retries failed
notifyAdmin('Subscription past due', {
customer: event.data.customer,
amount: event.data.amount
});
break;
case 'subscription.canceled':
// Subscription canceled after failed payments
notifyAdmin('Subscription canceled', {
customer: event.data.customer
});
break;
}
Email di sollecito personalizzate¶
Configura le email di sollecito automatizzate nella console:
- Vai su Pagamenti → Impostazioni → Sollecito
- Personalizza i modelli di email per:
- Notifica di mancato pagamento
- Riprova la notifica del tentativo
- Ultimo avviso prima della cancellazione
- Notifica di abbonamento annullato
- Imposta la tempistica per ciascuna email
Passaggio 6: monitora i parametri di abbonamento¶
Metriche chiave da monitorare¶
| Metrico | Descrizione |
|---|---|
| MRR | Entrate ricorrenti mensili |
| ARRI | Entrate ricorrenti annuali |
| Tasso di abbandono | % di abbonati che annullano al mese |
| Espansione MRR | Entrate da aggiornamenti |
| Contrazione MRR | Perdita di entrate derivante dai declassamenti |
| Trattenimento dei ricavi netti | (MRR iniziale + Espansione - Contrazione - Variazione) / MRR iniziale |
Accedi ai rapporti¶
- Vai a Pagamenti → Analisi → Abbonamenti
- Visualizza dashboard in tempo reale per tutti i parametri di abbonamento
- Esporta report come CSV per ulteriori analisi
Migliori pratiche¶
Strategia dei prezzi¶
- Offrire fatturazione annuale con uno sconto (ad esempio, 20% di sconto) per migliorare il flusso di cassa
- Utilizza i periodi di prova per ridurre gli attriti con i nuovi clienti
- Implementare i prezzi tradizionali per i primi utilizzatori
- Prendi in considerazione modelli di prezzo basati sull’utilizzo o a livelli
Riduzione del tasso di abbandono¶
- Invia rapporti sull’utilizzo per mostrare il valore fornito
- Implementare campagne di riconquista per gli abbonati cancellati
- Offri l’opzione pausa invece della cancellazione
- Fornire supporto proattivo prima delle date di rinnovo
ConformitĂ ¶
- In qualitĂ di commerciante registrato, 4Geeks gestisce automaticamente la conformitĂ fiscale
- La conformità PCI DSS è integrata: i dati delle carte non toccano mai i tuoi server
- ConformitĂ al GDPR per i clienti dell’UE
- Normative locali sui pagamenti gestite per giurisdizione
Qual è il prossimo passo?¶
- Ulteriori informazioni su 3D Secure per la prevenzione delle frodi
- Esplora il Pagamento multivaluta
Hai bisogno di aiuto?¶
- Documentazione: docs.4geeks.io/en/payments
- Riferimento API: docs.4geeks.io/en/api
- Supporto: disponibile tramite il dashboard della console
Hai ancora domande? Richiedi supporto or explore tutoriali