Products and trials
The Products page
(/products) shows which products your organization can use. A product is a
network engine or add-on: Visa, Mastercard, HSM (payShield), and
Payment Consultant. Access to the transport and REST APIs for a product
depends on its status here.
Statuses
Section titled “Statuses”| Status | Meaning | Can use the product? |
|---|---|---|
none | No trial or subscription has ever been started for the product. | No |
trial | A trial is running and its end date has not passed. | Yes |
active | Paid and in use. | Yes |
expired | The trial’s end date has passed. Computed when read; it is never stored. | No |
suspended | Temporarily switched off by Switchbench operations. | No |
cancelled | Ended by the customer or by operations. | No |
Starting a trial
Section titled “Starting a trial”- A trial gives full access to the product for 7 days. Each product can be trialled once per organization.
- Only organization admins can start a trial, because it needs the
products:managescope. For other members the Start trial button is disabled, with a tooltip explaining why. - The trial button reads Start 7-day trial. It asks you to confirm, and on
confirmation the product’s status changes to
trial. - While a trial is running, each product has a per-organization cap on
requests per second (5 by default). Requests above the cap are refused with
429(trial_rate_limited) on REST, or refused per command on the HSMaaS TCP port. The connection stays open after a refused HSMaaS command. Paid products are not rate-capped by this trial limit.
When a product lapses
Section titled “When a product lapses”When a product’s status is no longer trial or active, it is not entitled,
and each entry point enforces that:
- REST routes return
403(product_not_entitled). - Visa and Mastercard TCP ports drop the connection before any frame is read. An open connection is closed on its next idle re-check.
- HSMaaS TCP port closes the session with
FORBIDDEN_PRODUCT. - Dashboard pages for the product, such as Engine Config and Behaviours, become read-only, and changes are refused.
See Before you begin for which product each transport needs.
Billing
Section titled “Billing”When billing is enabled for the environment, the Products page also shows prices and a tier for each product:
- With no paid subscription, admins choose products with Add to plan and pay through Stripe Checkout with Subscribe.
- With an active subscription, admins can add a product, change its tier, or remove it in place. A summary shows the monthly total and the next invoice, and Manage payment & invoices opens the Stripe Customer Portal.
- Non-admins can see prices and status, but the billing buttons are not shown.
Each in-place change asks you to confirm it first, and takes effect as follows:
| Change | When it takes effect | What the Products page shows |
|---|---|---|
| Add a product | Now. You are charged a prorated amount for the rest of the billing period. | The product’s new status. If the card is declined, the request fails with 402 and the error offers Update payment method. |
| Move to a higher tier | Now. The prorated difference for the rest of the billing period is added to your next invoice. | The new tier. |
| Move to a lower tier | At the end of the billing period. | “Changes to tier on date”, with a Keep current tier button. |
| Remove a product | At the end of the billing period. The product stays usable until then, and there is no refund. | “Ends on date”, with a Keep product button. |
A scheduled downgrade or removal can be undone with its Keep button at any time before the billing period ends.
A billing change is recorded in the audit log when it is requested. The entitlement itself moves only after Stripe’s webhook reaches Switchbench, which usually takes a few seconds, so the status may briefly lag behind the change. When billing is not enabled, the Products page shows status only, with an Upgrade / contact us link for products that have no paid plan.