61 points rsorto 3 hours ago 21 comments

I am a LegalTech Attorney leading a developer team from Costa Rica. While trying to load credits onto my Anthropic API account (claude.com), I experienced a critical internationalization (i18n) and UX failure that has placed an unfair financial burden on me due to a severe oversight in their payment pipeline.

The platform prompted me for a payment. Since I am in a Spanish-speaking region where localized systems and keyboards handle dots and commas differently, I typed 5.04.

Anthropic’s input system completely failed to sanitize or validate the data. Instead of throwing a formatting error or converting it properly, it silently stripped the decimal internally and instantly charged my credit card $504.00 USD instead of $5.04 USD.

To make matters worse, there was no confirmation modal or review screen summarizing the final amount before processing the transaction. It was a single-click, instantaneous overcharge.

Anticipating the Obvious Skepticism: Before anyone suggests "you should have checked your regional settings" or "just wait for the chargeback":

1. Users are not the QA team: In financial software, a system is never supposed to guess or automatically manipulate a numerical input without explicit validation. If an input is ambiguous due to locale differences, the application must reject it or ask for clarification, not execute a 100x overcharge.

2. Scale of the vulnerability: This time it was $504.00, which is an unfair and frustrating burden for independent developers. But because this pipeline completely lacks a confirmation screen and basic input sanitization, the exact same bug could happen to someone typing 50.00 and end up charging them $5,000.00 or more instantly. It is a systemic financial risk.

3. The Chargeback Illusion: Yes, I have already initiated a chargeback with my bank in Costa Rica. However, banking processes here are slow and take up to 120 days to resolve. In the meantime, the $504.00 has already been deducted and charged to my credit card statement. I am forced to pay for Anthropic’s engineering mistake out of my own pocket right now.

The Support Wall: I filed an official complaint on the exact same day, minutes after it happened. I wasn't met with a human; I was blocked by an automated support BOT. The bot repeatedly and rigidly denied the refund, closing the ticket by citing generic policies without a single human ever looking at the fact that the overcharge was caused by a technical bug in their own platform.

As developers, we build systems that process people's money. Omitting a confirmation screen on a financial transaction, failing to sanitize localized numerical inputs, and then hiding behind unyielding AI support bots to keep money that doesn't belong to you is completely unacceptable.

If anyone from Anthropic's billing or engineering team is reading this, please look into this bug and review my case. It is a critical flaw that is actively harming international developers who are just trying to build on your ecosystem.

Pura vida!

R.S.G.

rsorto 2 hours ago | parent

UPDATE: I just checked my bank statement and it’s even worse than I thought. Because the system processed the incorrect $504.00 base amount, it automatically calculated local VAT (taxes) on top of it, adding an extra $65.52. The absolute total taken from my card by this single-click bug is $569.52.

Here is the proof of the bank statement pending charge:

https://ibb.co/tMVkf0nx

UnlockedSecrets 1 hour ago | parent

did this post really need to be written by AI?

cyanydeez 1 hour ago | parent

do you think a human overcharged them or did an AI?

rsorto 1 hour ago | parent

Hola, thanks for your reply.

Please note that English is not my native language. I used AI to make sure that my technical explanation of the decimal bug was clear and well structured so that the community here could understand it.

I agree that the text structure might look robotic, but the $569.52 unauthorized charge on my credit card right now is 100% real.

Pura vida!

rrauenza 1 hour ago | parent

Your situation is not funny, but it reminded me of an old story from the internet in the 1990's, The Neiman Marcus Cookie Recipe

> My daughter & I had just finished a salad at Neiman-Marcus Cafe in Dallas & decided to have a small dessert. Because our family are such cookie lovers, we decided to try the "Neiman-Marcus Cookie". It was so excellent that I asked if they would give me the recipe and they said with a small frown, "I'm afraid not." Well, I said, would you let me buy the recipe? With a cute smile, she said, "Yes." I asked how much, and she responded, "Two fifty." I said with approval, just add it to my tab.

It ends with them being charged $250 not $2.50 and the author shares the recipe with the world as revenge.

https://www.snopes.com/fact-check/neiman-marcus-cookies/

jrochkind1 1 hour ago | parent

I think it's a frequent misconception that the AI version is going to be clearer or more well-structured or easier to read or understand than what you would write as a non-native-English speaker. It's probably not.

merb 1 hour ago | parent

What did you want to accomplish with 5.04??

In Spanish or other European countries 5,04 would’ve been correct?

So 5.04 would either be invalid or 504 like Claude did.

rsorto 1 hour ago | parent

Hola Merb,

To be 100% clear: I wanted to load exactly five dollars and four cents ($5.04) into my account. I typed 5.04.

The core problem here is that in secure financial pipelines, ambiguous inputs must trigger a validation error and reject the transaction, not silently guess the amount and execute a 100x overcharge.

If Anthropic's backend expected a comma due to my regional settings and couldn't parse the dot, the correct engineering behavior is to throw an "Invalid Format" message and disable the pay button. Silently stripping the decimal character and instantly draining $569.52 (including local VAT taxes) from a user's card with zero confirmation screen is a catastrophic failure in error prevention.

Gracias!

rrauenza 1 hour ago | parent

Someone above also points out the inverse also fails for a decimal locale:

> I'm looking at the "Add credits" screen on https://platform.claude.com and it prominently displays the "total due" as $504.00 when typing `5,04` into the input...

striking 1 hour ago | parent

I'm looking at the "Add credits" screen on https://platform.claude.com and it prominently displays the "total due" as $504.00 when typing `5,04` into the input...

rsorto 1 hour ago | parent

Striking, thanks for the comment,

Please note that I typed 5.04 (with a dot), not a comma.

I was doing a manual account recharge (adding credits), where the user defines an arbitrary prepaid amount. On a localized system/keyboard setup, entering the dot did not alter the total due or warn me of a 100x increase before hitting the submit button.

Also, the core issue is the complete lack of a final checkout/confirmation step for an arbitrary recharge amount. In proper financial UX, clicking the primary button should trigger a modal stating: "You are about to recharge your account with $504.00 USD + $65.52 VAT. Total due: $569.52. Confirm payment?". Executing an instantaneous credit card charge on a single click while silently processing ambiguous inputs is precisely the dangerous design flaw I am pointing out.

Saludos,

tallanvor 1 hour ago | parent

It feels more like a writing exercise - too many extraneous details right from the start: "I am a LegalTech Attorney leading a developer team" feel necessary if you're telling a story, but is completely irrelevant if you're reporting an issue. And $5.04?? Who knows their spending requirements to that level of specificity?

Is it possible? I guess, but I doubt they're being honest about what was being displayed on the screen.

nottorp 1 hour ago | parent

Lots of space for vibe coding jokes here. And 504 is significant for Costa Rica, it can buy a lot of lattes.

On a more serious note, do these vibe coded chatbot payment UIs accept like one time use Revolut CC numbers?

And on a second serious note, have they heard of 3D secure or you simply can't pay with an european credit card?

rsorto 48 minutes ago | parent

Nottorp, don't be fooled, with Starbucks prices here in Costa Rica, $500 will barely get you a couple of weeks of lattes! Joke too :)

Going back to your serious notes, I successfully replicated the exact mechanics of this bug inside the Console, and it is a classic frontend race condition/bypass flaw:

When your system/keyboard is in a locale that uses commas, the input text box still physically allows you to type a dot (like typing 5.04 or 0.5). The catastrophic UX failure happens because if you press the "Enter" key immediately after typing, the form submits the raw, un-sanitized string to the backend before the frontend validation layer can intercept it, block it, or refresh the "Total due" box.

It completely bypasses its own validation rules (like the $5.00 minimum enforced minimum), skips any error prevention, and fires the single-click payment request to the gateway instantly with the misinterpreted value.

I uploaded the live replication screenshot here: https://ibb.co/HTY88MZ3

rsorto 54 minutes ago | parent

TECHNICAL UPDATE (BUG REPLICATION): I just managed to replicate the input validation bug inside the console.

As you can see in the screenshot below, when your regional settings use commas for decimals (e.g., my balance shows 430,26), the input field still physically allows you to type a dot (0.5 or 5.04).

The catastrophic UX failure happens when you press "Enter" right after typing. The form instantly submits the raw, un-sanitized input string to the backend before the frontend validation layer can block it or correctly alert the user.

The system breaks its own "USD 5.00 minimum" rule, bypasses proper error prevention, and immediately fires the payment request to Stripe/the gateway.

Here is the replication proof: https://ibb.co/HTY88MZ3

clickety_clack 52 minutes ago | parent

This is the kind of mistake I dread, where a normal human would be able to say "oh, sure of course this is a mistake, sorry about that", but you don't get to talk to a human. A corporation can wait months for resolution, but an individual can't.

JacobAsmuth 50 minutes ago | parent

Yup. We've been living in a world with ZERO obvious software mistakes and now that these LLM things are running wild, we've got more obvious bugs than ever!

rsorto 26 minutes ago | parent

Yes, they are building frontier models and should be responsible to handle basic text input validation.

An additional point here is that Anthropic is hiding behind bots so they don't have to fix it and support humans with real world problems.

It's frustrating to be forced into a financial burden just because they decided to cut corners on traditional software debugging protocols.

donutdonot 37 minutes ago | parent

This happens everywhere . I'm in Germany (which uses commas) but have my distro set to English (using dots).

I've encountered this problem on many sites, eg Amazon or eBay where I accidentally sell my items for 599,00 instead of 5.99

rsorto 18 minutes ago | parent

Donuntdonot,

Thanks for validating my point, and I understand your frustration too. Luckily, in your case, as the seller, you can edit the listing afterward; I can’t. I have to deal with Anthropic, which already charged me $569.52.

Sad....

jordn 11 minutes ago | parent

Hey @rsorto – sorry about this! I work at Anthropic and can see that there's a UI/form bug which didn't account for internationalization very well. A typed "5,04" got converted to $504. We're fixing the bug now and the support team will reach out to you directly to address your case, shortly.