Payola – A Rails engine for Stripe
petekeen.net
petekeen.net
As the author of the Koudoku gem[1] that Pete mentions, I'd encourage people familiar with it to keep a close eye on Payola as well. Given Pete's technical excellence, great implementation choices, and broad experience with different types of Stripe integrations (my primary interest has been SaaS products,) Payola could very well supersede Koudoku when he tackles the subscription side of things.
I get the idea behind making this code async. I've never experienced slowness with Stripe's API, but I'm sure it happens!
One of the pain points for me is keeping all of my Stripe data in sync with my AR models.
Would would be helpful for me would be a generator for a set of ActiveRecord models representing all the stripe data, and have all the webhooks populate those tables(and maybe rake tasks as well to initialize things).
Does anyone use ActiveMerchant? I looked at it several years ago and it seemed to be just a mess: scanty documentation, hard to install/set up, lots of bugs. So I've always gone with rolling my own payment code (usually Stripe, sometimes PayPal), and it'd be nice to stop that, one way or another. It seems like ActiveMerchant will be Payola's main competitor.
It's also worth noting that ActiveMerchant hails from a time long before Stripe or even Braintree, and so it supports gateways that are quite a bit more complex. (disclosure: I wrote the ActiveMerchant Stripe support).
- With AM, you have to accept the credit card details (even if you don't store them), and then send them on the the payment gateway. Even with AM's Stripe implementation, it's your Rails app sending the info to Stripe. There is no Javascript sending the details straight from the user's browser. (Or am I mistaken about that?) So you have a higher PCI burden than if you used Stripe in the normal way.
- AM doesn't provide any persistence, just an API to the payment gateway, so you would still have to roll you own tables/models for payment success/failure.
- I don't see support in AM for subscriptions.
Looking at AM again now, perhaps my previous comment was too harsh, although that's how I remember it when I checked it out long ago. Even now, I'm tempted to say that Payola's landing page already has better documentation than AM.
As for subscriptions, that's a feature that could be added but many of the Gateways that ActiveMerchant supports don't have subscriptions baked into them (compared to say Stripe).
You could of course have your application store the credit card information and manage the charges yourself using ActiveMerchant, but that opens a bunch of PCI compliance and such.
If you just need to accept money and aren't already bound to a specific merchant account, then plain ole Stripe or Payola are a better option.
That aside, thanks for the book, I am buying it as I am sure that the advice will be relevant for the payment platform I will use (hesitating betweek Chargify and Recurly right now).
Thanks for making and releasing Payola!
And I kinda doubt there will be confusion over whether you put together a rails plugin to facilitate paying money for airtime of a band's song.
Thanks for the work on this.