Your Checkout Speaks German Now
TL;DR
Set your checkout language to German in the dashboard and the entire buying flow — form, pay button, trial terms, error messages, countdowns, dates — renders in German. Behind that headline: every payment page now runs a strict script policy, affiliates finally earn on upsell revenue, paused subscriptions got fair rules, and we found (and fixed) a bug our 3,268 green tests were completely blind to.
You pick the language. Your buyer never sees a switcher.
Selling to a German audience? Open Settings → Defaults, set the checkout language to German, and you're done. The whole flow follows: field labels, the pay button, subscription terms ("danach monatlich"), trial sentences with properly localized dates, coupon messages, decline messages, the thank-you page, even the countdown on an expiring discount — "noch 2 Tage 23h zu diesem Preis".
We deliberately did not put a language toggle on the page. Your checkout is your storefront: you know your audience, and a buyer halfway through paying shouldn't be renegotiating the interface. The merchant setting decides, full stop. English stays the default, and anything you've written yourself — a custom button label, your offer copy — is never translated behind your back.
German is the first language because our merchants asked for it. The plumbing underneath is general, so the next language is a much shorter job.
A stricter front door on every payment page
Every checkout now ships a Content-Security-Policy built around per-request nonces: the browser executes only the scripts we explicitly bless on that page load, plus what the payment providers legitimately load themselves. If anything ever tried to inject a script into a payment page, the browser would refuse to run it — that's the whole class of attack, gone at the browser level.
The honest version of this story: our first attempt was a blunt one-line policy that also blocked the checkout's own design and all three payment rails. It ran on staging for a day looking like a plain-text ransom note and never touched a real buyer. The version that shipped was reviewed, tested against every rail, and — the part our test suite fundamentally cannot do — proven in a real browser first. Embedded checkouts on your own site keep working exactly as before.
The bug our green tests couldn't see
In How We Find The Bugs Before You Do we described pointing fleets of AI reviewers at our own code. This week that process earned its keep: a full-batch review of the German work confirmed ten real defects before promotion, and the best one is worth owning publicly.
The checkout's runtime translator — the thing that swaps "Processing…" onto the pay button when you click it — was silently dead. The page loaded its dictionary after the code that checked for it, so every dynamic message rendered as its raw key: click pay, see checkout.processing. In both languages. With 3,268 tests green, because a test suite can render a page but can't click it. A live browser check caught it in seconds; the fix took minutes; and there's now a test that fails if any translation key can't resolve, in either language, ever again.
Money handled more carefully
- Affiliates now earn on upsell revenue. If your affiliate sends a buyer who takes a $95 one-click upsell after a $200 sale, the commission is calculated on all of it — computed on the upsell's own amount, exactly once, no matter which payment rail booked it. Previously the upsell portion quietly earned nothing.
- One sale, one accounting record — enforced by the database. The frozen snapshot your Xero or QuickBooks filing is built from can no longer be duplicated by two processes racing each other. Not "shouldn't be": the database refuses.
- A payment webhook can't be lost to bad timing anymore. If a processor's notification hits a transient error and gets redelivered, we now ask for the retry instead of accidentally telling the processor "all done" — which used to be able to strand a refund update permanently.
- Pausing a subscription got fair rules, both ways. A paused buyer keeps access until the period they paid for ends, and a long-dormant pause auto-cancels after 90 days instead of dangling forever. On resume, billing restarts from now — never a surprise catch-up charge for the months paused. And "pause forever, keep access forever" is no longer a loophole.
Small things you'll notice
The site navigation no longer jumps when you move between pages (one shared bar, one hairline, finally identical everywhere). Style updates reach your browser within five minutes of us shipping them instead of an hour. And a stray unstyled button in the tax settings now wears the proper brand button it always should have.
A checkout your AI runs — in your buyer's language
Describe your offer to Claude or ChatGPT. GoCushy builds the checkout — bumps, upsells, subscriptions, tax, affiliates — on your own Stripe.
Get lifetime accessOne payment. 0% platform fees, locked for life. 30-day refund.
Sam Bakker is the founder of GoCushy. He's built and sold software for creators for over a decade, and now spends his time making sure your AI can run your sales machinery without you babysitting it.