Search code examples
ruby-on-railsactivemerchantpaypal-subscriptionsrecurring-billing

Paypal, Recurring Billing, and ActiveMerchant


I'm trying to research how to add a subscription based pay model on an existing site of mine, but am running into a lot of conflicting information and caused me to be a bit lost.

All I need is a very simple way to set up recurring billing (per month) by credit card. I just need a simple solution, but am having a hard time finding the best practices of setting it up.

So far I understand that this is supported by Paypal's Website Payment Standards option. I just have a few questions regarding how I should implement it:

  • First, does Paypal require a user to register for recurring billing with Website Payment Standard?

  • I planned to use ActiveMerchant but I found some blogs that says ActiveMerchant doesn't support recurring billing from Paypal. is this true?

  • I found the SASS Rails Kit by railskits.com, which says it supports recurring billing with Paypal's Website Payments Standard. If I purchased this, would the code be clear enough to understand and implement in my own site, or is it kind of packaged deal for starter sites and not existing sites?

  • I found a lot of blog with help with recurring billing with ActiveMerchant, but using Paypal's Express Checkout. I read about Express Checkout on the Paypal site, but I still can't quite understand what it is, and how it's different from Website Payment Standard. Can anyone explain this in a simple way?

If anyone could answer even just one of these questions, I'd be very grateful!

**By the way, before it gets suggested, I have watched all of Ryan Bates' Paypal screencasts about Paypal, which are great for basics or buying items in a shopping cart, but I don't understand how it should work with recurring billing. Also, it seemed like he skipped some important steps in the video (e.g. the Paypal docs says after your app receives an IPN, you need to send back a confirmation of reception to Paypal, but Ryan does not do this in his screencast). I'm just trying to make sense of all this!


Solution

  • Express Checkout is the same as Website Payments Standard. It is the method of redirecting your customers to PayPal to collect their payment info. There's a simple implementation of just creating a form that posts directly to PayPal, and you can optionally use IPN to get info about the transaction. There's also an API for Payments Standard, that lets you set up the transaction with PayPal behind the scenes, then redirect your customer to PayPal, then query PayPal via the API for details on the just-completed transaction. The SaaS Rails Kit (I'm the author of it) uses this API.

    Website Payments Pro is PayPal's offering that lets you collect the payment info at your site and pass that info via their API to PayPal. You then get information about the transaction via the API. The customer never leaves your site. PayPal's TOS require you to offer Express Checkout even if you offer Payments Pro. Payments Pro costs $30 / mo. (as I recall) and requires you to fill out an application for a Pro account.