2013-10-03 23 views
5

Sto lavorando a un'applicazione gratuita con una prova di 14 giorni.

Per gestire i pagamenti, sto utilizzando Stripe e ascolto i webhook in modo da poter eseguire funzioni sul back-end quando si verificano eventi.

Una cosa che ho notato, tuttavia, è che Stripe mi sta inviando dati di fatturazione con un importo addebitato di $ 0 per il periodo di prova. Quindi, se un cliente si iscrive, riceve una fattura da Stripe per $ 0 (ho la mia configurazione del webhook per sparare un'e-mail per ogni fattura che ricevo).

Questo non è terribile, ma da una prospettiva UX, vorrei evitare lo shock di ottenere una fattura immediata quando qualcuno si aspetta un processo (anche se quella fattura è per $ 0).

Ho preso in considerazione il controllo dei dati inviati da Stripe e il filtraggio di fatture $ 0, ma se offro uno sconto o qualcosa del genere, questo non sembra il modo migliore.

Qualche idea/nota su come implementarla meglio?

+0

Hai provato il supporto Stripe? Sono fenomenali e sarebbero sicuramente in grado di assistere. Mi hanno aiutato così tante volte che ho perso il conto, a volte per le domande più ridicole. Dai loro un colpo. – landland

risposta

4

Un paio di opzioni qui:

  • Quando si crea il cliente/abbonamento, le API restituisce sia la i dati di sottoscrizione a voi nella sua risposta del cliente e. È possibile utilizzare i dati di uno o entrambi di questi per filtrare in modo intelligente. Di particolare interesse:

    • current_period_start: questo sarà anche il timestamp della fattura.
    • trial_end: Fino a questo timestamp, qualsiasi fattura incluso un abbonamento è per una prova.
    • customer: Se non ti piacciono gli altri, puoi sempre eseguire una query sul record del cliente durante l'elaborazione di una fattura $ 0. I clienti nel loro periodo di prova hanno un status di trialing.
  • Se si invia l'e-mail sul invoice.created eventi, viene creata solo la fattura sottoscrizione iniziale come chiuso. Tutte le altre fatture di abbonamento sono aperte quando Stripe le crea. (In questo modo è possibile apportare modifiche prima che la fattura venga elaborata.) Una fattura che è sia $ 0 che chiusa ha un'alta probabilità di essere una prova-100%, infatti, se non si creano altrimenti fatture già chiuse.

+0

Grazie! Grandi idee Penso che il controllo di qualcosa come trial_end sia più facile/veloce da implementare. –

+0

Va notato che gli abbonamenti nello stato "non pagato" generano anche fatture "chiuse". Quindi è bene controllare sia l'importo che lo stato. – sandstrom

1

Provare ad ascoltare per le spese events. L'evento charge.succeeded È stato attivato solo quando l'utente ha caricato correttamente.