They're one of those good practices that look like bad practice to everyone who just got a CS degree. Seems ex-students are unsettled by asymmetry or want to minimize the number of return statements.
These things are so divorced from the reality of programming, even when they involve actual code instead of fancy lingo. Like in Scala, not a pure functional language, tutorials used to find the most convoluted higher-order functional way to do simple things.
The biggest thing is disputes. I have no problem with an escrow service asking for a cut if I want to use them, cause they have real costs. The creepy thing is how that escrow built into credit cards is forced on every little transaction.
> The creepy thing is how that escrow built into credit cards is forced on every little transaction.
That's essentially what a CC company does though, every transaction they're briding the timing gap between the card holder paying the CC company and the CC company paying the business. That's the core value add and cost they're bearing that they charge for.
They have risks from both sides of the transaction; on the one hand scam merchants who might get chargebacks and on the other customers who never pay off their balances (thought I guess that risk is covered by their interest charges mostly).
> If the dispute is valid, the acquirer deducts the amount of the dispute from the merchant account and informs the merchant.
Also, keep in mind that companies like Stripe will not only recover the disputed amount from the merchant but will also recover a fee from the merchant!
I mainly meant the processor has to spend money handling the disputes. They may eat the cost too if it's small, but usually that's on the merchant. They're more likely to eat the cost of fraud.
I actually think this is an example of where government should be more involved - like often times if I file a chargeback, there's a solid likelihood that there should a real world repercussion to the other party because it's probably related to fraudulent or abusive behavior.
Customers do have a reputation to uphold. Real-time customer reputation and risk scoring services are a profitable and growing industry. They maintain extremely detailed records of customer interactions with businesses and assign scores to individuals.
Returning a defective product to one store, only buying things when you have coupons or promo codes, or issuing a chargeback at one business can get you instantly flagged as a higher risk at countless unrelated stores who are using the same services. Other factors that can impact your score include your income level, your home address, the devices/software you use, your interactions with websites (for example going directly to the product you want instead of searching and browsing around, or pasting your information vs typing it out is considered suspicious), how much money you spend, inconsistencies in the personal information you've given to different businesses, even your attitude when dealing with employees and how much of their time you take up can negatively impact how you're scored since that lowers your expected profitability (CLV/LCV/LTV) which lowers the tolerance threshold for risk.
At least Yelp is public and companies can see how they are rated. Businesses typically won't tell you that you've been branded a high risk for fraud or chargebacks. Instead they'll just apply different prices and polices to you on an individual basis. They might tell you that don't accept certain payment methods. They might tell you they don't accept returns, will only give store credit, or give very narrow return windows. They may reject your business entirely or limit you to only a subset of the products or services they offer.
I tried to pay a 3 figure sum of money for a service that was provided to me, and Zelle through my bank app refused to do the transaction. When I called my bank to understand what was going on, the person read me a script that said they can refuse any transaction, and don't have to tell me why.
The app even has a warning that Zelle is basically cash, and you really shouldn't expect any reversal.
Sounds about right. All these things are so iffy. I've had wire transfers get stuck.
So I dug into Zelle reversals one time when a landlord stole my security deposit and I was considering reversing last month's rent until small claims figures it out. Banker said Zelle charges aren't normally reversible, but reluctantly admitted they are required to reverse the charge if it was unauthorized. Had I lied and said someone hacked my account, it may have been reversed, but then I'd be committing fraud.
Cashier's checks too. Despite what everyone says, they are reversible under the right circumstances. TurboTax's refund processor did that to me because they thought my address was wrong or something.
this process of giving out your 'secrets' (ccn, exp, ccv, zip) to tens of people a day with no other real authentication is inexcusably insecure. and instead of trying to get on top of the problem for real (like an hsm), we have this very half-assed fraud detection and chargeback mechanism that costly, ineffective, and seems to just bury the real issues behind a facade of concern. its been decades that this has been going on, I remain confused as to what incentives the banks have to continue to prop up this farce.
Any links for this? Since the abusive practices towards their users should already eliminate most of frauds that isn't caused by the actual banks themselves.
Fraud in modern financial systems is kind of.. funny? obvious? Local banks who know who Bob is can't make enough money due to scale, we'll scale that system to a national level with millions of participants. How will we do that? Bob is now customer 11,476,112. Oh no this anonymous number we created cheated us because we didn't know who he was, what do we do? Charge Bob and everyone else for the cost of this, our scaled up business model wouldn't work otherwise. We'll skim 3% off of every financial transaction infinitely, so that after our $100 virtual bill has changed hands 30 times it has disappeared into our coffers.
I have had to fight hard for disputes, even with “premium” credit cards like Amex Platinum. I’m not talking about “not as described” bs, but being asked over and over for the same info to wear me down.
I recently ordered some snacks from another country and after 3 months the vendor stopped responding while never having sent anything. When I asked for a chargeback, my claim was denied because I didn’t have proof they didn’t send anything! I literally had an email from them that said they are backed up and unable to send stuff.
Out of all the banks I’ve done chargebacks through Chase has been the least painful. I think only one time I had a back and forth with them. And that time I had one phone call, sent my evidence, and that was that. The company then tried to charge me again, which I also disputed, never heard from them again.
This was a moving company that insisted I should use their flat rate package and 3 movers rather than the 6 hourly I asked for. It took forever and they tried to charge me extra fees.
Not unlike the experience many Americans have of fighting their own insurance company that they already pay a monthly premium to.
The lengths insurance companies will go just to avoid adding to a deductible are, given the circumstances, rather disgusting.
They don't seem to produce any savings. Are credit card companies much different? Why are their CEOs making millions of dollars? Is it all supposed to be because of innovation in preventing fraud?
As with health insurance companies I too have found in reality their way of dealing with these things leaves much to be desired. The way they treat it seems transparently like health insurance - add minimal value upfront, then wear you down so you never actually get the service or "value" they were supposed to provide in the first place.
That shitty service is the margin padding that multi million dollar salary. Where's the innovation?
So much of the economy seems to be about wrongly extracting money from people, and then only giving it back to the people who have enough free time and persistence to endlessly argue and haggle for it.
Yeah, I've been extremely disappointed with disputes on Amex Platinum.
I literally had a bike rental company in Amsterdam attempt to get me to conspire to report a bike stolen (which had briefly been stolen but was back in my possession), and then when I refused, charged me as if the bike had been stolen!
I reported all this to Amex, and I was never refunded, and to my knowledge, the attempt fraud was never investigated.
I don't think payment processors like Stripe are colluding, they just have a difficult task. Card and bank payments are very complicated and regulation-heavy. I do get the feeling that credit cards and banks are colluding.
Reminds me of how the cardholder agreements used to all prohibit adding a credit card surcharge to cover the fees. Some of the fees go back to the customer as rewards, so customers especially had no reason to use cash. Now that practice is illegal, and many places are 3-5% cheaper with cash, which is in line with the fees and usually much larger than credit card rewards.
Is that practice illegal? I've never gotten a discount for using cash or debit.
That is the crux of the problem though. By adding fees and then contractually forbidding merchants from passing those fees on to credit card customers, it is forcing non card users to pay for card users fees since the fees are embedded in prices. Plus they're even giving card users kickbacks in the form of points. So non credit card users end up paying more credit card fees than credit card users which is nonsense.
Not illegal. Card issuers required merchants that wanted to accept their cards to not have separate pricing for cash and credit card. It would have been a lot more difficult for credit cards to take over as the primary payment method if they had to convince consumers that the convenience of a card was worth paying 3-5% more on everything. Exceptions started being added for public entities, like municipalities, that wanted to accept cards.
> So non credit card users end up paying more credit card fees than credit card users which is nonsense.
The business just makes more money on cash transactions. It would be interesting to find if the cost of cash handling/losses is comparable to the card processing fees.
> Is that practice illegal? I've never gotten a discount for using cash or debit.
It is no longer permitted for payment networks to prohibit discounts for cash or surcharging use of credit.
A few of the merchants I use regularly have credit surcharges now. It's pretty common at gas stations near me. Almost all business with my state or local government has a 3% fee for card use.
Yes in the US. It's usually gas stations, small businesses, and less expensive places offering the discount. The only gas station around here that doesn't charge extra for card is Costco, where they also don't take cash.
Who remembers when Google and some other companies tried to ban a ton of words from source code? They had a whole list, first slave which maybe was reasonable to discourage, then master, then blacklist/whitelist, then things like kill or abort, then weirder rules like kabob menu. Internally it got to extreme levels like banning "hooray."
Erlang is my favorite functional language out of all the ones I've tried. The matchers, guards, etc are all done very well. But I don't like functional. I used to think it was cool, gave it a real chance using Erlang for years, and eventually decided it's not a good fit for many use cases. Like at some point the neatness of doing all loops as recursion wears off and it's just tiring. It's not like CS algo homework, and even there you often want DP/memoization.
> Like at some point the neatness of doing all loops as recursion wears off and it's just tiring.
Odd, but I believe you, lol. Elixir's list comprehensions take a `:reduce` option which makes accumulating values a bit more "familiar" and I often use over `reduce`:
for a <- list, reduce: []
acc ->
[a | acc]
end
Not sure if there is something like that in Erlang (or Gleam for that matter).
If you already have a list in Erlang, you can use map and the foldl/foldr reducers. But there's no general for-loop. You're expected to use tail recursion.
Also tbh, I don't like reduce either. I agree with that article posted on HN a while back about devs not liking reduce. Just want to insert into my list or whatever, not have to check how exactly reduce works in this particular language.
Ya, I was saying as an alternative to a more dynamic-looking loop. And I should note that `for` is confusing in Elixir because it is not a for loop, it's a list comprehension. Also, `<-` is actually a match operator and can cause confusion if you think of it as a for loop. I'm actually not sure why they went with `for`. At one point it was `lc`. I do think `for` is better than `lc`, heh.
But yes, I don't hate reduce, but I do try and avoid it in favour of a higher level version if its available. My only real problem with reduce is that I sometimes forget the parameter order, which is why I like using list comprehensions since the accumulator gets labelled.
I'm pretty sure it's just inspired by `for` from several languages to give the illusion that "Elixir has a `for` loop" for beginners? Actually, as I say that out loud I'm unsure. Who knows!
I agree. The censorship I'm way more concerned about is the government flexing on platforms, since that's actually about suppressing ideas. Also think the author is missing that a lot of kids using internet slang irl are doing it to be funny.
They're one of those good practices that look like bad practice to everyone who just got a CS degree. Seems ex-students are unsettled by asymmetry or want to minimize the number of return statements.
reply