News for hackers. Stuff that matters.
Re:Stripe refunds: fees from the original charge are not ret... by mchusma on Wednesday February 19, 2020 @07:50PM (#22371775)
Note: this is different than Braintree and Amazon payments, which either refund in full or simply charge only the $0.30 fee. Stripe is now at or near the most expensive here relative to the competition. The idea that they have been doing customers a favor is not accurate.

I have used stripe for years, but they are a company that has continued to make things worse with every update, versus AWS which has my trust they won't increase rates. If AWS ever offered a true competitor, we would switch.

They invest in publishing books, but they still miss basic features like a way to test credit cards in the production system for QA purposes. It's an easily solved problem (let you generate one time fake card numbers programmatically that stripe "pretends" to charge). I have been trying to test checkout flows with them for years and their official stance is "don't test production checkout flows", which is insane.

I hope stripe changes it's ways here, but they have been a large disappointment over the last 4 years or so after a solid start.

Re:Stripe refunds: fees from the original charge are not ret... by pc on Wednesday February 19, 2020 @08:27PM (#22371977)
(I'm one of Stripe's cofounders.)

Thanks for the candid feedback. A few quick thoughts --

- This is not a new policy change -- it's been our pricing for all new users since 2017. (The news is that we're now applying this pricing to Stripe's older users, in part as a response to some price increases that the card networks are making.)

- Our policy on refunds is pretty much the same as Braintree's.

- We've added a lot of new functionality to Stripe since we launched in 2011. (The Stripe that launched back then did not support any non-card payment methods, non-USD currencies, non-US users, etc.) The vast majority of new features come with no new fees -- the Stripe package just gets better. For improvements that don't represent discrete new features, the changes can be non-obvious. Our goal is to quietly optimize things so that Stripe integrations continually get better without your code having to change. For example, Radar is far more effective at preventing fraud and chargebacks than it's ever been. Or, last year, we built an ML engine to automatically optimize the bitfields of card network requests. This has already generated an incremental $1 billion of revenue for Stripe users (with no additional cost).

- Testing production flows with fake numbers is tricky. (How should these charges show up for reporting purposes? If we exclude them, that introduces another discrepancy. If we include them, that means you have to then handle the downstream cash discrepancy.) It's not an intrinsically unsolvable problem but we have not yet seen a clean solution that we feel good about. As other commenters point out, making sure they're sufficiently secure is also a challenge.

- While we're proud of our books, I can assure you that the ratio of people working on improving our payments stack to publishing is about 1000:1.

All that said, it's helpful to hear how it seems from your standpoint. We're acutely aware of how much Stripe has yet to do/build. We'll continue to work hard, and I hope we can support your business for many years to come.

Re:Stripe refunds: fees from the original charge are not ret... by burningion on Wednesday February 19, 2020 @08:50PM (#22372086)
A few months back, I was hit with an attack from a spammer, who managed to place a few hundred orders through my Stripe checkout. It seems they were attempting to place thousands of orders, and looking for functional credit card information.

When I reached out to support, they acknowledged that this was a type of attack, and I needed to manually go back and unapprove all of these purchases coming from a single IP address, that wasn't being stopped by Stripe.

Would I still need to pay to do all those fraudulent charge backs? If so, that single attack would have cost me hundreds of dollars out of pocket.

Re:Stripe refunds: fees from the original charge are not ret... by patio11 on Thursday February 20, 2020 @12:26AM (#22372910)
I'm sorry that happened to you. Could you email me at this handle at stripe.com? I want to look into why we didn’t auto-detect that surge in suspicious transactions.

We’re here to support startups. If you ever have a unique circumstance, write us; we’ll try to be reasonable, in the same fashion that your hosting provider will try to be reasonable if an engineer e.g. fumble fingers a deploy and briefly turns on a larger fleet of servers than they intended.

(It's worth noting, for precision's sake, that a refund is not a chargeback. Chargebacks are when the person who actually owns the credit card calls the bank to complain; they're strictly worse for all parties than simple refunds.)

Re:Stripe refunds: fees from the original charge are not ret... by abduhl on Thursday February 20, 2020 @01:07AM (#22373057)
While this is an interesting response, it strictly does not the answer the poster’s question. Would they be liable for the fees for an attack like this?
Re:Stripe refunds: fees from the original charge are not ret... by patio11 on Thursday February 20, 2020 @01:27AM (#22373116)
It's difficult for me to predict our response in every possible hypothetical circumstance, so I'm promising what I feel we can actually promise: a human who cares about your success will review the circumstances and make a judgment call.
Re:Stripe refunds: fees from the original charge are not ret... by joecool1029 on Thursday February 20, 2020 @01:52AM (#22373212)
Translation: Come to HN with your problems and you'll get the VIP treatment while there's a spotlight on the company.

Attempting to find an answer as an outsider lead me to this PR release from last year: https://stripe.com/newsroom/news/chargeback-protection < It makes me assume that if the merchant wasn't paying that extra fee they are going to be slammed.

Re:Stripe refunds: fees from the original charge are not ret... by NicoJuicy on Thursday February 20, 2020 @03:29AM (#22373595)
He's given an honest answer, the situation has to be checked.

You don't know that the poster is 100% honest also. Patio has always been transparent and honest, long before he joined Stripe ;)

Re:Stripe refunds: fees from the original charge are not ret... by commoner on Thursday February 20, 2020 @04:49AM (#22373897)
patio11 gave a nonanswer, which is hardly transparent.

> a human who cares about your success

Regarding honesty, if Stripe "cares about your success", Stripe would relinquish processing fees for all refunded transactions (regardless of whether they are fraudulent) just like Square and Amazon Pay do.

Re:Stripe refunds: fees from the original charge are not ret... by jasonkester on Thursday February 20, 2020 @07:11AM (#22374480)
For what it's worth, the success of my business doesn't hinge on whether Stripe gives me a dollar. I hope yours doesn't either.
Re:Stripe refunds: fees from the original charge are not ret... by commoner on Thursday February 20, 2020 @09:13AM (#22375153)
The fee is only $1 when the transaction amount is $24.14. The fee is $29.30 for a $1,000 transaction. For industries with lower margins or higher refund rates, Stripe's refusal to return the fee on refunded transactions is a problem. Regardless, Stripe's nickel-and-diming is not something to be grateful for in any industry when there are competitors that don't do the same.
Re:Stripe refunds: fees from the original charge are not ret... by jasonkester on Thursday February 20, 2020 @10:50AM (#22375878)
Feel free to substitue $29.30, or even $1,000 as values that should not sink one's software business.

Considering how often you're going to be issuing refunds (I tend to do maybe 2 or 3 in a big month), I'd be surprised if we hadn't each spent more in billable hours typing into this text box than we will in Stripe refund fees over the next four years.

Re:Stripe refunds: fees from the original charge are not ret... by ValentineC on Thursday February 20, 2020 @07:22PM (#22379906)
I organise tech conferences as part of a non-profit.

If I've already started selling tickets, and had to postpone the event because of something like COVID-19, I'd be looking at paying Stripe something like $3,500 in payment processing fees (it's 3.4%+$0.50 here; and assuming $100k in ticket revenue) for the privilege of refunding my attendees.

It's not an amount that would sink our non-profit, but the full fee is also not something that we should have to pay, just because we want to do right by our attendees.

Re:Stripe refunds: fees from the original charge are not ret... by NicoJuicy on Thursday February 20, 2020 @11:55PM (#22381031)
I'm pretty sure you don't have a big business.

Receiving a temporarily update on a situation that has to be checked, is better than no update.

Re:Stripe refunds: fees from the original charge are not ret... by fsloth on Thursday February 20, 2020 @06:35AM (#22374329)
That's the un-charitable interpretation. When dealing with complex problems with no clear cut analytical solution putting a real human in the loop who can make a judgement call instead of playing back a prewritten script is often the optimal solution.
Re:Stripe refunds: fees from the original charge are not ret... by crankylinuxuser on Thursday February 20, 2020 @06:53AM (#22374402)
> That's the un-charitable interpretation.

Well, the truth sucks sometimes, doesn't it?

Traditionally there's been 2 customer service lines: regular and VIP.

Now there's 3: regular, VIP, and social media apology tour. And it'd sure be nice if these companies had decent policies to begin with... But that's the problem, isn't it?

Re:Stripe refunds: fees from the original charge are not ret... by cwyers on Thursday February 20, 2020 @10:22PM (#22380696)
Decent policies that apply in all situations and are robust against being exploited by bad actors are very, very hard to come by sometimes.
Re:Stripe refunds: fees from the original charge are not ret... by crankylinuxuser on Thursday February 20, 2020 @11:18PM (#22380919)
I do get that. But many of these stories we hear have to do with consistent customers with a stable payment history and a good relationship. Something goes terribly wrong, helpdesk bombs it, and then what? Well, twitter, HN, reddit.

All I know is the current situation, well, stinks.

Re:Stripe refunds: fees from the original charge are not ret... by martin_a on Thursday February 20, 2020 @08:27AM (#22374896)
Sounds like Google. Either you know somebody deep in there or you are lost with your request. Your problem.
Re:Stripe refunds: fees from the original charge are not ret... by rfrey on Thursday February 20, 2020 @09:11AM (#22375144)
In the case of Google we have a supertanker full of anecdotes of them ignoring customers with problems. In the case of Stripe we have no evidence their customer service is non existent outside social media flareups. To the contrary,they seem to have a pretty good reputation.

So no, not like google at all. That somebody gets a response from a VP on hacker news is not evidence they will get no response outside hacker news.

Re:Stripe refunds: fees from the original charge are not ret... by martin_a on Thursday February 20, 2020 @11:02AM (#22375977)
You're right. Maybe I was too harsh.
Re:Stripe refunds: fees from the original charge are not ret... by commoner on Thursday February 20, 2020 @02:05AM (#22373261)
I don't think that press release is applicable, since no chargebacks are involved here. According to Stripe's documentation (see submitted link), the merchant must still pay the 2.9% + $0.30 processing fee for each refunded transaction, unless Stripe's customer service representatives waive the fees as an exception.

But there is an issue with this euphemism in the parent comment:

> a human who cares about your success

If Stripe "cares about your success", Stripe would return the processing fee on all refunded transactions (regardless of whether they are fraudulent) just like Square and Amazon Pay does.

Re:Stripe refunds: fees from the original charge are not ret... by mattferderer on Thursday February 20, 2020 @09:42AM (#22375369)
That happened to a non-profit I help as well.

We were attacked by someone using different IP addresses testing out credit cards. Stripe caught a lot of these but surprisingly it seemed several went through that we had to refund & pay the transaction fee for. A lot of these didn't even require the CVC check it seemed.

We were able to get fairly good support, 100 times better than most places I deal with.

Unfortunately we had to switch to Radar for Teams to put in fairly basic checks such as making sure CVC verification happens before accepting the card. This costs a bit extra per transaction.

At the end of the day we were able to get it solved. Stripe puts plenty of human resources on helping & they have fairly good documentation. It does really stink that we need to purchase Radar for Teams just to add a few basic rules in place to prevent scammers like this. We lost around $100 that could have went to helping families whose kids have cancer which always sucks. We also had to implement an "invisible" Google Captcha which I wasn't a fan of. This could have been a lot worse though which is what troubled me the most.

Re:Stripe refunds: fees from the original charge are not ret... by dkroy on Thursday February 20, 2020 @04:22AM (#22373808)
Just to be clear in this example a chargeback wouldn't have happened. A chargeback can only happen if there was a valid credit card that made a purchase that requested a reversal of the money transfer.
Re:Stripe refunds: fees from the original charge are not ret... by commoner on Wednesday February 19, 2020 @09:36PM (#22372247)
This trend is awful for businesses. In October 2019, PayPal (which owns Braintree) also started to retain their 2.9% + $0.30 processing fee from refunded transactions. Stripe is now in the same class as PayPal.

https://www.theverge.com/2019/9/20/20876570/paypal-refund-fe...

Square still refunds processing fees to merchants for refunded transactions. They have the same fee (2.9% + $0.30) for online transactions, and a lower fee (2.6% + $0.10) for in-person transactions with their card reader.

https://squareup.com/help/us/en/article/5060-refund-overview

https://squareup.com/us/en/pricing

Re:Stripe refunds: fees from the original charge are not ret... by belzebalex on Thursday February 20, 2020 @02:19AM (#22373317)
* Whistling * Crypto's coming!
Re:Stripe refunds: fees from the original charge are not ret... by threeseed on Thursday February 20, 2020 @02:38AM (#22373395)
Crypto is like Linux on the Desktop i.e. about as popular as it's always going to be.

And the reason is that most people simply don't hate the status quo.

Re:Stripe refunds: fees from the original charge are not ret... by LunaSea on Thursday February 20, 2020 @04:06AM (#22373752)
10min long transactions, yay!
Re:Stripe refunds: fees from the original charge are not ret... by lostmsu on Tuesday February 25, 2020 @11:55PM (#22420391)
Does not seem like a major problem for an online business (e.g. movie ticket sales, Amazon, App Store, etc).

There's also always an option to take the first confirmation (~24sec in Ethereum) as a sufficient proof for small transactions.

Re:Stripe refunds: fees from the original charge are not ret... by austinkhale on Wednesday February 19, 2020 @08:57PM (#22372122)
We recently made the decision as a SaaS company to switch from a subscription management platform I won't name to Stripe. The process has not been without a couple bumps along the way, but frankly working with Stripe is similar to that scene from Lord of the Rings: The Two Towers when Gandalf tells Theoden to "Breathe the free air again, my friend."

Please continue to do what you're doing in this space. Payments are such a complex beast and it's refreshing to work with a company that works so hard to abstract that complexity.

Re:Stripe refunds: fees from the original charge are not ret... by btmorex on Wednesday February 19, 2020 @10:31PM (#22372468)
My personal experience is that all subscription management platforms fall over when you're doing enterprise SaaS. At a certain level (because literally your most valuable customers insist), you have to deal with credit cards, ACH, wire transfers, and checks. On top of that: custom plans, all sorts of weird line items and discounts, prepays, etc. And then you usually want reporting in multiple different formats (e.g. for the accountants/IRS, for company leadership)... it gets messy really quickly and I haven't seen platform that can handle the mess. Probably a startup in there, but not one I'd like to build.
Re:Stripe refunds: fees from the original charge are not ret... by bradgessler on Wednesday February 19, 2020 @10:46PM (#22372526)
I’m curious if any other HNers know of solutions out there that solve these problems.
Re:Stripe refunds: fees from the original charge are not ret... by ativzzz on Wednesday February 19, 2020 @11:28PM (#22372676)
In house solutions. Once a company becomes large enough where paying a company like Stripe's fees becomes larger than hiring enough people to create and maintain an internal billing system, then you do it yourself.

This is something that companies that are near public company size do since the amount of work required to meet payment regulations alone, not to mention all of the infrastructure to support things like subscriptions is staggering.

This is why there aren't many solutions to this problem. It's a very difficult problem.

Re:Stripe refunds: fees from the original charge are not ret... by mercwear on Thursday February 20, 2020 @08:58AM (#22375075)
I have migrated 2 companies away from internal billing systems (one went to Stripe and the other went to Chargify). The amount of hacks that went into maintaining these internal systems was shocking. One company literally devised its own currency to deal with the complexity.

Managing and developing your own billing system is a almost always a bad idea, no matter how big your company is. There is a high likelihood that you will end up running a business within a business if you go that route.

Re:Stripe refunds: fees from the original charge are not ret... by ativzzz on Friday February 21, 2020 @10:29PM (#22389221)
Yea it depends on the technological competencies of the company. I have a friend who works at a company who implemented their own, and they seem to be doing fine, but you hit the nail on the head saying

> you will end up running a business within a business if you go that route.

Re:Stripe refunds: fees from the original charge are not ret... by pamonrails on Thursday February 20, 2020 @04:42AM (#22373874)
Take a look at open-source solutions, specifically Kill Bill [1] (disclaimer, I'm a core contributor)

It provides a subscription management platform with all the features you would expect out of the box (recurring billing, plans management, dunning, notifications, etc.), but with also a plugin framework where you can implement your own billing logic.

You can continue to use processors like Stripe to handle the recurring charges (and compliance associated with storing cards), but they are only used to charge the payment methods. The mess that OP mentions stays in-house, where you have tighter control over it.

[1] https://killbill.io/

Re:Stripe refunds: fees from the original charge are not ret... by adrr on Wednesday February 19, 2020 @11:29PM (#22372678)
Zuora can do complex billing. You still need to provide a processor though.
Re:Stripe refunds: fees from the original charge are not ret... by zip1234 on Thursday February 20, 2020 @09:28AM (#22375265)
Stripe just started accepting checks. It was very much missing given the 'creative' ways that enterprise customers like to pay.
Re:Stripe refunds: fees from the original charge are not ret... by pc on Wednesday February 19, 2020 @09:00PM (#22372135)
Thank you! A lot still to do.
Re:Stripe refunds: fees from the original charge are not ret... by rladd on Thursday February 20, 2020 @01:14AM (#22373080)
I was hit by this charge too, when doing some test purchases.

Support said "use test mode for that", but test mode is NOT adequate to fully test a live production system. The keys are different, the card numbers are different... it should work the same but may not.

With this policy change, there's no way to test a live production system without paying Stripe all the money it would have gotten if the charge were real.

And that's just a minor case. What happens if a huge fraudulent charge is made and we undo it before shipping product? We potentially get hit with huge fees, for no particular reason: Stripe doesn't have to pay those fees to the processor if there's a refund (Stripe cofounder, please correct me if I'm wrong).

That being the case, this is pure gouging and nothing else.

And gouging because others gouge is not a good reason or excuse. Be better, don't stoop to their level.

Re:Stripe refunds: fees from the original charge are not ret... by ValentineC on Wednesday February 19, 2020 @08:33PM (#22371997)
> Our policy on refunds is pretty much the same as Braintree's.

I'm seeing something different on (my local) Braintree site [1][2]:

> All processing fees, except the per transaction fee, are returned for full refunds. For partial refunds, all processing fees are returned at a prorated amount, but the transaction fee is not returned.

[1] https://www.braintreepayments.com/sg/braintree-pricing

[2] Looks like the US one has the same policy as Stripe: https://www.braintreepayments.com/braintree-pricing?locale=u...

Re:Stripe refunds: fees from the original charge are not ret... by pc on Wednesday February 19, 2020 @08:43PM (#22372051)
Yes, per [2], our US refund policies are roughly the same.
Re:Stripe refunds: fees from the original charge are not ret... by jfim on Wednesday February 19, 2020 @08:50PM (#22372085)
> we built an ML engine to automatically optimize the bitfields of card network requests

For someone who's not in the payment industry, could you elaborate on what this actually means?

Re:Stripe refunds: fees from the original charge are not ret... by adrr on Wednesday February 19, 2020 @11:12PM (#22372618)
There’s a few fields you can set meta data around the transaction. Eg: it’s a recurring charge

Every processor optimizes this though.

Re:Stripe refunds: fees from the original charge are not ret... by dhimes on Thursday February 20, 2020 @01:17PM (#22377191)
I wonder how it added $1B of revenue to Stripe's customers.
Re:Stripe refunds: fees from the original charge are not ret... by mstachowiak on Wednesday February 19, 2020 @11:15PM (#22372631)
Thanks for replying on this thread, PC. I'm curious to get your take on how this plays out for customers with large average transaction values ($500+)?

Stripe's cost to process and refund a payment, while not zero, is generally flat (card networks refund interchange fees, Stripe only has to cover the minimal cost of running the software to process the transaction, which is the same for all transaction sizes). Shouldn't the retained fees be flat and not a percentage?

Re:Stripe refunds: fees from the original charge are not ret... by ThePhysicist on Thursday February 20, 2020 @03:15AM (#22373538)
Slightly amusing story about “testing” payment flows in production: In Germany we have payment providers like Sofortüberweisung that ask you for your online banking credentials and then access your online banking via browser orchestration to initiate a transfer (I know it’s an utterly horrible idea from a privacy and security point of view).

What they didn’t know initially was that some banks provide test accounts to customers where you can simulate transfers without transferring any money, and where you can simply enter your desired bank account balance (now that would be a killer feature for real online banking). Some people figured this out and used those fake accounts to make fraudulent orders.

So if you offer such testing card numbers you should make sure your customers need a specific workflow to handle them (e.g. by returning a special error response code that can be distinguished from a normal error).

Re:Stripe refunds: fees from the original charge are not ret... by whatsmyusername on Thursday February 20, 2020 @07:58AM (#22374733)
Plaid works the same way. The tech is hilariously terrible and the best option currently.
Re:Stripe refunds: fees from the original charge are not ret... by _jal on Wednesday February 19, 2020 @08:46PM (#22372070)
> Testing production flows with fake numbers is tricky

And yet Authorize.net and many others manage it without drama. I know of one account you did not land because of this.

Re:Stripe refunds: fees from the original charge are not ret... by adrr on Wednesday February 19, 2020 @10:04PM (#22372356)
The question you can answer about this change: Does stripe get interchangeable refunded from the card networks/banks on a refunded transaction?

Also any of the big processors you can negotiate the refund of interchange just like you can negotiate interchange plus pricing instead of blended which I assume stripe even offers to big merchants like Shopify. I do wonder if Shopify drops stripe since the change has pissed off all their $100mm+ merchants and they may lose a few. There isn’t a long term contract in place just a 6 month notice to quit.

Re:Stripe refunds: fees from the original charge are not ret... by slivanes on Wednesday February 19, 2020 @10:16PM (#22372401)
Does this keeping of fee also apply to voided non-captured payments?

When PayPal pulled this change (yes, imo this is a scummy thing to do to merchants), I changed my PayPal flow only to authorize prior to doing the charge so that this refund fee could be avoided.

Re:Stripe refunds: fees from the original charge are not ret... by tomc1985 on Wednesday February 19, 2020 @09:09PM (#22372161)
> we built an ML engine to automatically optimize the bitfields of card network requests.

Uh, what?

Re:Stripe refunds: fees from the original charge are not ret... by pc on Wednesday February 19, 2020 @09:11PM (#22372166)
Card network requests are comprised of fairly complex ISO 8583 messages. (https://en.wikipedia.org/wiki/ISO_8583.) We now have enough data across Stripe to implement an ML engine to optimize these requests on a per-issuing bank basis. As mentioned in original comment, this helps collect a lot more "free" revenue for our users.
Re:Stripe refunds: fees from the original charge are not ret... by dmlittle on Wednesday February 19, 2020 @09:18PM (#22372188)
For the curious here's the link without the period at the end for convenience https://en.wikipedia.org/wiki/ISO_8583
Re:Stripe refunds: fees from the original charge are not ret... by BrandonMarc on Wednesday February 19, 2020 @10:16PM (#22372400)
What is meant by "free" revenue? I'm wondering how the one leads to the other.

Does this mean, lower processing fee/less need to increase processing fees?

Re:Stripe refunds: fees from the original charge are not ret... by patio11 on Wednesday February 19, 2020 @10:49PM (#22372535)
Businesses invest in product development and marketing to bring a customer to them. The customer is convinced of the value of the thing they want to buy and puts in their credit card number. Sometimes it doesn't work, for example because a poorly understood interaction of systems at their bank decides the charge is likely fraudulent. (Ask me about how a particular US bank has caught 17 of the last 0 times a fraudster in Japan used my credit card to purchase software.)

Some percentage of these customers retry, perhaps with another card, and eventually succeed in buying the thing they want to buy. Some don't, and the business loses the revenue that a customer was already happy to give them.

Improving authorization rates (the industry jargon for that) recovers that revenue, for ~free (your product/advertising/etc spend to attract the customer is the same whether they successfully complete the purchase or not).

Re:Stripe refunds: fees from the original charge are not ret... by agopaul on Thursday February 20, 2020 @09:15AM (#22375161)
Appreciate the explanation. We actually noticed a huge improvement since last summer with charges made with Stripe. Still, we lost a few thousands €€ in these years because of customers' banks rejecting our transactions. I hope that one day this problem will be gone.
Re:Stripe refunds: fees from the original charge are not ret... by patio11 on Thursday February 20, 2020 @12:01PM (#22376484)
We share that desire, and are iterating on this a thousandth of a basis point at a time, because at the scale of the internet it really matters. (Anyone want to work on this? Super fun stuff. https://stripe.com/jobs/listing/backend-api-engineer-acquiri... You get to e.g. build systems which blackbox reverse engineer the behavior of financial institutions worldwide, in some cases getting to explain the behavior of their systems to them directly because the people who built them retired years ago.)
Re:Stripe refunds: fees from the original charge are not ret... by jccooper on Wednesday February 19, 2020 @10:44PM (#22372515)
It means fewer rejected transactions.
Re:Stripe refunds: fees from the original charge are not ret... by phonon on Wednesday February 19, 2020 @09:14PM (#22372177)
Re:Stripe refunds: fees from the original charge are not ret... by tomcam on Wednesday February 19, 2020 @10:03PM (#22372352)
If you were a customer of Stripe, would you feel you were being treated well by this policy after you'd already been dealt a refund?
Re:Stripe refunds: fees from the original charge are not ret... by sovande on Thursday February 20, 2020 @12:18AM (#22372877)
No, this is infuriating, but we must not forget that they “built an ML engine to automatically optimize bla bla bla.” But really, pretense should be off. Stripe is nothing more than a PayPal clone. Even the refund policy is now perfectly cloned. Someone here said that the only way our discontent can be heard is for us to switch between platforms regularly. Right now, PayPal does not look so bad. Their API and documentation has also become pretty good. Of course, the better thing would be to just get a merchant account and drop all these middleman leeches. Apropos, don’t get me started on the AppStore were we only pay 30% for the privilege
Re:Stripe refunds: fees from the original charge are not ret... by thowfaraway on Thursday February 20, 2020 @01:38AM (#22373152)
PayPal does not look so bad. Their API and documentation has also become pretty good.

Documentation has gone form terrible to bad. API has gone from always terrible to appearing OK but will periodically destroy your happiness and productivity for a week. I would never voluntarily work with PayPal tech.

Re:Stripe refunds: fees from the original charge are not ret... by sovande on Thursday February 20, 2020 @10:29AM (#22375706)
> I would never voluntarily work with PayPal tech.

Really, for your company's sake I hope what matters is not what you like, but that your company has a payment solution that does not stop working when Stripe freezes your account. Yeah, Stripe is not an iota better than PayPal when it comes to freezing accounts. The only sane thing to do is to have a backend system that at minimum can use both PayPal and Stripe. With such a system it should be easy to change between PayPal and Stripe and I suggest that we all shutdown the Stripe part to show our discontent.

Re:Stripe refunds: fees from the original charge are not ret... by interpipes on Friday February 28, 2020 @10:08AM (#22443239)
So in truth, what I'm hearing is

"You should have noticed in 2017 when we started this process to begin with" (would that have helped, complaining at the time?)

"We're confident we're not at a competitive disadvantage by doing this"

"We developed our product " (to remain competitive) " and had to add a bunch of stuff that people expect card processing services to do " (more than one currency) " and some stuff many customers won't care about being delivered by a card processing service " (things other than cards) " and rather than charge the appropriate fees to the appropriate customers at point of use we are instead funding this progress by penalising customers who are already in the loss-making situation of having to make a refund"

Re:Stripe refunds: fees from the original charge are not ret... by floatingatoll on Wednesday February 19, 2020 @10:19PM (#22372417)
Is there a Stripe permalink (blog, tweet, etc.) from back in 2017 that describes this change back when it was announced? And/or for this year’s change, that drops the exclusion?
Re:Stripe refunds: fees from the original charge are not ret... by inferiorhuman on Wednesday February 19, 2020 @09:32PM (#22372235)
This is not a new policy change -- it's been our pricing for all new users since 2017. (The news is that we're now applying this pricing to Stripe's older users, in part as a response to some price increases that the card networks are making.)

A phrase that comes to mind is: two wrongs don't make a right.

Re:Stripe refunds: fees from the original charge are not ret... by hellotomyrars on Wednesday February 19, 2020 @10:18PM (#22372413)
Reminds me when my Charter/Spectrum told me that even though I cancelled my service 2 days into the billing period, that I paid for a fixed term of service per billing period and they would not give me a prorated refund.

Escalating up the chain I got to the supervisor who told me that it was always their policy but they were just now enforcing it.

Oh okay. Sure. That makes it all okay. /s

Re:Stripe refunds: fees from the original charge are not ret... by totalZero on Wednesday February 19, 2020 @08:33PM (#22372000)
If I may make a sincere criticism, as a person who knows nothing about either side of this conversation....

We should all delete "I'm sorry you feel that way" from our mental phrasebooks. It is a phrase that always falls flat, comes across as potentially sarcastic, and is the textbook definition of a non-apology apology.

If you want to clarify something, go for it. If you don't want to apologize, don't feel obligated to do so. But please, for your own benefit, steer clear of this no-good phrase.

Re:Stripe refunds: fees from the original charge are not ret... by echelon on Wednesday February 19, 2020 @08:35PM (#22372015)
To be fair, this is the CEO personally reaching out. I think that's beyond awesome.
Re:Stripe refunds: fees from the original charge are not ret... by jader201 on Wednesday February 19, 2020 @09:53PM (#22372316)
While it’s nice to hear more context in response to the OP’s criticisms, I’m not sure I would consider a response mostly defending the criticisms “beyond awesome”.

Most tech startups know the influence HN has, and to respond to a top post with a mostly defensive stance (vs. the OP points actually having an impact on the decisions being made) is a smart move on the part of the CEO (I would probably do the same thing).

Just saying I wouldn’t have used the words “beyond awesome”.

Re:Stripe refunds: fees from the original charge are not ret... by dontdoitpls on Wednesday February 19, 2020 @10:12PM (#22372384)
Yeah this is damage control.

I recommended stripe to a friend because a hn (ad?) That mentioned the documentation was great. He struggled and I couldn't help him without a deep dive.

To be fair, my WordPress website has no problem with stripe.

Re:Stripe refunds: fees from the original charge are not ret... by NicoJuicy on Wednesday February 19, 2020 @10:32PM (#22372469)
Damage control? The person is giving facts back.

That is the exact idea why they receive a notification when you mention Stripe ;).

Ps. I didn't have any problems with Stripe also, documentation was top notch

Re:Stripe refunds: fees from the original charge are not ret... by iratewizard on Wednesday February 19, 2020 @10:39PM (#22372498)
I've got to disagree on the stripe documentation. They set the bar for exemplary documentation.
Re:Stripe refunds: fees from the original charge are not ret... by NicoJuicy on Wednesday February 19, 2020 @10:49PM (#22372536)
> That mentioned the documentation was great

;)

Re:Stripe refunds: fees from the original charge are not ret... by iratewizard on Tuesday February 25, 2020 @02:17PM (#22416283)
Whoops, I completely misunderstood your post.
Re:Stripe refunds: fees from the original charge are not ret... by pc on Wednesday February 19, 2020 @08:34PM (#22372008)
You're right! (Though I am.) I edited the comment.
Re:Stripe refunds: fees from the original charge are not ret... by StavrosK on Wednesday February 19, 2020 @08:54PM (#22372104)
Agreed, that phrase strikes me as without intrinsic meaning (though I can't say I ever grasped the meaning of "sorry" in the non-apology sense). It always seems to me like the person wants to say something that appears comforting without actually meaning anything, and seems disingenuous.
Re:Stripe refunds: fees from the original charge are not ret... by EpicEng on Wednesday February 19, 2020 @09:20PM (#22372197)
>It always seems to me like the person wants to say something that appears comforting without actually meaning anything, and seems disingenuous. reply

And most importantly, without admitting fault.

Re:Stripe refunds: fees from the original charge are not ret... by crusader76 on Wednesday February 19, 2020 @10:31PM (#22372464)
I think it’s an Irish thing, we’re always apologising for something! :)
Re:Stripe refunds: fees from the original charge are not ret... by temptemptemp111 on Thursday February 20, 2020 @05:06AM (#22373967)
What would you recommend for a Stripe-backed SMB who has to turn away dozens of users per month because they only have some kind of "bank card" (which is normal in many European countries now). This business doesn't currently have the budget to implement support for all of these card types (Stripe UK does have support for most of them, it seems).
Re:Stripe refunds: fees from the original charge are not ret... by ancorevard on Wednesday February 19, 2020 @09:40PM (#22372264)
Love your work!
Re:Stripe refunds: fees from the original charge are not ret... by kkarpkkarp on Thursday February 20, 2020 @03:14AM (#22373536)
> I can assure you that the ratio of people working on improving our payments stack to publishing is about 1000:1.

@pc, I just checked that Stripe has about 1800 employees. Could I ask why so many? :) I wouldn't expect such a big number for the company providing one (?) product/service.

Re:Stripe refunds: fees from the original charge are not ret... by joering2 on Wednesday February 19, 2020 @08:50PM (#22372088)
Yeah extremely hard to come by with solution right?

Visa test / approve / record account:

48 XXXX 01

Visa test / approve / donot record:

48 XXXX 02

Visa test / donot approve / record account

48 XXXX 03

Visa test / donot approve / donot record

48 XXXX 04

Hard to let it to client to decide how to test...

Re:Stripe refunds: fees from the original charge are not ret... by verletx64 on Thursday February 20, 2020 @03:00AM (#22373492)
But then does the developer now need to track this list of production test cards and make sure the application doesn’t enact some other logic based on the test purchase?

I mean really, you can get 99.9% of the way there with the test cards in the sandbox, and then give the thing a smoke test in production when you’re ready.

Re:Stripe refunds: fees from the original charge are not ret... by polemic on Wednesday February 19, 2020 @08:07PM (#22371860)
> ..don't test production checkout flows..

That's good advice.

Payment providers have test gateways and cards for you to test your code against. While it might be a minor convenience for you to have 'fake' cards in their production system, the only thing they have to gain is a potentially serious fraud loophole (at best), or an expensive footgun for you.

Don't "test" checkout flows in production unless you're using real credit cards :D

Re:Stripe refunds: fees from the original charge are not ret... by octocode on Wednesday February 19, 2020 @08:14PM (#22371901)
I used to run a company card for testing Stripe on prod, and then just processed a refund afterward. It was mildly inconvenient, and eventually I just stopped because there was never actually a difference between their staging and prod behaviour.
Re:Stripe refunds: fees from the original charge are not ret... by Silhouette on Wednesday February 19, 2020 @10:04PM (#22372355)
Payment providers have test gateways and cards for you to test your code against.

And yet in 2020, you still can't write an automated test suite that spins up a virgin test environment, simulates all relevant scenarios, and allows you to quickly verify that your integration is responding properly as part of your normal CI process.

Working with a single, persistent test environment that offers no facilities to manage events like simulated user actions, API requests and webhooks feels like programming in another, much less productive era. Sadly, this still seems to be the norm for online payment services.

It's particularly ironic that online payment services are among the worst offenders for making API changes that require significant changes to integrations or even a whole new integration, and that by their nature they are also at high risk of Very Bad Things happening if an integration breaks. This is exactly the sort of situation where you really want a tight feedback loop and ongoing automated integration testing! Stripe used to be a welcome exception, but even they have dropped the ball badly in recent times.

Re:Stripe refunds: fees from the original charge are not ret... by polemic on Wednesday February 19, 2020 @10:19PM (#22372421)
I don't quite understand this comment. In my experience, payment processors (and related services) are somewhat unique in providing test gateways & APIs. Unlike other API services you can write integration tests against their test gateways. What are part of our industries is that normal? Most API-first services don't provide test endpoints at all.
Re:Stripe refunds: fees from the original charge are not ret... by Silhouette on Thursday February 20, 2020 @01:57PM (#22377573)
In my experience, payment processors (and related services) are somewhat unique in providing test gateways & APIs.

They are also somewhat unique in that they handle real money. You don't need a simulated API if you're sending an email or SMS message to a designated recipient or downloading the local weather forecast or traffic news, because there are no significant and irreversible consequences to these actions anyway.

Re:Stripe refunds: fees from the original charge are not ret... by verletx64 on Thursday February 20, 2020 @03:04AM (#22373508)
You can’t create an entirely new sandbox, no, but you can, quite easily test most scenarios. Including weird stuff like falling into delinquency - it takes a little bit more thought, but it’s fine.
Re:Stripe refunds: fees from the original charge are not ret... by rblatz on Wednesday February 19, 2020 @08:09PM (#22371874)
Agreed, test environments exist for a reason, if you don’t trust your test environment to accurately replicate prod then you need to clean that up.
Re:Stripe refunds: fees from the original charge are not ret... by edwinwee on Wednesday February 19, 2020 @08:13PM (#22371897)
Yes, testing in production can be dangerous and Stripe purposefully designed as many testing scenarios we could think of to avoid that (https://stripe.com/docs/testing).
Re:Stripe refunds: fees from the original charge are not ret... by rblatz on Wednesday February 19, 2020 @10:26PM (#22372445)
Yep, I oversaw the implementation of the stripe connect api into our product. You guys have been great to work with.
Re:Stripe refunds: fees from the original charge are not ret... by seanwilson on Thursday February 20, 2020 @05:18AM (#22374016)
Do you mean this in general or for Stripe? For the former, you have to run some tests on production after initial setup and major changes surely? API keys could be wrong for a start and a lot of web services don't give you a programmatic way to sync settings between environments.
Re:Stripe refunds: fees from the original charge are not ret... by OJFord on Thursday February 20, 2020 @07:22AM (#22374537)
If you want to do some sanity checking in prod to rule out any issue with the test environment setup... Why would you want to set up a special fake test card in prod?

Either don't do it, or have everything about it real. e.g. a canary purchase test & then a refund flow test. Yes there's a fee, but there's a fee when you do it for real. Hopefully you have many more real transactions.

Re:Stripe refunds: fees from the original charge are not ret... by derrick_jensen on Wednesday February 19, 2020 @11:41PM (#22372722)
One feature I would like to see is the option to create multiple test environments. I have one dedicated for the CICD, and ideally each person testing locally would have their own API key they can use however they wish.
Re:Stripe refunds: fees from the original charge are not ret... by curious_1 on Wednesday February 19, 2020 @08:23PM (#22371954)
Not my experience.

Working with Stripe hasn't been error free. I've had one or two nasty bugs. But the product is fluid, works, and most importantly, they have great customer support. I wouldn't mind paying a little extra for it.

I'm a relatively small fish, but they replied within hours and fixed the issue. On a Saturday. As long this "Saturday test" remains true, I'm a happy user.

Re:Stripe refunds: fees from the original charge are not ret... by derrick_jensen on Wednesday February 19, 2020 @08:27PM (#22371975)
Honestly, I don't find their support helpful with fixing any of my issues, and asking the same question multiple times gives completely different responses. I managed to completely break the Stripe Test API (nothing works, always "in the process of deleting"), and I've been in support limbo for at least a week now.

Haven't looked into the alternatives, but I hope I can move most commerce over to Bitcoin since I can run that fairly cheap internally to the company (and bypass PCI compliance, etc)

EDIT: Maybe I was being overly critical in the first half, but in general implementation has been a bumpy experience. Most transactions on this platform are microtransactions, so it isn't that Stripe is expensive as much as I'm using it in an unconventional way, and not having a $0.30 static fee drastically changes my profit margins

Re:Stripe refunds: fees from the original charge are not ret... by edwinwee on Wednesday February 19, 2020 @08:29PM (#22371983)
Hrm, not good. Could you add me to that email chain and I can help? ([email protected])
Re:Stripe refunds: fees from the original charge are not ret... by derrick_jensen on Wednesday February 19, 2020 @10:16PM (#22372399)
Nah, I don't want to be that guy. In the meantime I've just locally stubbed all Stripe API calls, since internal integration tests are all I need for non-production uses. I've also reached the point where regular production deployments make sense (or at least the payments logic is stable enough).
Re:Stripe refunds: fees from the original charge are not ret... by wonderwonder on Wednesday February 19, 2020 @08:33PM (#22371995)
I've always had pretty good luck on their freenode channel
Re:Stripe refunds: fees from the original charge are not ret... by exhilaration on Wednesday February 19, 2020 @08:19PM (#22371928)
We use Adyen (we deal with international customers) and they've got the same rule - no test cards in production. I've never heard of a payment provider allowing test cards in prod.
Re:Stripe refunds: fees from the original charge are not ret... by wonderwonder on Wednesday February 19, 2020 @08:34PM (#22372001)
I integrated with Adyen and found Stripe far easier to use. The international aspect forced me to use Adyen though. What was your experience like with them?
Re:Stripe refunds: fees from the original charge are not ret... by exhilaration on Wednesday February 19, 2020 @11:05PM (#22372602)
I've only done one integration with Stripe and it was such a nice experience that I recommended it to everyone. But nobody can beat Adyen's international support so it really depends on who your customers are.
Re:Stripe refunds: fees from the original charge are not ret... by lucaswb on Friday February 21, 2020 @01:36PM (#22385526)
I work for Adyen and would love to talk over any feedback and suggestions you have to make the integration easier. My email is [email protected]
Re:Stripe refunds: fees from the original charge are not ret... by manigandham on Wednesday February 19, 2020 @08:32PM (#22371994)
Why not use a small charge against a real card? A few $1 charges work fine and are cheap enough to ignore.
Re:Stripe refunds: fees from the original charge are not ret... by billyhoffman on Wednesday February 19, 2020 @09:05PM (#22372149)
Until someone in QA who keeps running that test flow manually says “Wait a minute, my time is valuable!” and scripts the checkout flow in Selenium...
Re:Stripe refunds: fees from the original charge are not ret... by manigandham on Wednesday February 19, 2020 @10:45PM (#22372520)
That's what the dev/staging environments are for. Even if you run it 3x/day in production, it's less than $100/month. Use a company card and you get the money back too.

I don't see enough of a problem that requires all the technical debt to support fake numbers in production.

Re:Stripe refunds: fees from the original charge are not ret... by notwedtm on Wednesday February 19, 2020 @10:48PM (#22372531)
This is the difference between unit and integration tests.
Re:Stripe refunds: fees from the original charge are not ret... by OJFord on Thursday February 20, 2020 @07:25AM (#22374546)
Manual vs selenium? No it isn't...
Re:Stripe refunds: fees from the original charge are not ret... by sk5t on Wednesday February 19, 2020 @10:52PM (#22372544)
I've always had a concern about getting a real card flagged for fraud / card-status-probing and thus locked.
Re:Stripe refunds: fees from the original charge are not ret... by manigandham on Wednesday February 19, 2020 @10:54PM (#22372550)
I've never had it happen and it shouldn't be a problem for occasional spot checks. Make sure everything in dev/staging environments is working first before doing a production run.
Re:Stripe refunds: fees from the original charge are not ret... by on_and_off on Wednesday February 19, 2020 @11:26PM (#22372666)
>I hope stripe changes it's ways here, but they have been a large disappointment over the last 4 years or so after a solid start.

Sadly the same experience here.

Getting them to fix the many many basic issues of their client libraries is hell, testing is no better and library updates often break your testing scenarios.

Re:Stripe refunds: fees from the original charge are not ret... by nkohari on Thursday February 20, 2020 @09:21AM (#22375213)
I work on developer experience at Stripe. If you'd like to email me at my HN handle @stripe.com, I'd love to hear more about the trouble you've run into.
Re:Stripe refunds: fees from the original charge are not ret... by lucasverra on Thursday February 20, 2020 @02:51AM (#22373448)
a real alternative (from EU) https://www.mollie.com/en/payments

They are big and cool like stripe.

PS: not related to them, just met them at vivatech paris

Re:Stripe refunds: fees from the original charge are not ret... by ykevinator on Thursday February 20, 2020 @07:21AM (#22374532)
We've been using stripe for years, this may be enough for us to switch. Is Amazon's service reliable, easy etc?
Re:Stripe refunds: fees from the original charge are not ret... by knudt on Thursday February 20, 2020 @02:36PM (#22377851)
Wondering the same. This is the first I am hearing about Amazon having a payment service too.