Showing results for 
Search instead for 
Did you mean: 

Best way to organize payment integration? (Stripe or Paypal or Chargebee, etc.)

I'm a little stuck on the "big picture": a freemium SaaS app. Right now, it's just free, not freemium. :-) I understand all the "small" pieces like the webhooks, API's, ways to implement my server-side parts, but it looks like there are a few tough points:

  • When should the user account in the app be created? Before or after signing in with the payment service?

  • If it's before, how does that user info get communicated to the payment service?

  • How much redundant info should get stored in the app? I.e., what should the app do with the incoming web hook POSTs?

Way long ago, I had a simple but effective setup with Paypal Subscriptions:

  1. Users had to first create an account using an OAuth source like Google (No passwords stored in my db!)

  2. With that email address, I'd populate a Paypal Subscribe button which would launch a hosted form.

  3. When the webhook received a POST, I'd keep just the payment notifications in a big table.

  4. When a user came back to log in, I'd check if they had made a payment in the last 30 days.

Easy! :-) But that's a bit primitive, and not sure if it's the recommended practice. E.g., I believe that one practice is to pro-actively create a user account via the payment system's API when a user first signs up in the app...