Sherman Web Design Docs: switch app
Open the studio

Payments and donations

Take card payments and gifts on your site, paid straight into your own Stripe account: a Buy button, a cart with shipping, and one-time or monthly giving. Card details are entered only on Stripe's secure page.

Rolling out: if Settings › Payments says “Payments are almost ready”, they aren't switched on for sites yet. This page describes how they work once they are.

Turn it on

  1. A site owner opens Settings › Payments and chooses Turn on payments (or asks the assistant; the tool is enable_payments).
  2. Stripe asks for your business or organization details and the bank account for payouts. You can stop and come back with Continue setup.
  3. When you finish, the site shows Under review while we take a one-time look at the new account, and while Stripe finishes its own checks.
  4. When it says Ready, your checkout and donation forms work.

The money goes to your Stripe account and Stripe pays it out to your bank. Refunds, disputes and payout schedules are in your Stripe dashboard too (Stripe dashboard button).

Who receives the money

Exactly one site owner receives the payouts. To change that, the current holder offers it to another owner (or another owner asks for it), and the other person accepts. The new person must finish their own Stripe setup first, so payments never stop in between. If the holder is no longer an owner of the site, any owner can take over. Every change is logged and both people get an email.

Fees

There is no monthly charge. On each sale the platform keeps a small share of the item total (not shipping or tax), based on the site's card sales in a month:

Monthly salesPlatform fee
up to $2,0000.5%
$2,000 to $10,0000.4%
$10,000 to $50,0000.25%
above $50,0000.15%

The rate uses the larger of last month and this month so far, so a busy month lowers your rate right away and keeps it low the month after. Stripe's own card processing fee is charged by Stripe to your account, as with any Stripe account. When you refund, the platform fee is refunded in proportion.

Coming later: a fixed plan of 20,000 credits a month plus 0.05% per sale, for sites selling more than about $5,750 a month. Settings › Payments shows when it would cost you less.

The checkout form and the order flow are ordinary flow runs, charged in credits like any other form (see Billing & credits).

Ready-made pages

Right after turning payments on, Install payment templates (install_payment_templates) adds drafts you can edit, then publish:

  • Cart at /cart, with an add-to-cart button snippet for product pages, and /order/thanks.
  • Buy now button snippet (buy-button): one product straight to checkout.
  • Give at /donate: preset amounts, an "other" amount, and Give monthly.
  • The order-completed flow (team alert and receipt) and a receipt-email template.

Anything you already have with the same name is kept unless you ask to replace it.

Products

Products are records in the products collection. Each needs a name and a price_cents (whole cents, e.g. 800 for $8.00). Optional: "active": false hides it from checkout, "shippable": false for things that aren't shipped (gift cards, tickets). The cart sends only product ids and quantities; prices always come from your records, never from the browser.

The checkout step

A stripe_checkout step ends a POST flow and sends the visitor to Stripe:

{"type": "stripe_checkout", "items": "{{input.items}}", "shipping": true,
 "success_path": "/order/thanks", "cancel_path": "/cart"}
{"type": "stripe_checkout", "amount": "{{input.amount}}", "min_cents": 100, "max_cents": 1000000,
 "submit_type": "donate", "success_path": "/donate/thanks"}
  • items: the cart, [{"id":"loaf","qty":2}] (up to 50 lines, 1–99 each). Or amount / amount_cents for a fixed price or a visitor-chosen amount (which needs min_cents and max_cents).
  • "mode": "subscription" with "interval": "month" (or week, year) for recurring gifts.
  • shipping: ask for an address and offer your shipping rates. buyer_email prefills the email.
  • The success page gets ?order=<order id>. Checkout forms must be sent from your own site's pages.
  • If payments aren't ready, visitors see "Payments aren't available on this site right now." and nothing is charged.

Shipping

In Settings › Payments › Shipping (or set_shipping_settings), add up to 5 fixed rates, such as "Standard, $6, 3–5 days", an optional free-shipping amount, and the countries you ship to (default: US). Carts with only non-shippable items skip shipping.

After a payment

When Stripe confirms a payment, the site's order flow (order-completed) runs. It can use {{order.*}}: order.id, order.amount, order.items, order.items_text, order.buyer_email, order.buyer_name, order.shipping_address and more. Visitors can't call it. Useful steps there:

  • notify_team: emails the people on the order-alert list (default: the site's owners).
  • send_email with "template": "receipt-email": your own receipt from your own mail account.

Receipts: by default, if the site has a mail account and the order flow sends a published email template, the buyer gets your email; otherwise Stripe sends its standard receipt. You can choose one or the other in Settings › Payments.

Orders and refunds

Settings › Payments lists recent orders with their items, buyer and shipping address (list_orders, get_order). Owners can refund all or part of an order (refund_order, always confirmed). Orders are kept for a year.

Updated October 24, 2026