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

# subscription_recurring_purchase Event

> Track when a recurring subscription payment is processed (not the initial purchase).

Fires when a recurring subscription payment is processed (not the initial purchase). Use this event for retention and LTV analysis.

## JavaScript

```javascript theme={null}
window._upstack('track', 'subscription_recurring_purchase', {
  subscriptionId: 'sub_def456',
  accountId: 'acct_abc123',
  planId: 'plan_pro_monthly',
  planName: 'Pro Plan',
  value: 9900,
  currency: 'USD',
  billingInterval: 'month',
  renewalNumber: 6
});
```

## Properties

| Property        | Type   | Required | Description                            |
| --------------- | ------ | -------- | -------------------------------------- |
| subscriptionId  | string | Yes      | Subscription identifier                |
| accountId       | string | Yes      | Account identifier                     |
| planId          | string | No       | Plan identifier                        |
| planName        | string | No       | Plan display name                      |
| value           | number | No       | Payment amount in cents                |
| currency        | string | No       | ISO 4217 currency code                 |
| billingInterval | string | No       | `month` or `year`                      |
| renewalNumber   | number | No       | Which renewal this is (2nd, 3rd, etc.) |

## When to Fire

* Each recurring billing cycle
* When Stripe `invoice.paid` fires for an existing subscription
* Monthly/annual renewal charge succeeds

## Stripe Webhook

Maps to `invoice.paid` for existing subscriptions (not the first invoice).
