I found an old post from 2009 about this, wondering what the answers will be a decade later : https://news.ycombinator.com/item?id=526517
For our clients, our preference is still Stripe, though we had a client deplatformed by them because their bank had problems with the product. (In our case, specifically, adult toys.) We had spoken with Stripe at length before investing in using them, and confirmed that this would be acceptable, as they had other adult toy companies on their platform, but Wells Fargo, paragons of fucking virtue that they are, decided to step in an try to get extremely and very awkwardly hands on with our specific products. (They tried to dictate what colors we could and couldn't offer, for instance. It was unpleasant, and we recognized we needed to leave immediately.)
We ended up back at a higher-risk merchant service provider, though we're paying typical rates because we fulfill an actual, physical product (not, say, porn), and our chargeback rate is very low. Still a frustrating experience, and yet another reason to hate Wells.
- Stripe Elements [0] + Stripe Webhook [1]
- Stripe Checkout [2] + Stripe Webhook [1]
- PayPal Smart Payment Buttons [3]
And one repository:
- basic Stripe Checkout with Webhook in React + Express [4]
Personally I preferred Stripe Checkout over Elements, because they take care about the look and feel.
- 0 https://github.com/stripe/react-stripe-elements
- 1 https://stripe.com/docs/webhooks
- 2 https://stripe.com/docs/payments/checkout
We've been quite happy with Chargebee overall and would recommend them. The only downside is their customer support is very bizarre sometimes and a bit frustrating.
For example, they limit API access to my own (events) data to the last N months. I contacted and asked them to remove the restriction, and they said that wasn't possible because the data was "archived". I pointed out that their UI allowed me to see all the data and their page loaded quickly so clearly the data is close at hand. They then said they'd give me access to all my data over the API for one week. I told them I'm not going to build a script that will be broken in a week and instead will just have to scrape their website - they seemed happy with that resolution.
Tangentially, I'd recommend everyone to stay away from Paypal. You will lose your money or your account sooner or later. Let someone else (like Paddle) handle Paypal payments and that risk.
The problem with Stripe is they have a large list of prohibited businesses, which mainly is inherited from the credit card networks as I understand it. Even if you’re a perfectly legal and legitimate business, if you fall under one of these broad categories you can’t use Stripe’s platform (even if you only use their ACH product and don’t touch credit cards). PayPal has a similar list.
The credit card networks justify it by claiming certain categories of business are riskier (and I’m sure some are). But then you see how a lot of these categories may have come from Operation Chokepoint, chosen by unelected bureaucrats seemingly without any evidence.
Personally it disturbs me that so many legitimate businesses are severely hamstrung from collecting payments online because of extremely opaque decisions by an oligopoly of payment networks.
But about Dwolla - it’s not quite as smooth as Stripe; you have to build out your own customer onboarding screens, and production plans are priced through a sales rep rather than a SaaS-y paygo model. But I feel much more in control from the business end of things using them.
The main reason is that it makes my life a lot easier, they act as a reseller so I effectively sell my product to them, and they sell it on to customers. At the end of each month I just need to enter a single payment into my accounting platform, and they handle all currency conversions (I sell in USD, my accounting is in GBP) and sales taxes. They of course charge more, but for the amounts I'm talking about the cost outweighs the time I was spending dealing with Stripe payments.
They also support PayPal which I've had a lot of people ask for, so that's a win too.
We built our own quote logic including prorating, etc. then apply that as recurring subscription using Braintree if customer wants to pay with PayPal, or Stripe if customer wants to pay with credit/debit card.
Breakdown by processor:
73% Stripe
26% Braintree/PayPal
0.7% GitHub Marketplace
0.3% Coinbase Commerce
[2]: https://stripe.com/
[3]: https://www.braintreepayments.com/
1. I don't have to write code or maintain a server to process payments. I realize that I'm an outlier for not wanting an API, but my business web page is completely static, and it's convenient for me to keep it that way.
2. They are unified with USPS for shipping, which has the best rates and service for packages that weigh just a few ounces. I can click on a button in PayPal and it spits out a USPS shipping label for me.
I greatly prefer not having to handle any of my customers data. The only info I ever see is their shipping address and whatever e-mail address they signed up to PayPal with.
Stripe just came out of private beta in India but their processing fees are pretty high. We are looking at two providers as they are promising better fees. Razorpay and Payu:
- Razorpay is pretty much Stripe of India with the documentation and UI similar to Stripe.
- Payu is an old dog in Indian Payment Industry with good sales team but bad integration and overall product.
They have an Australian focus but global capability. If you use a scheme card for Fastmail, you probably paid via Pin Payments.
Pin have a Stripe-like API but a small-team feel during contact i.e. we know one another by name, and when escalating a technical query I've had dialogue directly with a dev lead. I've even received hand-written Christmas cards from them.
I live in mortal terror of Pin being bought by Stripe, or (worse) an Australian financial institution, with all the consequences for competence and customer service level that follow.
We also handle bulk/large payments via CS2 (the Aus equivalent of ACH, for Usonian readers), with handling fee.
With Operation Chokepoint over, the DEA/FDA still have colluded to prevent the kratom industry from processing credit cards. For my website www.getkratom.com, we take checks, echecks, and cryptocurrency. Sales are about 1/3 of what they were when we were able to take credit cards.
Customers from Turkey, Pakistan and a few other places are not happy (PayPal banned in their territories), but for the most part, few complaints. Ancient key/value pair API continues to work, which is nice.
Hate their website, hate the lack of ways to get reports, particularly on subscriptions.
Could be done so much better (and likely is), but the micropayment account saves me thousands of dollars a year.
I’ve built payment integrations my entire 20 year career and have always appreciated how ease of use relates to cost, e.g. it’s hard to build tools as easy to use as stripe or Braintree, but I’ve wondered how these features play out when it’s so close to the actual money itself.
Paypal is significantly more expensive. Recurring subscriptions are really bad (the "vintage" UI is stuck circa 1999).
But what's really bad is that at some point, after 5 or 6 years of significant usage, someone calls us once at 4.30 PM, gets no answer, and flags us as "suspicious". At that point, we could not retrieve any money for the account, could not call anyone (you cannot contact the fraud team - we'll call you back), and it started a lengthy (like, a couple of months) process where we were asked a lot of previous information in order to unlock the account. I mean, I understand you may want/need more information, but you talk to us first and then, if you do not receive good answers, you lock the account. Our bank charges per year way less than PayPal and gives us an account who knows who we are, comes visit yearly, and whose mobile number I have.
So, even if we still use Paypal by popular demand, I'd rather not.
Funny thing is that I'm working on debugging an issue with the Stripe API right now (or the library I'm using)
Business is for digital goods.
Would like to support worldwide bank transfers if it can be safe and quick for both sender and receiver, anyone got any tips?
We wrote a blog post about how we built on top of Stripe's "subscriptions" API: https://www.daily.co/blog/implementing-api-billing-with-stri...
Love the developer friendly aspect, and their customer service is awesome.
Due to a misunderstanding[1], they believed our service violated their TOS. Stripe offered us a week to migrate AND suggested a competitor that allows those types of Txns.
Luckily, with a message to Customer Support (via Twitter) we resolved the misunderstanding and never had to migrate.
Also worth noting, the issue was addressed on a Saturday.
1: Stripe mistakenly thought we were doing online prescriptions.
Their service was great and was trivial to interact with. We were working only in the UK, and Direct Debit isn't available everywhere but GoCardless offers some equivalent in a lot of countries.
The customer service or tech support isn't as great as Stripe but they have a really intuitive model for marketplaces
We also vaulting the cards there.
There are third-party partners who extend on the platform. (I'm looking for a simple option for invoices-statements without trying to compete as Online Bookkeeping service.)
This is usually an ideal payment in .nl, and various other payment methods in other european countries.
SaaS - mostly Stripe credit cards, with a tiny percent in PayPal.
All done via serverless functions, for both initialisation and confirmation(via Stripe's webhooks).
public class PaymentRequest{}
public class PaymentResponse{}
Golang:
type PaymentRequest struct {}
type PaymentResponse struct {}
Kotlin:
data class PaymentRequest("")
data class PaymentResponse("")