> ## Documentation Index
> Fetch the complete documentation index at: https://docs.startmyvpn.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Subscriptions

> How customer subscriptions (services) work in StartMyVPN.

## Overview

In StartMyVPN, a customer subscription is called a **Service**. Each service links a user to a plan, tracks its expiry date, and controls VPN access.

## Service states

| Status       | Description                                                              |
| ------------ | ------------------------------------------------------------------------ |
| `active`     | Service is running; user can connect to VPN                              |
| `pending`    | Order placed, payment not yet confirmed                                  |
| `suspended`  | Service paused (non-payment, bandwidth exceeded, or manual admin action) |
| `terminated` | Service ended and cannot be reactivated                                  |
| `expired`    | Service past its expiry date (pending renewal)                           |

When a service is **suspended** or **terminated**, all WireGuard peer configs for that user are removed from the servers automatically.

## Lifecycle

```
Order placed → pending
       │
Payment confirmed
       │
       ▼
    active ──────────────────────────► expired
       │                (on expiry date)    │
       │                                    │
  Admin suspends              Customer renews (new invoice)
       │                                    │
       ▼                                    ▼
  suspended                             active (renewed)
       │
  Admin reactivates or customer pays
       │
       ▼
    active
```

## Auto-renewal

Each service has an **auto-renew** toggle. When enabled:

* For **Stripe subscriptions**: Stripe automatically charges and sends a webhook, triggering renewal
* For **PayPal subscriptions**: PayPal handles the recurring charge and notifies StartMyVPN
* For **manual / crypto payments**: An invoice is generated and the customer is notified by email to pay

## Admin actions

From **Admin → Services → \[Service]**, admins can:

* **Suspend** — immediately suspends with an optional reason
* **Reactivate** — re-enables an active or suspended service
* **Terminate** — permanently ends the service
* **Extend** — manually add days to the expiry date
* **Change plan** — move the service to a different plan

## Expiration reminders

StartMyVPN sends automated reminder emails before service expiry. The reminder schedule is configurable in **Admin → Settings → General**.
