Skip to main content
When a buyer picks a regular plan like “Pro”, your checkout link receives its numeric ID as cuprice_plan_id. Use that ID, not plan_id, to look up features: plan_id is generated from the plan name and changes when you rename the plan, while cuprice_plan_id stays the same.

Step 1: Look up the plan when checkout starts

In the route behind your checkout link, read the IDs and ask Cuprice for the plan’s price and features:
limit is the plan’s limit for features that have one, and null for on/off features.
The Share API (or the MCP server’s get-pricing tool) returns every visible plan. A feature is in a plan when its multiplier is above 0. For features that have usage settings (countableData in the top-level features list), the multiplier is the plan’s limit.
The Share API has no price for the chosen interval, so use the Checkout Payload endpoint when you also need the amount to charge.

Step 2: Keep the features with the payment

Save features, amount and cupricePlanId on a pending order in your database and pass the order ID to your payment provider as metadata. The customer then gets the plan as it was when they bought it, even if you edit or hide the plan later.

Step 3: Save on the customer and check

When your provider confirms the payment, copy the order’s features onto the customer. Then check that saved list in your app:
Feature names change if you rename a feature in Cuprice. If you expect renames, key your checks on the feature id instead. Custom plans only carry names, see Custom Plans.