Skip to main content
Feature gating means your app turns on only what the customer paid for. Cuprice knows which features each plan includes. Your payment provider knows who paid. Your server joins the two.
  1. The buyer picks a plan. Cuprice sends them to your checkout link with cuprice_plan_id, cuprice_share_id and the billing interval.
  2. Your checkout asks Cuprice for the plan’s price and features, creates the payment, and keeps the features with it, for example on a pending order in your database.
  3. Your payment provider confirms the payment, usually with a webhook.
  4. Your server copies the plan and its features onto the customer’s account.
  5. Your app checks that saved list before it shows a feature.

Where the feature list comes from

Both endpoints are public and need no API key:
  • Checkout Payload: GET https://app.cuprice.io/api/share/{shareId}/checkout-payload?planId={cuprice_plan_id} returns one plan’s features with included and limit already worked out. A POST to the same address does the same for a custom plan.
  • Share API: GET https://app.cuprice.io/api/share/{shareId} returns every plan on the page with its features. The get-pricing tool of the MCP server returns the same data.
Both endpoints only return plans that are visible on your page. Save the feature list when the buyer checks out, so a plan you hide or edit later does not change what existing customers get.

What you need

  • A server route behind your checkout link that prices the plan and creates the payment
  • A webhook or callback from your payment provider that confirms the payment
  • A place to store each customer’s plan and features, such as a table in your database

Two kinds of purchase

Regular Plans

The buyer picks a plan like “Pro”. You look up its features by cuprice_plan_id.

Custom Plans

The buyer picks features one by one. The selection comes with the checkout link.

Report the subscription to Cuprice (optional)

Feature gating works without this step. If you also want subscribers and revenue in your Cuprice dashboard, call Report Subscription Event from your webhook. It works for regular plans only.