Rails Payment Gateway Solutions

Hi All,

I’m in the process of once again researching Rails payment gateways for
a couple of my production sites. I wanted to gather opinions and
thoughts on what you all are using, and why you may or may not like it.

My current payment gateway includes Paypal and Zong.

Zong is a mobile credits system where you can pay by phone, but it still
has its own issues, namely how much providers will allow a phone to be
charged in the U.S. Once you go above a certain price range, they
automatically request credit card payments instead and future purchases,
regardless of price range, are processed via the credit card. I don’t
particularly like this feature, or how they implement an iframe solution
for their payment processing system. I have created a full system for
Rails for use with this payment provider, but I haven’t released the
code yet.

Paypal seems to be pretty consistent. However, I have run into some
issues where they have processed a virtual subscription and then within
5 minutes voided the sale without sending notification via IPN. The
explanation they provide is that the person paid from an IP address that
was in a location that may have appeared suspect. Usually, following up
with the customer directly, I find that they did attempt payment and
that Paypal’s security dropped the ball so to speak on the entire
process. Luckily, I find less than 2 to 3% of all virtual sales to
encounter this security block.

The greatest issue I’ve encountered with both is the ability to process
payments from a mobile phone without creating a custom app. I use
jQuery Mobile with Rails 3 and wrap my site around a mobile browser for
phone users. I have not found a way for either Zong or Paypal to
correctly zoom the logins based off a mobile aspect. Paypal has their
own mobile app. Zong has neither. This leaves me without a mobile
based payment process system.

What I would like to accomplish is this:

HTML and MOBILE payment processing (must have)
Credit Card processing (must have)

  • Pay by Phone (verizon/AT&T) (optional)

Please provide any feedback.

Thank you.

On Thu, Apr 5, 2012 at 10:36 AM, Joel D. [email protected]
wrote:

If anyone has used Paypal’s advanced solution and integrated with Rails,
I’ll be interested to see your experience.

I haven’t used either, but I’ve heard bad things about Paypal and
great things about Stripe (both from a customer service and easy of
use perspective; they have a PCI compliant interface)

Greg A.
http://twitter.com/akinsgre

It looks like Paypal has created a few more solutions which I’m now
looking into. One of the problems I have is I don’t want to use SSL on
my site and process payments on my site. This left me using Paypal
Standard. In order to use Pro you need to use SSL. It looks like
they’ve established an API / PCI compliant version of their services
called “Paypal Advanced”. This uses an iFrame on your website but I’m
looking into whether or not they have mobile browsing interaction
enabled into this service as well.

It does appear they do have mobile browsing interaction services on
their site now, but which solution it is used with is unknown at this
time. I have a call into them and will report back any research I find
out.

If anyone has used Paypal’s advanced solution and integrated with Rails,
I’ll be interested to see your experience.

Thanks.

Greg A. wrote in post #1055148:

On Thu, Apr 5, 2012 at 10:36 AM, Joel D. [email protected]
wrote:

If anyone has used Paypal’s advanced solution and integrated with Rails,
I’ll be interested to see your experience.

I haven’t used either, but I’ve heard bad things about Paypal and
great things about Stripe (both from a customer service and easy of
use perspective; they have a PCI compliant interface)

Greg A.
http://twitter.com/akinsgre

Thanks for the feedback Greg. This looks promising. I’m creating a few
tests to see how well it implements.

Does anyone have any feedback on Stripe? Thanks for raising this, very
useful.

Okay, I can now provide feedback on Stripe.

First, there is an easy to follow Railscasts tutorial by Ryan B.
which covers how to implement Stripe. However, this tutorial is meant
for recurring based subscriptions and does not cover regular charge
objects (single payments). So, you have to review the API at stripe.com
to understand how to do things.

The main points that I can cover are that you have three types of
transaction objects that you will work with when using Stripe. These
are:

Token Object (credit card)
Customer Object (your customer)
Charge Object (can use the token or the customer)

If you are doing recurring subscriptions you are working with tokens,
customers, and plans.

If you are doing single charges you work with tokens and charges.

The entire setup is pretty easy to follow and I was able to get it
incorporated into my site for both html and mobile views (jQuery Mobile)
in under 2 days.

The Good:

Stripe.com handles the SSL encryption for sales and is PCI Service
Provider Level 1, which means they have the most stringent level of
certification available.

They also allow you to use PGP for site to site encryption if you want
to go that far in your communications from end to end.

The Bad:

Even though you aren’t handling the cards themselves they appear to be
adamant about requiring to have SSL on your site. This is a hefty fee
for some and bothers me because I don’t want to handle SSL or keep
credit card information on my site at all. I do not believe if they
enforce you to have SSL or if they strongly just recommend it. I would
think that you could still use a non-SSL site and communicate with PGP
for security. I’ve emailed them and am waiting for more information.

They also have a $15 dollar service fee for chargebacks. This means if
you sell a virtual good on your site for say $.99 cents and a customer
disputes this, regardless of whether or not you win the dispute, you pay
$15 dollars. If you have 1,000 charges of $.99 cents and 20% of the
customers dispute the transaction this means you have earned roughly
$800 dollars and spent $3000 dollars.

I do not like this type of fee as paypal does not have a $15 dollar
charge back fee. I suppose you can get around this by having a strong
refund policy because refunds are free from Stripe’s point of view.
They also have a nice control panel that you can handle the refunds if
you want to do this manually.

I hope some of this information helps.

So I researched PayPal in comparison to Stripe and came up with the
following:

Stripe:

Charges 2.9% + $0.30 cents per transaction with a $15.00 charge back fee
if a customer disputes the charge. They have no monthly fee.

Can be wrapped into jQuery Mobile and used on mobile phones.

Requires SSL even though you don’t process the card payments on site.

Supports Credit Card Payments only

Only US based and does not support International

PayPal: Standard

Charges 2.9% + $0.30 cents per transaction with no chargeback fees.
They also have no monthly fee for the standard package. They also have
a reduction in costs based on the dollar amount:

$3,000 - $10,000 : 2.5% + $0.30 cents
$10,000+ : 2.2% + $0.30 cents

They now have a new mobile view wrapper so that you can now use their
services on mobile phones without applications.

Does not require SSL.

Supports Credit Card Payments and Bank Transfers through PayPal

US and International

PayPal: Advanced

Exactly the same as Standard except they also charge a $5 dollar monthly
fee and you use an iFrame to make the payments feel native to your
application.


External Features: Stripe has a control panel with external testing and
callback mechanisms. PayPal has a developer sandbox with external
testing and callback mechanisms. The API documentation for both are
easy to use and setup. Both support PGP certs for encryption.

At this point I’d have to say that both solutions are very close. That
chargeback cost and the non-US based support are huge downsides for me
though.

I hope some of this helps others.