I've been working on switching the payments backend from Amazon Flexible Payments System (FPS) to Stripe.
I decided to make this switch in November, after receiving a message from Amazon saying FPS was being replaced with an offering called "Login and Pay with Amazon". This new system integrates your Amazon login with applications like Scholaric, along with Payments, which it already does today. I was motivated to try something better than Amazon for several reasons, and I like what I am seeing in Stripe. Here is what I have found:
- Better support for subscriptions: Amazon provides a token to allow you to charge, a fixed amount monthly. It’s up to the application to figure out what accounts need to be charged each day and how much. Things get tricky when payment plans change, or when Amazon changes what it feels constitutes a month. Stripe charges that fixed amount monthly, and notifies the application when that happens.
- Better support for retrying failed payments: Amazon notifies the application of a failure and then allows it to be recharged. Stripe retries automatically, and notifies the application when it has cancelled the subscription.
- Better test environment: Amazon has a “sandbox” for testing, but I found it lacking, and it has no real way of testing calls Amazon makes back to me. Stripe has a complete test environment, including the web dashboard, and callbacks, which can be replayed on demand to test them or have a do over if they were handled incorrectly.
- Better customer service: Amazon, which prides itself on the customer experience, should be ashamed of the service it provides developers. I've experienced poor response times on emails, very little oversight of forums, and disputes which don’t get settled. I’ve even received errant emails telling me they are going to shut down my account because it is "unused", in spite of my charging many times that day! Stripe gets back to you the day you ask a question, and has been very helpful. They even look at my code. In addition, their documentation is so clear and helpful, it answers most of my questions. They even provide examples in the programming language of choice (Ruby in my case), so many things I need, I can just copy and paste into my code.
- International Payments: Unbelievably, Amazon does not support international payments for developers. And, this is only found when a card is charged - no warning is given when it is entered. Stripe supports these cards.
Everything Done Through Scholaric.com: The most frustrating biggest struggle with Amazon, was when users got informed of failed payments, they would often enter new card information on Amazon's site, but I would not be able to charge it. This would cause confusion and delay. With Stripe, everything is entered and modified on scholaric.com without visiting another site. But don't worry, credit card information is still stored at Stripe, not with me.
Some of you may ask, "Why not PayPal?" In addition to being difficult to integrate with, they can (and do) lock out your account for up to 6 months, without warning, or reason. This effectively puts you out of business. This is not infrequent, and there is no appeal, no one to help you. I've hear of this happening when, for example, your sales increase suddenly, and they assume you are a fraud. Sorry to the PayPal fans out there.
The switch to Stripe will happen gradually, so you will receive a follow-up email when it is time to transfer your subscription.