Currency amount renders reversed in RTL locales on hosted checkout
Summary
On the hosted checkout page, the amount in the Show order details bar renders reversed in right-to-left locales. A $59.00 product displays as 00.95$, and a $57.00 product displays as 00.75$.
The underlying DOM text is correct ($59.00). Only the visual order is wrong.
Screenshots


Steps to reproduce
- Create a checkout session for any product, e.g.
pdt_0NqUl9MraypWZDfcldkmu($59.00 every 3 months) - Open the checkout URL with browser language
he-IL, or create the session withcustomization.force_language: "he" - Look at the order details bar at the top of the page
Expected: $59.00
Actual: 00.95$
Cause
The amount is not LTR-isolated inside the RTL layout. $ and . are neutral characters, so the numeric runs reorder against the RTL base direction.
Suggested fix
Wrap money amounts in <bdi dir="ltr">, or apply unicode-bidi: isolate; direction: ltr to the amount element. This applies to every RTL locale, not only Hebrew.
Scope
The rest of the Hebrew page renders correctly, including the card number placeholder and the PCI DSS badge. The issue is isolated to the amount in the order details bar.
Impact
Reported by SecretJobs (bus_0NfojPM6FjM9SErFgo8j6), who sell mostly into Israel and create sessions with force_language: "he". Customers reach the hosted page when their embedded checkout fails to load, so they see an incorrect price at the moment of payment.
Seen 25 Oct 2026, test mode, Chrome at phone width. Chatwoot ticket 34860.
0 Comments
Sign in to comment
No comments yet. Be the first to share your thoughts!
