No hidden recurring charges; subscription terms clear before payment
Why it matters
The FTC's updated Negative Option Rule (2024) requires that subscription billing amount, frequency, and next charge date be visible before the user provides payment information — not after. A checkout flow that collects the credit card before showing recurring terms has violated the rule at the moment of collection. Trial-to-paid conversions with no advance notice leave consumers with no opportunity to cancel before the charge occurs. These failures generate chargebacks at the highest rate of any billing pattern and trigger payment processor reviews that can result in merchant account termination.
Severity rationale
High because hiding recurring billing terms before payment collection violates the FTC Negative Option Rule at the moment of the transaction — a point of no-return for the consumer — creating both regulatory and payment processor liability.
Remediation
Show subscription amount, frequency, and next charge date in the checkout UI before the payment form, and send a trial-end reminder at least 3 days before the first paid charge.
function CheckoutSummary({ plan }: { plan: Plan }) {
const nextChargeDate = addDays(new Date(), plan.trialDays ?? 0)
return (
<div className="bg-gray-50 rounded p-4 mb-6">
<h3 className="font-semibold mb-2">Order summary</h3>
<p>Plan: {plan.name}</p>
<p>Amount: ${plan.price}/{plan.interval}</p>
{plan.trialDays ? (
<>
<p className="text-green-700">
Free trial: {plan.trialDays} days — $0 today
</p>
<p className="font-medium text-red-700">
First charge of ${plan.price} on{' '}
{nextChargeDate.toLocaleDateString('en-US', {
month: 'long', day: 'numeric', year: 'numeric'
})}
</p>
</>
) : (
<p>Billing begins today. Recurring {plan.interval}ly.</p>
)}
<p className="text-sm text-gray-600 mt-2">
Cancel anytime from account settings before the charge date.
</p>
</div>
)
}
// Trial-to-paid reminder: use Stripe's customer.subscription.trial_will_end
// webhook event — fires 3 days before trial end by default.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the FTC Consumer Protection Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- external · ftc-negative-option-rule — FTC Negative Option Rule (16 CFR Part 425, updated 2024)
- external · ftc-click-to-cancel — FTC Click-to-Cancel Rule (2024 amendment to Negative Option Rule)
Taxons
History
- 2026-04-18·v1.0.0·Initial import from ftc-consumer-protection·automated