S Subster

Pricing and payments

You will connect your Stripe account, create prices and check payment with a test purchase before launch.

Before you start

Step 1. Connect Stripe

Open “Settings” → “Payments” → “Connections”. At the top, the “How you take payments” choice must be “Through us”.

  1. Turn on the Stripe row toggle — a form opens.
  2. Enter the publishable key and secret key. Both are in Stripe, “Developers” → keys page.
  3. Click “Connect”.

We create the endpoint for Stripe's payment reports ourselves — nothing to set up in Stripe.

After connecting, acceptance is on and the payment environment reads “Auto”: the server picks it by your keys until you switch it.

Which keys to start with

Start with test keys (pk_test_… and sk_test_…): no money is charged. The cost: a Pro or Business plan and a domain (payment works only on a published funnel, step 3), plus re-creating prices before going live (step 4).

Step 2. Create a price

Prices live in two places, not in “Payments”:

The two windows label fields differently:

In the editorIn the “Store”What to enter
Product nameNameTells apart prices with the same amount.
AmountAmountIn whole currency, not cents: 9.99 is nine dollars ninety-nine cents.
CurrencyCurrencyUSD, EUR or GBP.
Billing period: per month, per year, per week, per day, one-timeInterval: “Month”, “Year”, “One-time”Create weekly and daily prices in the editor.
Trial, daysTrial, daysThe trial period. Works only for a recurring price. Empty — no trial.
Access length, daysAccess period (days)Works only for a one-time price and only if your developer's server makes the charges. For payment on the paywall, leave empty.

In the “Store”, trial and access period show for any interval — fill them per the table.

Prices made in the Stripe dashboard need importing: “Store” → “Products” → “Import from Stripe”. In the editor this button is only for the project owner.

Step 3. Check payment with a test purchase

Optional. Needs test keys — add them in “Key management”.

Payment works only on a published funnel: the editor preview and the funnel menu's “Preview” do not start it; the buy button shows “This is a preview. Publish the paywall to accept payments.”

  1. While the payment environment is test, publish the funnel — Publish a funnel.
  2. Open the funnel address, reach the paywall and pay with Stripe's test card 4242 4242 4242 4242: any future expiry, any three-digit CVC. Nothing is charged.
  3. Find the purchase: “Store” → “Customers”, turn on “Show test payments”.

Step 4. Switch to the live environment

When ready, switch “Payment environment” in the Stripe row to live. Live keys must already be connected, or the switch is rejected: “Key management” in the same row → “Connect” in the “Live keys” row.

Then test prices leave the selection: create live ones, select them in the blocks and republish — until then payment fails.

Why a price may drop out of the selection

Valid prices belong to the project's current environment and Stripe account. A price drops out if:

In the editor a banner replaces it, asking for a new choice. Such a funnel will not publish.

Subscription rules

Optional — both rules already apply. Open “Settings” → “Payments” → “Rules and money” → “Subscription rules”. Only the project owner changes the rules.

The neighboring “Customer money” group matters only if your developer's server itself charges saved cards, refunds or manages subscriptions; its toggles open from Pro. Details — Money from the app.

Change a price or take it off sale

An existing price's amount and period cannot change — create a new price:

  1. Create a price with the new amount (step 2) and select it in the pricing blocks.
  2. If buyers get access in your app, give the new price the old one's access level — otherwise the app will not recognize it and paid content will not open. How — Handoff to a developer, step 5.
  3. Republish the funnel — until then visitors see the old price.
  4. Once the old price is on no paywall — its name's tag shows this — take it off sale: “Store” → “Products”, “Archive” in its row. An archived price cannot be paid.

Old-price subscriptions keep renewing at the old amount.

The cabinet cannot return an archived price to sale, though its hint promises otherwise. Reactivate it in Stripe — “Unarchive price” in the product catalog (Stripe docs); the cabinet picks it up.

A price's access period changes in its “Products” row: “Access period” column → “Edit”.

Next