Skip to main content
Plans define what you charge customers. Create and manage plans entirely from Dashboard → Plans—no code changes required. Pass only the plan.id to checkout, and PayNext handles pricing, billing intervals, and localization automatically. Changes apply immediately when you save.

How Plans Work

Define your pricing once in the Dashboard. At checkout, the correct price displays automatically based on the customer’s country. If the plan includes a trial, the customer sees the trial terms before subscribing. Your code only needs the plan.id — PayNext handles the rest.
Plan updates only affect new customers. Existing subscribers remain on their original plan terms—price changes, billing interval changes, and trial modifications do not apply retroactively.

Plan Types

Recurring Plans

For subscriptions and memberships. Charges on a schedule (daily, monthly, yearly, or custom interval). Features:
  • Billing frequency configuration
  • Localized pricing by country
  • Optional trial periods

Trial Periods

Offer free or reduced-price trials before the full subscription begins:
FieldDescription
Trial IntervalUnit of time: days, months, or years
Trial Interval CountNumber of units (e.g., 7 for 7 days, 1 for 1 month)
Trial PriceAmount to charge during trial (set to 0 for free trials)
Trial pricing supports country-based overrides using the same logic as regular pricing.

One-off Plans

For single purchases and setup fees. Single charge with no renewal. One-off plan features:
  • Static pricing
  • Localized pricing by country
  • No interval or trial configuration

Create a Plan

1

Open Plans

Go to Dashboard → Plans and click Create plan
2

Choose plan type

Select Recurring for subscriptions or One-off for single charges.
3

Set plan name

Assign an internal name (e.g., “Pro Monthly”, “Enterprise Annual”). This name appears in the Dashboard and webhooks.
4

Configure billing frequency

For recurring plans, set how often to charge: Every [number] [Days | Months | Years].
If a customer starts on January 30 and the next month lacks that date, billing occurs on the last valid date (Feb 28/29).
5

Set pricing

Define default pricing and optional country-specific overrides. See Localized Pricing below.
6

Configure trial (recurring only)

Add a trial period if needed. See Trial Periods above.
7

Save

Click Save to create the plan. Use the generated plan.id in your integration.

Localized Pricing

Charge different prices based on customer country. When you create a client session, pass the customer’s country—PayNext automatically selects the correct price at checkout.

How It Works

  1. Default price — The first price you create applies to all countries
  2. Add country-specific prices — Select a country from the dropdown and set a custom price
  3. Automatic exclusion — Countries with specific prices are automatically removed from the default
  4. One price per country — Each country can only have one price rule

Example

You create a plan with these prices:
PriceCountries
€100 EURAll countries (default)
$120 USDUnited States
£90 GBPUnited Kingdom
€85 EURSpain
At checkout:
  • Customer from Germany → €100 EUR (default)
  • Customer from United States → $120 USD (country-specific)
  • Customer from Spain → €85 EUR (country-specific)
When you add a price for United States, US customers no longer see the default €100—they only see $120 USD.

Create Client Session with Plan

Pass plan.id and customer.address.country when creating a client session:
{
  "customer": {
    "email": "[email protected]",
    "address": {
      "country": "US"
    }
  },
  "plan": {
    "id": "plan_7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d"
  }
}
PayNext uses customer.address.country to resolve localized pricing.
Amounts use minor units based on currency. For example, $10.00 USD = 1000, ¥1000 JPY = 1000 (JPY has no decimal places).