

How I Converted My Subscription Site from Paypal to Stripe in 2 Days - jv22222
http://justinvincent.com/page/1790/how-i-converted-my-subscription-site-from-paypal-to-stripe-in-2-days

======
patio11
I implemented Stripe for BCC, too, as an experiment. (I was going to milk a
blog post out of it, but all my A/B tests so far have been pushes versus using
Paypal, so it wasn't important enough to write before Christmas and I've been
swamped since.)

It is every bit as easy as Justin says. BCC's integration was in production in
3 hours, including the wholly-new purchasing flow that my site required to
support it. No hitches since then at all.

P.S. I am not unhappy in any way about Paypal, I just experiment with things
all the time.

~~~
troygoode
have you seen an conversion differences in your A/B tests?

~~~
weaksauce
That's the push part; implying that the tests have been about equal.

~~~
patio11
Yep. Technically speaking, I got three null results: not enough evidence to
reject the null hypothesis (that A was about equal to B).

Specifically, I tested

1) Paypal + Google Checkout (my previous arrangement) vs. credit card (Stripe)
signups alone

2) PP + GC + CC vs. CC

3) PP + GC + CC with in-application upgrade messages pushing insta-
gratification CC-based upgrades vs. plain PP + GC + CC with in-application
upgrade messages dumping them to the purchasing page like I have done for the
last 3 years

n.b. These are my results but they may not be your results. It is entirely
possible my credit card form design (which I flagrantly stole from Twitter
Bootstrap) is just bad, depressing CC signups, or the UX disimprovement
crushed the favored-payment-method improvement, or something else entirely.
Test test test.

~~~
carbocation
Are you measuring, for this specific AB test, the number of conversions?
Revenue? Profit? (Admittedly they should all trend in the same direction with
the exception of profit, which might depend on how well each company's imposed
costs work for your situation.)

~~~
patio11
Number of sales. BCC (almost) always sells for $29.95, and the difference
between the three in processing costs is rounding error.

------
dennisgorelik
Stripe is easier to deal with and Stripe is also much faster than PayPal.

Stripe gives way more flexibility in billing.

However in order to use that flexibility I think it's better to dump the whole
subscription model and don't even use IPN. I think all subscription management
should be handled in-house.

Yes, main subscription use-cases are handled ok in Stripe plan/subscription
model. But there are so many edge cases that dealing with external
subscription model is way too hard (too hard in Stripe and even harder in
PayPal).

For example, what if customer does not upgrade the plan, but downgrades? How
would proration work in that case?

Or what if Stripe cannot charge credit card for a day or two because it's over
the credit limit? When do I cancel premium membership? How do I reinstate
premium membership if card started to work? What if user managed to
resubscribe again using different credit card, but user's previous
subscription started working after that and I got IPN about successful
payment?

What if the card is permanently unchargable and how do I differentiate between
permanent problems with credit card from temporary problems?

My solution to that is to always initiate payment from my web site (or from my
backend service for recurrent payments). Do not delegate charge initiation to
Stripe subscription.

~~~
patio11
This post is _exactly_ why I use Spreedly (for my subscription product),
because writing code for all the edge cases would cost me a metric truckload
more than the pittance I pay them every month.

~~~
dennisgorelik
The problem with Spreedly is that I still have to do a lot of stuff on my
side. Spreadly would just give me some hooks, but then I have to handle these
hooks myself.

For example, I need to put on hold premium benefits of temporary non-paying
users. Spreedly (or Stripe for that matter) cannot do it for me.

I don't know if Spreedly can send notification email to my users (Stripe
cannot at that moment), but even if such notification can be sent, there could
be issues with email deliverability or with mismatch between my website name
and spreedly "from" email field.

User expresses the intent to upgrade or downgrade on my web site. In order to
communicate that intent to Spreedly/Stripe/PayPal I have to make a call that
reflects that intent.

If the change is as simple as switch to another plan - then it may make sense.
But if it's an edge case (e.g. discount), then I have to use more complex
version of API. If I go through all that complexity anyway - why not just
communicate with my own database and drop third-party dependency whenever
possible?

Fortunately with Stripe it's quite possible: I just charge credit card
whatever the right amount is at whatever the right time is. That's it. No
researching Stripe/Spreedly/PayPal subscription model. No dealing with
arbitrary restrictions of these models.

Another problem with Spreedly is that it does not support Google Checkout
(most of my existing customers are from Google Checkout - my first payment
processor). So I need to maintain all my Google Checkout customers myself
anyway without any Spreedly help.

Bottom line: if you want to polish subscriptions UX for your customers -
handling subscriptions in-house is the only viable long-term option. (Keep
only subscriptions in-house. Payments processing should be outsourced).

Yes, it takes time. That's the cost of doing subscription business.

------
dangrossman
Has Stripe fixed their webhooks so that they re-POST when the endpoint is
down? They can't be compared to IPN until they implement it _reliably_...
without that you _have_ to manually reconcile Stripe's data with your own
database to be sure you haven't lost a post during brief downtime, network
glitch, transient application or proxy error...

> Setting up a merchant account usually takes weeks and requires hours of
> paperwork to be filled

That's a bit of an exaggeration... I've worked with 3 different merchant
service providers underwritten by 3 different banks, and none of them took
more than 2 days to approve an application, and the applications were like two
pages long... 10 minutes to fill out. Names and socials of the principals of
the business, estimated ticket size and monthly volume, description of your
business, signature, date, send.

If you have the volume, that extra percentage point Stripe will shave off your
gross sales is a lot to throw away.

They're a neat company with a neat API, but they're firmly in the "backup
plan" category for me.

~~~
saikat
> Has Stripe fixed their webhooks so that they re-POST when the endpoint is
> down? They can't be compared to IPN until they implement it reliably...
> without that you have to manually reconcile Stripe's data with your own
> database to be sure you haven't lost a post during brief downtime, network
> glitch, transient application or proxy error...

We're working on this right now. It's part of a larger redesign of our webhook
system that we started right before the break, and we should be able to launch
it pretty soon. Our webhooks are the last somewhat legacy part of our product,
so I'm pretty happy that it's getting reworked.

~~~
dangrossman
That's great. I don't mean to rag on Stripe, it's just one of the things
that's held it back from being an easy PayPal replacement even in the US.

------
gozman
Great post Justin!

One of the reasons we formed a US LLC (we're Canadians) when building Appifier
was to work with Stripe. They're simply the best way we've found to handle
online payments without the headache.

I can confirm that at the moment our experience (other than some foreign
ownership headaches that were promptly resolved by their support staff) has
been entirely positive. Integration was a breeze and the reporting is top
notch.

Best of luck!

~~~
earlyriser
I'm also based in Canada (Mtl) and I has been waiting for months for their
international support. What were the other reasons (if you wan to share)? I'm
interested in the experience of making US companies from Canada and what are
the time and money expenses this generates.

~~~
gozman
We're also in Montreal!

One big reason we went US was to avoid Bill 101 and all the language
restrictions it entails. It was going to really slow us down. We also like the
access to US capital that setting up in the States allows for.

An LLC is an amazing thing that we don't have in Canada. It provides limited
liability while freeing you from the governance requirements that a
corporation has. As a bootstrapped startup, it really sucks to have to deal
with endless paperwork to keep your corporate veil in order.

Carl Mercier posted a really good blog entry from a local Quebec perspective,
check it out:

[http://blog.carlmercier.com/2011/08/29/us-incorporation-
for-...](http://blog.carlmercier.com/2011/08/29/us-incorporation-for-canadian-
startups/)

If you need any more details about how we set it up, send us a shout!

~~~
run4yourlives
>If you need any more details about how we set it up, send us a shout!

If you have the chance, could you do a blog/HN post about this? I'd love to
understand how this is done as well.

------
mark_l_watson
I will also concur that Stripe is very easy to add to a site, test, and turn
on billing. I just spent almost 8 hours building a stock photo site for my
wife and I to use (<http://sleepybird.us/sedonaredrocks> \- written in Clojure
:-) and I don't think that the Stripe part of it took more than 90 minutes
total, largely because I found a Clojure library for Stripe and everything
just worked.

------
barmstrong
To clarify, you added stripe as a new payment option and you're running both
in parallel now right? I didn't think there was a way to get your old PayPal
subscribers moved over.

~~~
jv22222
Yes. I made stripe the main payment option and left paypal as a second option.
There is no automated way (that I know of) to move customers from paypal to
stripe.

------
chrislomax
Anyone know when we can expect this in the UK?

I've heard good things about Stripe so far but as much as I know it's only
available in the USA at current

~~~
taphangum
I hope they launch here soon. It's a really awesome service.

~~~
saikat
We're working on it! We want to make sure we get it right. But I do want to
mention <https://stripe.com/global> for anyone not in the US that wants to be
notified when Stripe gets to their country.

------
lnanek
Don't many users already have PayPal accounts, though? I'd happily spend twice
the development time if it meant users were less likely to leave the checkout
page because they already had an account and wouldn't have to type as much.

A little more dev work upfront can improve your conversion rates from then on,
basically. Heck, I pay with PayPal instead of direct debit/credit cards when
both are offered just because typing the PayPal password is easier than
filling out all the card and address info.

~~~
dennisgorelik
> Don't many users already have PayPal accounts, though?

Nope.

I have 3 options: PayPal, Google Checkout, and Credit Card (Stripe, but my
users don't know about Stripe).

Approximate proportion in new subscription payments is: 15% PayPal, 10% Google
Checkout, 75% credit card.

Many existing users are switching from PayPal and Google Checkout to Credit
Card (because now I have Stripe option).

------
whileonebegin
"To get going the only new stuff I needed to add was a credit card form .."

One difference between PayPal and Stripe is that PayPal allows you to accept
payments without hosting a credit card page. It would be great if Stripe could
offer this kind of feature.

One alternative to PayPal, with hosted payment pages and IPN, would be WePay.

------
spiredigital
AnyFu looks like a GREAT site. I've wanted access to subject area experts in
the past for specific issues, but didn't want the delay involved with finding
a long-term freelancer on oDesk or eLance. Plus, the quality is often sub-par.
Best of luck to you. I signed up, and am excited to hear more.....

------
dennyferra
Can you create subscriptions with Stripe on the fly? My wife runs a
subscription business but pricing is based on the products the person chooses
so my subscription rate is always variable. When I first looked at Stripe it
seemed like I had to have subscription + prices created beforehand.

~~~
saikat
Yup, we have an API to create plans - <https://stripe.com/docs/api#plans>

------
thesis
Are people really choosing one or the other? Why not offer both? People DO
like to shop with Paypal only.

~~~
jv22222
I guess I should have made it clearer that I converted the site to use stripe
as the main payment processor but people can still pay with paypal if they
want.

------
j45
I wish stripe was in Canada.

~~~
joseacta
Fill out this form:

<https://stripe.com/global>

------
jarsj
Stripe is US only.

------
Codhisattva
Keep an eye on Dwolla.com if you want an alternative payment system without
the 2.9% transaction fee.

~~~
dangrossman
Why do I have this scummy feeling about Dwolla? Was it something I read? I
have this feeling that they're going to evaporate as soon as sites start
taking Dwolla payments and there's a reason for them to be targeted by
criminals... will 25 cents per transaction really cover the fraud-prevention
excellence they need to develop?

~~~
taf2
I really think this is the case of their website design not giving a feeling
of quality... Their design is OK... but I bet if they could give the site a
softer look and have it convey a feeling of assurance/reliability - they'ed
have a much better product... I realize design is a small part of the
equation, but it goes a long way in gaining trust in the brand... Right now
their site gives me the feeling of "stodgy corporate", slightly sketch... they
need to fix that... stripe in comparison gives me the feeling of "cool",
"reliably", "smart"... i'm just one dude though... who has been regrettably
using authorize.net - so take it with a grain of salt...

~~~
dangrossman
There's nothing wrong with Authorize.net. Well documented, easy to implement
API, automatic billing or charge-by-reference, reliable service, not
overpriced... Why would you regret it?

~~~
taf2
As my service has evolved and newer payment options have emerged braintree,
stripe... I'm just probably jealous envious of the coolness of those
services... but you're right - authorize.net has not yet failed - good point.

