Skip to main content
listPlans returns every published billing plan for the workspace — IDs, prices, billing intervals, currencies, and feature lists. It is the data source for pricing pages and plan-selection UI: fetch once, bind the result to a FeaturesGrid or custom pricing block. Plan definitions live in the workspace’s billing config rather than in code, so editors can publish new tiers without redeploying the page. By the end of this page you can wire a pricing block to live plan data and pass a chosen plan’s id into collectPayment.

Invoke from a block

Bind a block’s data_source to listPlans and the block populates from live plan data:
features-grid.json
{
  "block": "FeaturesGrid",
  "props": {
    "data_source": {
      "capability": "listPlans"
    },
    "columns": 3
  }
}
listPlans takes no arguments. Each invocation returns the current published set — newly added plans appear on the next page load.

Inputs

listPlans accepts no arguments. Pass an empty object or omit args.

Outputs

Plan fields

Provisioning

At least one plan must be defined in the workspace’s billing configuration before listPlans returns a non-empty array. Plans are created and published in the Builder’s billing settings or via the Monetization API.

Error codes

Every error returns the standard envelope:

collectPayment

Open a Stripe Checkout session for a plan returned by listPlans.

Accept payments guide

End-to-end walkthrough from plan setup to a working checkout button.