# Stripe Billing customer portal

> Use Stripe's customer portal as your online cancellation path, configured so subscribers can cancel without contacting you, and turn on trial reminders.

Most automatic-renewal laws require that a subscriber who signed up online can cancel online, without calling or
chatting. With Stripe Billing, the customer portal is the quickest way to get there.

## Settings Checkbox checks {#settings}

Checkbox reads your portal configuration through the read-only Stripe connection (Customer portal: Read):

| Check | Stripe setting |
|---|---|
| `config.portal_cancel_enabled` | Customer portal → **Cancellations: Customers can cancel subscriptions** is on |
| `config.trial_reminder_enabled` | Settings → Subscriptions and emails → **Send a reminder email 7 days before a free trial ends** |

When the cancellation setting is off, the compliance plan's `billing_portal_cancel` task gives you the exact
`billing_portal.configurations.update` params, for example:

```json title="billing_portal.configuration"
{
  "features": {
    "subscription_cancel": { "enabled": true, "mode": "at_period_end" }
  }
}
```

## Link to the portal from your account page {#link}

Subscribers must be able to find the cancel option. Create a portal session from your server when the subscriber clicks
"Manage subscription" or "Cancel subscription" on their account page, and redirect them to it; or share Stripe's
no-code portal login link. Checkbox's synthetic shopper and [test subscriptions](https://checkbox.site/docs/guides/test-runs) follow that path
and try to cancel, so the `cancel.*` checks are observed rather than assumed.

## Trial reminders {#trial-reminders}

Stripe's trial reminder is sent 7 days before a trial ends. That satisfies some states but not every window (for
example, some states require notice at least 3 and at most 21 days before a trial longer than 31 days converts, and
others require more lead time). Get the exact dates for your plan from
[`checkNoticeSchedule`](https://checkbox.site/docs/api/checks#checkNoticeSchedule), and send the reminders yourself or let
[Checkbox Notices](https://checkbox.site/docs/guides/emails-and-notices) send them.

> **Note**
>
> Stripe sends no customer emails in test mode. During a test subscription, Checkbox only sees emails your own code or
> email provider sends; a missing Stripe-sent email is reported as a warning, not a failure.
