@valkenburgh by "maintain", I initially thought they meant, e.g., "store in ππππππππππππ for later access." or something.
an idea this bad, and worded so badly, didn't even occur to me.
@valkenburgh it took me a while to grasp that by "UI maintain", they actually meant exfiltrate / export the user's secret key in the clear, away from the user's machine, into somewhere centralized.
(after all, the UI is fundamentally code that runs ππ°π€π’πππΊ in the user's browser.)
@plain_simon@TaliaRinger completely agreed. i do this routinely, and have no regrets.
what else are we supposed to do? calling it "Reference [13]" is extremely lame and pedantic IMO.
@uwwgo we use one at @firnprotocol, for obvious privacy reasons. source code: https://t.co/72M6Zmv8ZN
our is also publicly exposed (so that Firn users can hit it); but is not general-purpose.
@TonyTheLion2500 you're totally correct, and in fact people use this to dismiss mathematicians when they [the mathematicians] are not able to magically get them [the audience] to understand something extremely complicated.
@michae1becker seriously, this guy (i.e., @henryheffernan) is the most hirable person i've seen. would hire him to work on @firnprotocol if i had the $
Final update for this story (I hope).
If you are selling something online (not only with Stripe), read the tweet π
After 8 days, all payments had been refunded. It took too long, but Stripe assured me that it was unusual and will make sure it doesn't happen again.
After 11 days, Stripe calculated all the fees (payment fees, dispute fees, currency conversion between payment and refund) and reimbursed me the FULL AMOUNT! π
Everything is back to normal, thank you @stripe
Still, there are a few lessons I've learned and I though I should share those.
1. First, "card testing" is a thing. I discovered that the hard way. Quick summary, it's when people test stolen cards through VPN to test if they work and from what country they will most likely work.
In my case, they attempted to purchase for 8.000.000 USD worth in a matter of a few hours, Stripe blocked most of it but 170.000 USD went through.
2. When you create your business and the purchase tunnel, try to figure out if someone with bad intentions can easily use your website to test cards. If so, make it harder. I'm not going to explain in public the various security features I've setup, but if you need, contact me in private.
Still, I can tell you one, CAPTCHA. And the CAPTCHA could show up only when there is an unusual amount of payments.
3. If you get card tested, call the payment solution immediately and while you're on hold, try to block the payments, even if it means putting the whole website offline for a few hours.
Stripe support answers really fast. It's a matter of minutes before you have someone on the phone.
4. Deactivate the payouts. If the money is wired to your bank account, you won't be able to refund the payments and it's going to get worse.
5. Refund all the payments immediately. If you feel like doing a script, go ahead, but be careful, you are probably not in a state where you can write good code and you might end up making mistakes. I remember needing to be pro-active but totally crushed at the same time. Just go through them manually, even if it takes hours.
If you do it fast enough, card owners might not even perceive the payment.
If you take too long, it might end up in disputes that will result in more fees.
6. Always keep an eye on your sales. It happened to me on Sunday evening around 9PM and I saw it around 10:30PM. Fortunately, I check multiple times a day, even the weekend, but how many businesses do that?
7. In the case of Stripe, you can't rely on Radar. Radar is a feature that analyse the payments and help you prevent fraudulent payments. Sounds great, but there is a cost for each payment intent. I'm talking about "intent", not actual completed payment. Meaning that if you receive thousands and thousands of payment intents, you are going to be ruined.
Yet, there is a 30 days free trial that I immediately activated. It's a good temporary solution, but make sure to deactivate it after before the end of the trial.
Final word about Stripe.
Although, I find the Radar feature a bit shady, I'm still very happy with Stripe. It's so easy to implement, the interface and the documentation are so clear, they keep on improving the service, it works in most countries around the globe.
The problem I had could have happened with other solutions, and maybe it wouldn't have gone this well in the end.
Glad it's sorted out.
Thank you for all the comments and support I received. Always happy to see there are good people ready to help.
no company has declined more pathetically than @coinbase.
first, they threaten to lock me out unless I upload documents. nextβguess itβtheir upload process has a bug and fails.
in the console, there are CORS errors w/ the 3rd party id verification service. just shameful.