> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# Offer paid trials for subscriptions

Create paid trials that charge customers a reduced amount for a subscription's trial period before it renews at the full price. The trial price and the recurring price share the same price, so you keep a clean pricing structure and seamless integrations with app stores and third-party tools.

---

## What's new?

You can now offer [paid trials](https://developer.paddle.com/build/trials/create-trial.md), charging customers a reduced amount for a subscription's trial period before it renews at the full price. You can do this by creating a price with a trial period and setting `trial_period.unit_price` to the amount to charge for the trial.

## How it works

In Paddle, whether a subscription has a trial is determined by whether the [prices](https://developer.paddle.com/api-reference/prices.md) on the subscription have a trial period.

Previously, [trials](https://developer.paddle.com/concepts/subscriptions/trials.md) in Paddle were always free. Customers weren't charged until the trial ended.

With paid trials, you can charge a reduced amount for the trial period to capture higher-intent buyers, reduce trial abuse, and improve renewal conversion. The trial price and the recurring price share the same `price_id`, so you keep a clean pricing structure and seamless integrations with app stores and third-party tools.

When [creating a price](https://developer.paddle.com/build/products/create-products-prices.md) with a trial period, set `trial_period.unit_price` with the amount to charge for the trial. To localize the trial price, set `trial_period.unit_price_overrides` to match your base price overrides.

Pass a price with a trial period to a checkout to bill for it. Paddle Checkout handles the trial workflow for you, presenting the trial price and length, then collecting for the trial price amount when the customer completes checkout.

A few things to know:

- **Refunds**: A paid trial is a real charge, so you can issue full, partial, and tax refunds for the trial price.
- **Discounts**: Recurring and one-time discounts aren't applied to the trial price. They carry over to the first billing period after the trial.
- **Trial changes**: Changes during the trial aren't prorated, the same as free trials.

## Example

This example creates a monthly price with a 7-day paid trial that charges $1.00 for the trial, then $15.00 on renewal.

{% api-example method="POST" path="/prices" href="/api-reference/prices/create-price" %}

```json
{
  "product_id": "pro_01k5c106wy997av8jmz1qfng2q",
  "description": "Monthly (per seat) with 7 day paid trial",
  "name": "Monthly (per seat)",
  "trial_period": {
    "interval": "day",
    "frequency": 7,
    "unit_price": {
      "amount": "100",
      "currency_code": "USD"
    }
  },
  "billing_cycle": {
    "interval": "month",
    "frequency": 1
  },
  "unit_price": {
    "amount": "1500",
    "currency_code": "USD"
  }
}
```

```json
{
  "data": {
    "id": "pri_01k5c14mgh9dc3wgk3vb23p0t7",
    "product_id": "pro_01k5c106wy997av8jmz1qfng2q",
    "type": "standard",
    "description": "Monthly (per seat) with 7 day paid trial",
    "name": "Monthly (per seat)",
    "billing_cycle": {
      "interval": "month",
      "frequency": 1
    },
    "trial_period": {
      "interval": "day",
      "frequency": 7,
      "requires_payment_method": true,
      "unit_price": {
        "amount": "100",
        "currency_code": "USD"
      },
      "unit_price_overrides": []
    },
    "tax_mode": "account_setting",
    "unit_price": {
      "amount": "1500",
      "currency_code": "USD"
    },
    "unit_price_overrides": [],
    "custom_data": null,
    "status": "active",
    "quantity": {
      "minimum": 1,
      "maximum": 100
    },
    "import_meta": null,
    "created_at": "2026-06-10T09:00:00.000000Z",
    "updated_at": "2026-06-10T09:00:00.000000Z"
  },
  "meta": {
    "request_id": "a1f4c2e0-8b3d-4f7a-9c21-6d0b5e9a3c14"
  }
}
```

{% /api-example %}

## Next steps

Paid trials are available now. To get started, see [Create a trial](https://developer.paddle.com/build/trials/create-trial.md) and [Create products and prices](https://developer.paddle.com/build/products/create-products-prices.md).

It's a non-breaking change, meaning it doesn't impact existing integrations. You may need to review your event handling code to display trial pricing in an inline checkout. See [Create a trial](https://developer.paddle.com/build/trials/create-trial.md) for the full mapping.
## Summary of changes

| Name | Type | Change | Entity | Description |
| --- | --- | --- | --- | --- |
| `price.trial_period.unit_price` | Field | added | Price | The amount to charge for a trial period. Set to make a trial paid. |
| `price.trial_period.unit_price_overrides` | Field | added | Price | Localized trial prices for a paid trial, matching the base price overrides. |
| `trial_currency_mismatch` | Error | added | Errors | Returned when trial price currencies don't match the base price. |
| `trial_is_either_paid_or_cardless` | Error | added | Errors | Returned when a trial sets a price but doesn't require a payment method. |
