From 51814fbc68f00b4c2e793f4c7efaa635ddb5e296 Mon Sep 17 00:00:00 2001 From: Rob Moore Date: Sat, 30 May 2026 13:47:20 -0400 Subject: [PATCH] Clarify the rebate invoice copy (0.4.1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The rebate panel's lines now read 'You paid this period' / 'Cancellation rebate' / 'Your net for this period'. The period charge is already paid, so the prior 'Subscription · this period' / 'Due for this period' wording read as though the amount were still owed. Matches the copy now used in the Vue embed. --- packages/react/CHANGELOG.md | 6 ++++++ packages/react/package.json | 2 +- .../components/steps/offer/default-rebate-offer.tsx | 11 ++++++----- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index d55cfd7..60f4598 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -2,6 +2,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Expect breaking changes in minor versions while we're pre-1.0. +## 0.4.1 — 2026-05-30 + +### Changed + +- Clearer rebate invoice copy in `DefaultRebateOffer`. The lines now read "You paid this period" / "Cancellation rebate" / "Your net for this period" — the period charge is already paid, so the previous "Due for this period" wording was misleading. + ## 0.4.0 — 2026-05-29 ### Added diff --git a/packages/react/package.json b/packages/react/package.json index 8b1a092..ac762e1 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@churnkey/react", - "version": "0.4.0", + "version": "0.4.1", "description": "Production-ready cancel flow for React. Drop-in component, headless hook, or full customization. Works standalone or with Churnkey for AI-powered retention.", "license": "MIT", "repository": { diff --git a/packages/react/src/components/steps/offer/default-rebate-offer.tsx b/packages/react/src/components/steps/offer/default-rebate-offer.tsx index 6b03118..5de7d6e 100644 --- a/packages/react/src/components/steps/offer/default-rebate-offer.tsx +++ b/packages/react/src/components/steps/offer/default-rebate-offer.tsx @@ -31,13 +31,14 @@ export function DefaultRebateOffer({ {body && }
- {/* Itemized like an invoice: the period charge, the rebate we credit - (the accented line), and what's still due. Paid and net are - server-resolved in token mode, so each renders only when present. */} + {/* Itemized like an invoice: what they already paid this period, the + rebate we credit (the accented line), and the net after the refund. + Paid and net are server-resolved in token mode, so each renders + only when present. */}
{o.amountPaidMinor != null && (
- Subscription · this period + You paid this period {formatPriceFromMinor(o.amountPaidMinor, currency)}
)} @@ -47,7 +48,7 @@ export function DefaultRebateOffer({
{o.netAfterRebateMinor != null && (
- Due for this period + Your net for this period {formatPriceFromMinor(o.netAfterRebateMinor, currency)}
)}