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 theplan.id — PayNext handles the rest.
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:| Field | Description |
|---|---|
| Trial Interval | Unit of time: days, months, or years |
| Trial Interval Count | Number of units (e.g., 7 for 7 days, 1 for 1 month) |
| Trial Price | Amount to charge during trial (set to 0 for free trials) |
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
- Default price — The first price you create applies to all countries
- Add country-specific prices — Select a country from the dropdown and set a custom price
- Automatic exclusion — Countries with specific prices are automatically removed from the default
- One price per country — Each country can only have one price rule
Example
You create a plan with these prices:| Price | Countries |
|---|---|
| €100 EUR | All countries (default) |
| $120 USD | United States |
| £90 GBP | United Kingdom |
| €85 EUR | Spain |
- Customer from Germany → €100 EUR (default)
- Customer from United States → $120 USD (country-specific)
- Customer from Spain → €85 EUR (country-specific)
Create Client Session with Plan
Passplan.id and customer.address.country when creating a client session:
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).