> Turn a Substack post into a product-backed checkout without building a separate storefront.

Source: https://plandalf.com/stacks/substack-shop

[Integrations](https://plandalf.com/integrations)

Substack Shop

**Tools in this stack**[Stripe](https://plandalf.com/platforms/stripe)[HTML](https://plandalf.com/platforms/custom-html)

Builder resource

# Substack Shop

Turn a Substack post into a [product](https://plandalf.com/products/checkouts)\-backed [checkout](https://plandalf.com/products/checkouts/hosted-checkout) without building a separate storefront.

Sell a [template](https://plandalf.com/templates), report, workshop, membership, or paid download from a Substack post while Plandalf owns the [offer](https://plandalf.com/products/checkouts), [checkout](https://plandalf.com/products/checkouts/hosted-checkout), [invoice](https://plandalf.com/products/checkouts/invoices), and [purchase event](https://plandalf.com/docs/api/webhooks).

No website required. The Substack post creates demand, a link, button, or button opens the Plandalf [offer](https://plandalf.com/products/checkouts), [Stripe](https://plandalf.com/platforms/stripe) collects [payment](https://plandalf.com/products/checkouts/payment-options), and the completed purchase can route [buyer](https://plandalf.com/docs/sdk/identity) context into fulfilment, segmentation, or the next issue's follow-up [sequence](https://plandalf.com/products/automations).

**Built for:** Newsletter operators on Substack

This page is the builder map: patterns, responsibilities, recipes, and [product](https://plandalf.com/products/checkouts) decisions for adding Plandalf to this commerce stack.

[

![The Numi editor top bar showing preview and share controls for a buying surface.](https://plandalf.com/images/features/buy-button/editor-topbar-preview-share-product.png)


](https://plandalf.com/products/checkouts/hosted-checkout)

[Buy buttons](https://plandalf.com/docs/offers/buy-buttons) and shareable [offers](https://plandalf.com/products/checkouts) keep the buying moment close to the page, post, or campaign.

[

![The Numi offer editor showing hosted checkout mode controls.](https://plandalf.com/images/features/hosted-checkout/offer-editor-hosted-mode-product.png)


](https://plandalf.com/products/checkouts/hosted-checkout)

[Hosted checkout](https://plandalf.com/docs/offers/hosted-checkout) lets a sales page hand buyers to a branded [offer page](https://plandalf.com/products/checkouts) when embedding is not the right fit.

## Architecture

Treat [Plandalf Offers](https://plandalf.com/products/checkouts) as the commerce layer between the sales page, the buying moment, and the [payment processor](https://plandalf.com/products/checkouts/payment-options). Your stack owns the audience and fulfilment experience. Plandalf owns [offer configuration](https://plandalf.com/products/checkouts), [checkout state](https://plandalf.com/products/checkouts/hosted-checkout), [pricing rules](https://plandalf.com/products/checkouts/payment-options), [buyer identity](https://plandalf.com/docs/sdk/identity), [invoices](https://plandalf.com/products/checkouts/invoices), and the [events](https://plandalf.com/docs/api/webhooks) that drive follow-up.

[Site**Site**_Buyer clicks the CTA on your page._](https://plandalf.com/platforms/substack)[Checkout**Plandalf**_Buyer opens the embedded checkout/modal._](https://plandalf.com/products/checkouts)[Payment**Stripe**_Buyer submits payment in Plandalf._](https://plandalf.com/platforms/stripe)[Email**Email**_The same Plandalf purchase event fires._](https://plandalf.com/platforms/substack)

StageSystemHandoff

Site[Site](https://plandalf.com/platforms/substack)Plandalf opens from that page with the selected [offer context](https://plandalf.com/products/checkouts).

Checkout[Plandalf](https://plandalf.com/products/checkouts)Plandalf validates the [offer](https://plandalf.com/products/checkouts), applies [pricing](https://plandalf.com/products/checkouts/payment-options) logic, and emits [checkout events](https://plandalf.com/docs/api/webhooks).

Payment[Stripe](https://plandalf.com/platforms/stripe)Plandalf sends the [payment request](https://plandalf.com/products/checkouts/payment-options) to [Stripe](https://plandalf.com/platforms/stripe), then records the completed [purchase event](https://plandalf.com/docs/api/webhooks).

Email[Email](https://plandalf.com/platforms/substack)Plandalf [Automation](https://plandalf.com/products/automations/purchase-automations) sends the event and [customer](https://plandalf.com/docs/sdk/identity) fields to Email.

## How This Stack Makes The Sale Work

Substack Shop is useful when each tool has a clear job: the audience surface creates intent, Plandalf turns that intent into a configured [offer](https://plandalf.com/products/checkouts), [Stripe](https://plandalf.com/platforms/stripe) collects [payment](https://plandalf.com/products/checkouts/payment-options), and the follow-up tools receive the purchase context they need.

### The newsletter creates demand

Substack should keep doing the editorial work: publish the story, explain why the asset matters, and place the buying action where the reader is ready. Plandalf starts when that reader becomes a [buyer](https://plandalf.com/docs/sdk/identity).

[Substack integration](https://plandalf.com/platforms/substack)[Buy button](https://plandalf.com/products/checkouts/hosted-checkout)[Hosted checkout](https://plandalf.com/products/checkouts/hosted-checkout)

### The [offer](https://plandalf.com/products/checkouts) preserves the commercial record

The paid download, workshop, [template](https://plandalf.com/templates), or membership should exist as a Plandalf [product](https://plandalf.com/products/checkouts) with a stable [price](https://plandalf.com/products/checkouts/payment-options), [checkout](https://plandalf.com/products/checkouts/hosted-checkout) layout, [coupon](https://plandalf.com/products/checkouts/coupons) rules, [invoice](https://plandalf.com/products/checkouts/invoices) settings, and [Stripe](https://plandalf.com/platforms/stripe) [payment](https://plandalf.com/products/checkouts/payment-options) configuration.

[Products](https://plandalf.com/products/checkouts)[Prices](https://plandalf.com/products/checkouts/payment-options)[Coupons](https://plandalf.com/products/checkouts/coupons)[Stripe integration](https://plandalf.com/platforms/stripe)

### The purchase informs the next issue

After [payment](https://plandalf.com/products/checkouts/payment-options), the [buyer](https://plandalf.com/docs/sdk/identity) should receive fulfilment, [invoice](https://plandalf.com/products/checkouts/invoices) records, and any follow-up context the newsletter needs. That makes the next issue more useful than a generic broadcast.

[Purchase automations](https://plandalf.com/products/automations/purchase-automations)[Checkout fulfillment sequence](https://plandalf.com/products/automations)[Invoices](https://plandalf.com/products/checkouts/invoices)[Customer identify](https://plandalf.com/docs/sdk/identify)

## Choose The Pattern

Start by deciding which business moment you are building. The stack changes depending on whether [checkout](https://plandalf.com/products/checkouts/hosted-checkout) starts from a sales page, a launch campaign, an [offer page](https://plandalf.com/products/checkouts), a [checkout](https://plandalf.com/products/checkouts/hosted-checkout) [template](https://plandalf.com/templates), or an existing [product](https://plandalf.com/products/checkouts) catalog.

### Turn a newsletter issue into a paid offer

**Use when:** The post already explains the demand: a [template](https://plandalf.com/templates) drop, report, workshop replay, paid download, sponsorship package, or bonus for subscribers.

**Build:** Keep the story and audience relationship in Substack, then send the purchase action to a Plandalf [offer](https://plandalf.com/products/checkouts) with [products](https://plandalf.com/products/checkouts), [prices](https://plandalf.com/products/checkouts/payment-options), [coupons](https://plandalf.com/products/checkouts/coupons), [invoices](https://plandalf.com/products/checkouts/invoices), and [Stripe](https://plandalf.com/platforms/stripe) [payment options](https://plandalf.com/products/checkouts/payment-options) already configured.

[Substack integration](https://plandalf.com/platforms/substack)[Offers](https://plandalf.com/products/checkouts)[Products](https://plandalf.com/products/checkouts)[Stripe](https://plandalf.com/platforms/stripe)

### Sell a one-off product without opening a storefront

**Use when:** The operator wants to test a paid asset from a newsletter before committing to a full store, course platform, or membership stack.

**Build:** Create a one-time [product](https://plandalf.com/products/checkouts) and flat-rate [price](https://plandalf.com/products/checkouts/payment-options), style the [hosted checkout](https://plandalf.com/docs/offers/hosted-checkout) to match the publication, and reuse the same [offer](https://plandalf.com/products/checkouts) link across the post, button block, footer, and follow-up issue.

[One-time prices](https://plandalf.com/products/checkouts/payment-options)[Flat-rate prices](https://plandalf.com/products/checkouts/payment-options)[Hosted checkout](https://plandalf.com/products/checkouts/hosted-checkout)[Custom styles](https://plandalf.com/products/checkouts/custom-layouts)

### Follow up with buyers as subscribers

**Use when:** The sale should inform the next issue: [buyer](https://plandalf.com/docs/sdk/identity) segmentation, fulfilment links, upgrade prompts, [invoices](https://plandalf.com/products/checkouts/invoices), and support context need to survive after [checkout](https://plandalf.com/products/checkouts/hosted-checkout).

**Build:** Use the completed [purchase event](https://plandalf.com/docs/api/webhooks) to preserve [buyer](https://plandalf.com/docs/sdk/identity) context, send [invoice](https://plandalf.com/products/checkouts/invoices) records, route fulfilment, and decide what the next Substack issue should say to buyers versus non-buyers.

[Purchase automations](https://plandalf.com/products/automations/purchase-automations)[Checkout fulfillment sequence](https://plandalf.com/products/automations)[Invoices](https://plandalf.com/products/checkouts/invoices)[Metadata](https://plandalf.com/products/automations/webhooks)

## Build The Offer Layer

The [offer](https://plandalf.com/products/checkouts) is the commercial object your [product](https://plandalf.com/products/checkouts) points at. It should describe what the [buyer](https://plandalf.com/docs/sdk/identity) can purchase, how [checkout](https://plandalf.com/products/checkouts/hosted-checkout) appears, which [price](https://plandalf.com/products/checkouts/payment-options) rules apply, what [invoice](https://plandalf.com/products/checkouts/invoices) gets recorded, and what [automation](https://plandalf.com/products/automations/purchase-automations) happens after purchase.

-   Use a stable [offer](https://plandalf.com/products/checkouts) for each plan, [product](https://plandalf.com/products/checkouts), [template](https://plandalf.com/templates), package, or upgrade path.
-   Attach [products](https://plandalf.com/products/checkouts) and [prices](https://plandalf.com/products/checkouts/payment-options) before you wire the buying moment into the app.
-   Set [invoice](https://plandalf.com/products/checkouts/invoices), [automation](https://plandalf.com/products/automations/purchase-automations), [coupon](https://plandalf.com/products/checkouts/coupons), [bump](https://plandalf.com/products/checkouts/order-bumps), [upsell](https://plandalf.com/products/checkouts/upsells), and confirmation behavior where the seller can inspect it.

![The Numi offer editor with layout, product, theme, automation, invoice, and settings controls.](https://plandalf.com/images/stacks/api-first/numi-offer-editor.png)

The [offer](https://plandalf.com/products/checkouts) editor is where the [checkout surface](https://plandalf.com/products/checkouts/hosted-checkout), [products](https://plandalf.com/products/checkouts), [automation](https://plandalf.com/products/automations/purchase-automations), [invoices](https://plandalf.com/products/checkouts/invoices), and display mode come together.

## Wire The Buying Moment

The stack should decide when the [buyer](https://plandalf.com/docs/sdk/identity) is ready. Plandalf should decide what the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) means. Keep the page, campaign, or [offer](https://plandalf.com/products/checkouts) focused on the buying moment, then let the [offer](https://plandalf.com/products/checkouts) carry the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) mode, [product](https://plandalf.com/products/checkouts), [price](https://plandalf.com/products/checkouts/payment-options), [invoice](https://plandalf.com/products/checkouts/invoices), and [automation](https://plandalf.com/products/automations/purchase-automations) context.

**On the offer page**Use for [hosted checkout pages](https://plandalf.com/products/checkouts/hosted-checkout), launch pages, [pricing](https://plandalf.com/products/checkouts/payment-options) pages, and [checkout templates](https://plandalf.com/templates).

**Inside the campaign**Use for [coupons](https://plandalf.com/products/checkouts/coupons), deadline funnels, [order bumps](https://plandalf.com/products/checkouts/order-bumps), [upsells](https://plandalf.com/products/checkouts/upsells), [save offers](https://plandalf.com/docs/offers/save-offers), and lifecycle [sequences](https://plandalf.com/products/automations).

**After purchase**Use when fulfilment, [invoices](https://plandalf.com/products/checkouts/invoices), receipts, CRM updates, [tax](https://plandalf.com/platforms/tax) context, or email follow-up need the same [purchase event](https://plandalf.com/docs/api/webhooks).

[![The Numi editor top bar showing preview and share controls for a buying surface.](https://plandalf.com/images/features/buy-button/editor-topbar-preview-share-product.png)](https://plandalf.com/products/checkouts/hosted-checkout)

[Buy buttons](https://plandalf.com/docs/offers/buy-buttons) and shareable [offers](https://plandalf.com/products/checkouts) keep the buying moment close to the page, post, or campaign.

## Plan The Data Contract

The useful part of a commerce stack is not the button. It is the agreement between the [offer](https://plandalf.com/products/checkouts), Plandalf, the [payment processor](https://plandalf.com/products/checkouts/payment-options), and follow-up tools about which object owns each piece of commerce state.

ObjectPrimary ownerHow Plandalf uses it

[Customer](https://plandalf.com/docs/sdk/identity)Your appReceives identity and [buyer](https://plandalf.com/docs/sdk/identity) fields so [checkout](https://plandalf.com/products/checkouts/hosted-checkout) and follow-up stay attached to the right person.

[Offer](https://plandalf.com/products/checkouts)[Plandalf](https://plandalf.com/products/checkouts)Packages [products](https://plandalf.com/products/checkouts), [prices](https://plandalf.com/products/checkouts/payment-options), [checkout](https://plandalf.com/products/checkouts/hosted-checkout) mode, [invoices](https://plandalf.com/products/checkouts/invoices), [coupons](https://plandalf.com/products/checkouts/coupons), [bumps](https://plandalf.com/products/checkouts/order-bumps), [upsells](https://plandalf.com/products/checkouts/upsells), and confirmation state.

[Product and price](https://plandalf.com/products/checkouts)SharedUse stable keys so app entitlements, [invoices](https://plandalf.com/products/checkouts/invoices), and [automation](https://plandalf.com/products/automations/purchase-automations) [events](https://plandalf.com/docs/api/webhooks) point at the same commercial object.

[Payment](https://plandalf.com/products/checkouts/payment-options)[Stripe](https://plandalf.com/platforms/stripe)Plandalf keeps [checkout](https://plandalf.com/products/checkouts/hosted-checkout) and [invoice](https://plandalf.com/products/checkouts/invoices) context while the processor handles the charge.

[Purchase event](https://plandalf.com/docs/api/webhooks)[Plandalf](https://plandalf.com/products/automations)Starts fulfilment, CRM updates, lifecycle [sequences](https://plandalf.com/products/automations), receipts, and internal [notifications](https://plandalf.com/products/automations/purchase-automations).

## Product Surfaces This Stack Depends On

These screenshots come from the [product](https://plandalf.com/products/checkouts) surfaces behind Substack Shop. They show the Plandalf records and controls a builder should configure before sending buyers from the audience surface into [checkout](https://plandalf.com/products/checkouts/hosted-checkout).

[

![The Numi editor top bar showing preview and share controls for a buying surface.](https://plandalf.com/images/features/buy-button/editor-topbar-preview-share-product.png)


](https://plandalf.com/products/checkouts/hosted-checkout)

[Buy buttons](https://plandalf.com/docs/offers/buy-buttons) and shareable [offers](https://plandalf.com/products/checkouts) keep the buying moment close to the page, post, or campaign.

[

![The Numi offer editor showing hosted checkout mode controls.](https://plandalf.com/images/features/hosted-checkout/offer-editor-hosted-mode-product.png)


](https://plandalf.com/products/checkouts/hosted-checkout)

[Hosted checkout](https://plandalf.com/docs/offers/hosted-checkout) lets a sales page hand buyers to a branded [offer page](https://plandalf.com/products/checkouts) when embedding is not the right fit.

[

![The Numi offer editor products panel showing products attached to an offer.](https://plandalf.com/images/features/products/offer-products-panel-focused-product.png)


](https://plandalf.com/products/checkouts)

[Products](https://plandalf.com/products/checkouts) keep the commercial object visible before the stack sends buyers into [checkout](https://plandalf.com/products/checkouts/hosted-checkout).

[

![The Numi offer settings payment controls showing checkout payment configuration.](https://plandalf.com/images/features/payment-options/offer-settings-controls-product.png)


](https://plandalf.com/products/checkouts/payment-options)

[Payment options](https://plandalf.com/products/checkouts/payment-options) belong beside the [offer](https://plandalf.com/products/checkouts), so the seller can review [checkout](https://plandalf.com/products/checkouts/hosted-checkout) methods before launch.

[

![The Numi offer invoices records view showing customer invoice rows and payment status.](https://plandalf.com/images/features/invoices/offer-invoices-records-product.png)


](https://plandalf.com/products/checkouts/invoices)

[Invoice](https://plandalf.com/products/checkouts/invoices) records preserve the [buyer](https://plandalf.com/docs/sdk/identity), line item, [payment state](https://plandalf.com/products/checkouts/payment-options), and support context after purchase.

[

![The Numi offer editor automation tab showing sequence controls beside the checkout canvas.](https://plandalf.com/images/features/automation/offer-editor-automation-tab-product.png)


](https://plandalf.com/products/automations/purchase-automations)

[Automation](https://plandalf.com/products/automations/purchase-automations) is configured beside the [offer](https://plandalf.com/products/checkouts), so purchase-triggered [workflows](https://plandalf.com/workflows) stay attached to the buying surface.

[

![The Numi product price row configured as a one-time price.](https://plandalf.com/images/features/prices/one-time-price-row-product.png)


](https://plandalf.com/products/checkouts/payment-options)

[One-time prices](https://plandalf.com/products/checkouts/payment-options) fit [templates](https://plandalf.com/docs/offers/templates), downloads, services, courses, and other direct purchase moments.

[

![The Numi pricing table showing a flat-rate price setup.](https://plandalf.com/images/features/prices/pricing-table-focused-product.png)


](https://plandalf.com/products/checkouts/payment-options)

[Flat-rate prices](https://plandalf.com/products/checkouts/payment-options) keep the amount clear across [checkout](https://plandalf.com/products/checkouts/hosted-checkout), [invoices](https://plandalf.com/products/checkouts/invoices), receipts, and fulfilment.

[

![The Numi checkout element palette showing content, interactive, and selling blocks.](https://plandalf.com/images/features/checkout-templates/checkout-elements-palette-product.png)


](https://plandalf.com/templates)

[Checkout templates](https://plandalf.com/templates) give operators reusable blocks for [product](https://plandalf.com/products/checkouts) lists, add-ons, buttons, forms, and [offer](https://plandalf.com/products/checkouts) content.

[

![The Numi offer editor themes tab showing style controls.](https://plandalf.com/images/features/custom-styles/offer-editor-themes-tab-product.png)


](https://plandalf.com/products/checkouts/custom-layouts)

Themes and styles keep the buying surface consistent with the seller brand.

[**Buy button**Checkout](https://plandalf.com/products/checkouts/hosted-checkout)[**Hosted checkout pages**Checkout](https://plandalf.com/products/checkouts/hosted-checkout)[**Products**Products and pricing](https://plandalf.com/products/checkouts)[**Payment options**Payments](https://plandalf.com/products/checkouts/payment-options)[**Invoices**Invoices](https://plandalf.com/products/checkouts/invoices)[**Purchase automations**Automation](https://plandalf.com/products/automations/purchase-automations)[**One-time prices**Products and pricing](https://plandalf.com/products/checkouts/payment-options)[**Flat-rate prices**Products and pricing](https://plandalf.com/products/checkouts/payment-options)

## Build Recipes

Use these like [product](https://plandalf.com/products/checkouts)\-specific implementation notes for a newsletter business: choose the [product](https://plandalf.com/products/checkouts) story, configure the Plandalf surface, then link into the exact features, [integrations](https://plandalf.com/integrations), [sequences](https://plandalf.com/products/automations), and docs needed to ship it.

![The Numi product price row configured as a one-time price.](https://plandalf.com/images/features/prices/one-time-price-row-product.png)

[One-time prices](https://plandalf.com/products/checkouts/payment-options) fit [templates](https://plandalf.com/docs/offers/templates), downloads, services, courses, and other direct purchase moments.

### Sell a paid [template](https://plandalf.com/templates) from an issue

**Outcome:** A reader finishes the post, clicks the [offer](https://plandalf.com/products/checkouts) button, pays through [Stripe](https://plandalf.com/platforms/stripe), and receives the correct [product](https://plandalf.com/products/checkouts) record and [invoice](https://plandalf.com/products/checkouts/invoices).

1.  Create the [template](https://plandalf.com/templates) as a Plandalf [product](https://plandalf.com/products/checkouts) with a one-time or flat-rate [price](https://plandalf.com/products/checkouts/payment-options).
2.  Build the Substack post around the result the reader gets, then place the Plandalf [offer](https://plandalf.com/products/checkouts) link beside the buying copy.
3.  Use [hosted checkout](https://plandalf.com/docs/offers/hosted-checkout) or a [buy button](https://plandalf.com/products/checkouts/hosted-checkout) so the post stays editorial and the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) stays [product](https://plandalf.com/products/checkouts)\-backed.
4.  Route the completed purchase into fulfilment, [invoice](https://plandalf.com/products/checkouts/invoices) records, and [buyer](https://plandalf.com/docs/sdk/identity) [metadata](https://plandalf.com/products/automations/webhooks) for the next issue.

[Products](https://plandalf.com/products/checkouts)[One-time prices](https://plandalf.com/products/checkouts/payment-options)[Hosted checkout](https://plandalf.com/products/checkouts/hosted-checkout)[Substack integration](https://plandalf.com/platforms/substack)[Checkout fulfillment](https://plandalf.com/products/automations)

![The Numi promo overview showing active deadline campaigns and campaign state.](https://plandalf.com/images/features/promos/promo-overview-product.png)

[Deadline campaigns](https://plandalf.com/products/promos/deadline-campaigns) keep launch windows, flash sales, expiring [coupons](https://plandalf.com/products/checkouts/coupons), and promo status visible before [checkout](https://plandalf.com/products/checkouts/hosted-checkout).

### Run a limited newsletter drop

**Outcome:** The post, [offer](https://plandalf.com/products/checkouts), [coupon](https://plandalf.com/products/checkouts/coupons), [checkout](https://plandalf.com/products/checkouts/hosted-checkout) total, and follow-up all agree about the launch window.

1.  Create the [offer](https://plandalf.com/products/checkouts) before drafting the announcement so [price](https://plandalf.com/products/checkouts/payment-options) and [product](https://plandalf.com/products/checkouts) details are settled.
2.  Attach a [coupon](https://plandalf.com/products/checkouts/coupons) or deadline campaign to the [offer](https://plandalf.com/products/checkouts) instead of making the discount live only in the issue copy.
3.  Use the same [offer](https://plandalf.com/products/checkouts) link in the launch post, reminder issue, footer, and paid subscriber note.
4.  After the window closes, use the [purchase event](https://plandalf.com/docs/api/webhooks) and [coupon](https://plandalf.com/products/checkouts/coupons) context to separate buyers from readers.

[Promos](https://plandalf.com/products/promos)[Deadline campaigns](https://plandalf.com/products/promos/deadline-campaigns)[Coupons](https://plandalf.com/products/checkouts/coupons)[Coupon deadline funnel](https://plandalf.com/stacks/coupon-deadline-funnel)[Sequences](https://plandalf.com/products/automations)

![The Numi checkout element palette showing content, interactive, and selling blocks.](https://plandalf.com/images/features/checkout-templates/checkout-elements-palette-product.png)

[Checkout templates](https://plandalf.com/templates) give operators reusable blocks for [product](https://plandalf.com/products/checkouts) lists, add-ons, buttons, forms, and [offer](https://plandalf.com/products/checkouts) content.

### Add [checkout](https://plandalf.com/products/checkouts/hosted-checkout) blocks without building a storefront

**Outcome:** The newsletter can sell a workshop, report, download, or membership without moving into a full storefront system.

1.  Use the [offer](https://plandalf.com/products/checkouts) editor to choose the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) layout and selling blocks the [product](https://plandalf.com/products/checkouts) needs.
2.  Keep Substack responsible for the story and use Plandalf for [product](https://plandalf.com/products/checkouts) selection, [checkout templates](https://plandalf.com/templates), [payment options](https://plandalf.com/products/checkouts/payment-options), [invoices](https://plandalf.com/products/checkouts/invoices), and confirmation behavior.
3.  Add [coupons](https://plandalf.com/products/checkouts/coupons), [order bumps](https://plandalf.com/products/checkouts/order-bumps), or [upsells](https://plandalf.com/products/checkouts/upsells) only when they improve the buying decision inside the [offer](https://plandalf.com/products/checkouts).
4.  Preview and test the [offer](https://plandalf.com/products/checkouts) before linking it from the published post.

[Checkout templates](https://plandalf.com/templates)[Payment options](https://plandalf.com/products/checkouts/payment-options)[Order bumps](https://plandalf.com/products/checkouts/order-bumps)[Upsells](https://plandalf.com/products/checkouts/upsells)[Preview sessions](https://plandalf.com/products/checkouts/sales-flows)

![The Numi offer editor automation tab showing sequence controls beside the checkout canvas.](https://plandalf.com/images/features/automation/offer-editor-automation-tab-product.png)

[Automation](https://plandalf.com/products/automations/purchase-automations) is configured beside the [offer](https://plandalf.com/products/checkouts), so purchase-triggered [workflows](https://plandalf.com/workflows) stay attached to the buying surface.

### Turn buyers into a useful newsletter segment

**Outcome:** The next issue can treat buyers differently because the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) preserved [product](https://plandalf.com/products/checkouts), [price](https://plandalf.com/products/checkouts/payment-options), source, [invoice](https://plandalf.com/products/checkouts/invoices), and [metadata](https://plandalf.com/products/automations/webhooks).

1.  Attach [purchase automations](https://plandalf.com/products/automations/purchase-automations) to the [offer](https://plandalf.com/products/checkouts) before the issue goes live.
2.  Pass source [metadata](https://plandalf.com/products/automations/webhooks) from the Substack link so [purchase events](https://plandalf.com/docs/api/webhooks) keep campaign context.
3.  Send fulfilment and [invoice email](https://plandalf.com/products/checkouts/invoices) separately from editorial follow-up.
4.  Use [buyer](https://plandalf.com/docs/sdk/identity) context to write the next issue for buyers, non-buyers, or people who clicked without purchasing.

[Purchase automations](https://plandalf.com/products/automations/purchase-automations)[Metadata](https://plandalf.com/products/automations/webhooks)[Customer identify](https://plandalf.com/docs/sdk/identify)[Emailing invoices](https://plandalf.com/products/checkouts/invoices)[Automations](https://plandalf.com/products/automations)

## Compare The Pattern

A commerce stack is different from a processor-only [checkout](https://plandalf.com/products/checkouts/hosted-checkout), a marketplace storefront, or a standalone funnel tool. Use these linked comparisons when a builder is deciding whether [Plandalf Offers](https://plandalf.com/products/checkouts) should sit between the sales surface, [payment processor](https://plandalf.com/products/checkouts/payment-options), and follow-up tools.

### [Plandalf vs Gumroad](https://plandalf.com/alternatives/gumroad)

Compare with [Gumroad](https://plandalf.com/alternatives/gumroad). Use this when your [product](https://plandalf.com/products/checkouts) already has its own app, catalog, [customer identity](https://plandalf.com/docs/sdk/identity), and fulfilment path instead of needing a marketplace-style [checkout](https://plandalf.com/products/checkouts/hosted-checkout) [product](https://plandalf.com/products/checkouts).

[Products](https://plandalf.com/products/checkouts)[SDK checkout](https://plandalf.com/docs/api/sdk-checkout)[Webhooks](https://plandalf.com/docs/api/webhooks)

### [Plandalf vs SamCart](https://plandalf.com/comparisons/samcart-alternative)

Compare with [SamCart](https://plandalf.com/comparisons/samcart-alternative). Use this when [checkout](https://plandalf.com/products/checkouts/hosted-checkout) needs [offer](https://plandalf.com/products/checkouts) [automation](https://plandalf.com/products/automations/purchase-automations), [product](https://plandalf.com/products/checkouts) context, [invoices](https://plandalf.com/products/checkouts/invoices), and post-purchase [workflows](https://plandalf.com/workflows) rather than a separate funnel tool beside the business.

[Order bumps](https://plandalf.com/products/checkouts/order-bumps)[Upsells](https://plandalf.com/products/checkouts/upsells)[Automations](https://plandalf.com/products/automations)

[ThriveCart comparison](https://plandalf.com/comparisons/thrivecart-alternative)[ThriveCart alternatives](https://plandalf.com/comparisons/thrivecart-alternative)[ClickFunnels comparison](https://plandalf.com/alternatives/clickfunnels)[ClickFunnels alternatives](https://plandalf.com/alternatives/clickfunnels)[Kajabi comparison](https://plandalf.com/comparisons/kajabi-checkout)[Kajabi alternatives](https://plandalf.com/comparisons/kajabi-checkout)

## Linked Implementation Map

Use this map when Substack Shop turns from an idea into implementation work. Every linked feature, [integration](https://plandalf.com/integrations), docs page, [workflow](https://plandalf.com/workflows), comparison, [template](https://plandalf.com/templates), and tool is a next step a builder or agent can follow from this stack.

### Product surfaces

Configure these Plandalf features before sending buyers into the stack.

[**Buy button**_Checkout_](https://plandalf.com/products/checkouts/hosted-checkout)[**Hosted checkout pages**_Checkout_](https://plandalf.com/products/checkouts/hosted-checkout)[**Products**_Products_ and _pricing_](https://plandalf.com/products/checkouts)[**Payment options**_Payments_](https://plandalf.com/products/checkouts/payment-options)[**Invoices**_Invoices_](https://plandalf.com/products/checkouts/invoices)[**Purchase automations**_Automation_](https://plandalf.com/products/automations/purchase-automations)[**One-time prices**_Products_ and _pricing_](https://plandalf.com/products/checkouts/payment-options)[**Flat-rate prices**_Products_ and _pricing_](https://plandalf.com/products/checkouts/payment-options)[**Checkout templates**_Checkout_](https://plandalf.com/templates)[**Custom styles and themes**_Checkout_](https://plandalf.com/products/checkouts/custom-layouts)[**Coupons**_Coupons_](https://plandalf.com/products/checkouts/coupons)[**Deadline campaigns**Urgency](https://plandalf.com/products/promos/deadline-campaigns)[**Emailing invoices**_Invoices_](https://plandalf.com/products/checkouts/invoices)[**Customer identify**Data](https://plandalf.com/docs/sdk/identify)[**Form data**Data](https://plandalf.com/products/checkouts/sales-flows)[**Metadata**Data](https://plandalf.com/products/automations/webhooks)[**Stripe integration**_Payments_](https://plandalf.com/platforms/stripe)

### Integrations

The tools that own the audience, [payment](https://plandalf.com/products/checkouts/payment-options), delivery, [tax](https://plandalf.com/platforms/tax), CRM, or follow-up path.

[**Stripe**Take cards, wallets and subscriptions through your own _Stripe_ account on every Plandalf _checkout_.](https://plandalf.com/platforms/stripe)[**HTML**](https://plandalf.com/platforms/custom-html)

### Docs handoff

Move from stack planning into exact setup, [SDK](https://plandalf.com/docs/sdk), [API](https://plandalf.com/products/automations/webhooks), and [webhook](https://plandalf.com/docs/api/webhooks) reference pages.

[**Offers overview**Understand _Plandalf Offers_: _hosted checkout pages_, embedded _checkout_ flows, _products_, _prices_, add-ons, _order bumps_, _upsells_, _save offers_, and purchase context.](https://plandalf.com/docs/offers/overview)[**Products**Attach _products_ and _prices_ to _offers_ so _checkout_ sessions, _invoices_, and _integrations_ carry clean catalog context.](https://plandalf.com/docs/offers/products)[**Pricing models**Model _one-time prices_, subscriptions, tiered _pricing_, volume _pricing_, trials, discounts, and promo-driven _price_ changes.](https://plandalf.com/docs/offers/pricing)[**Hosted checkout**Plandalf's _hosted checkout_ — managed URL, theme-able down to fonts and layout, with test and _preview sessions_.](https://plandalf.com/docs/offers/hosted-checkout)[**Save offers**Present a discount, plan switch, pause, or deadline-bound _offer_ when a subscriber starts a cancellation path.](https://plandalf.com/docs/offers/save-offers)[**Stripe**Connect _Stripe_ as the _payment_ account behind _Plandalf offers_, then test _checkout_, _products_, _prices_, and payout behavior before _going live_.](https://plandalf.com/docs/platforms/stripe)[**Developer API reference**A compact map of _SDK_ methods, public client routes, and security boundaries.](https://plandalf.com/docs/api/reference)[**Webhooks**Start _Plandalf automations_ from generated catch URLs or send outbound HTTP requests from _automation_ actions.](https://plandalf.com/docs/api/webhooks)[**SDK checkout API**Understand _checkout_ internals without confusing _buyer_\-facing routes with _payment_ verification.](https://plandalf.com/docs/api/sdk-checkout)[**Install the SDK**Load the Plandalf browser _SDK_ on any site, app, page builder, or framework route.](https://plandalf.com/docs/sdk/install)[**React SDK**Build a concise upgrade button with the _React_ provider, promise results, and explicit backend props. Add _live events_ only when needed.](https://plandalf.com/docs/sdk/react)[**Live events**Use FlowHandle _events_ and DOM _events_ to observe _checkout_ starts, purchases, completions, and cancellations.](https://plandalf.com/docs/sdk/events)[**Identify customers**_Customer_ JWT claims, signing keys, validation, and browser identity lifecycle.](https://plandalf.com/docs/sdk/identity)[**Configure the SDK**Configure frame style, test mode, size, _promos_, identity, _session continuity_, _metadata_, properties, and close behavior.](https://plandalf.com/docs/sdk/configure)

### Recipes and sequences

Use these when the sale needs fulfilment, lifecycle, [webhook](https://plandalf.com/docs/api/webhooks), or [automation](https://plandalf.com/products/automations/purchase-automations) depth.

[**Checkout completed → fulfillment**Fire fulfillment actions the moment a Plandalf _checkout_ completes.](https://plandalf.com/products/automations)[**Sell a Webflow product with Stripe Checkout**Wire a Plandalf _hosted checkout_ into a _Webflow_ site, accept _Stripe_ _payments_, and fulfill on completion.](https://plandalf.com/workflows/sell-webflow-product-with-stripe-checkout)[**Stripe to Mailchimp: tag your buyers**Add every Plandalf and _Stripe_ _buyer_ to a _Mailchimp_ audience with a purchase tag, using a Send _Webhook_ action after _checkout_ completes.](https://plandalf.com/workflows/stripe-to-mailchimp-after-checkout)

### Comparisons

Decision pages for buyers choosing between Plandalf and narrower [checkout](https://plandalf.com/products/checkouts/hosted-checkout), funnel, storefront, or [automation](https://plandalf.com/products/automations/purchase-automations) tools.

[**Plandalf vs Gumroad**Use this when your _product_ already has its own app, catalog, _customer identity_, and fulfilment path instead of needing a marketplace-style _checkout_ _product_.](https://plandalf.com/alternatives/gumroad)[**Plandalf vs SamCart**Use this when _checkout_ needs _offer_ _automation_, _product_ context, _invoices_, and post-purchase _workflows_ rather than a separate funnel tool beside the business.](https://plandalf.com/comparisons/samcart-alternative)[**ThriveCart alternatives**Compare Plandalf with ThriveCart when this stack overlaps with a funnel, course, or _checkout_ tool and the _buyer_ is evaluating replacement options.](https://plandalf.com/comparisons/thrivecart-alternative)[**ClickFunnels alternatives**Compare Plandalf with _ClickFunnels_ when this stack overlaps with a funnel, course, or _checkout_ tool and the _buyer_ is evaluating replacement options.](https://plandalf.com/alternatives/clickfunnels)[**Kajabi alternatives**Compare Plandalf with _Kajabi_ when this stack overlaps with a funnel, course, or _checkout_ tool and the _buyer_ is evaluating replacement options.](https://plandalf.com/comparisons/kajabi-checkout)

### Templates and tools

Adjacent pages that help turn the stack into an implementation plan.

[**Webflow + Stripe Checkout**A ready-to-clone Plandalf _checkout_ _template_ designed for _Webflow_ sites paying via _Stripe_.](https://plandalf.com/templates/webflow-stripe-checkout)[**Writers & creators**Drop a _buy button_ inside the post. Sell the upgrade in the same scroll.](https://plandalf.com/products/checkouts)

## Operational Recipes

These are the practical recipes a builder usually needs after the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) opens. They stay [product](https://plandalf.com/products/checkouts)\-level: [Offers](https://plandalf.com/products/checkouts), [Automations](https://plandalf.com/products/automations), [integrations](https://plandalf.com/integrations), [invoices](https://plandalf.com/products/checkouts/invoices), [sequences](https://plandalf.com/products/automations), and [payment](https://plandalf.com/products/checkouts/payment-options) [events](https://plandalf.com/docs/api/webhooks) explain the [workflow](https://plandalf.com/workflows) before any tool-specific setup.

![The Numi offer editor showing hosted checkout mode controls.](https://plandalf.com/images/features/hosted-checkout/offer-editor-hosted-mode-product.png)

[Hosted checkout](https://plandalf.com/docs/offers/hosted-checkout) lets a sales page hand buyers to a branded [offer page](https://plandalf.com/products/checkouts) when embedding is not the right fit.

### Sell a downloadable asset from one issue

**Trigger:** A reader clicks the paid link or button in a Substack post

**Action:** Open a hosted Plandalf [checkout](https://plandalf.com/products/checkouts/hosted-checkout) for the download, collect [payment](https://plandalf.com/products/checkouts/payment-options) through [Stripe](https://plandalf.com/platforms/stripe), then send the completed [purchase event](https://plandalf.com/docs/api/webhooks) into fulfilment and [invoice](https://plandalf.com/products/checkouts/invoices) records.

[Substack integration](https://plandalf.com/platforms/substack)[Hosted checkout](https://plandalf.com/products/checkouts/hosted-checkout)[Stripe](https://plandalf.com/platforms/stripe)[Checkout fulfillment](https://plandalf.com/products/automations)

![The Numi promo overview showing active deadline campaigns and campaign state.](https://plandalf.com/images/features/promos/promo-overview-product.png)

[Deadline campaigns](https://plandalf.com/products/promos/deadline-campaigns) keep launch windows, flash sales, expiring [coupons](https://plandalf.com/products/checkouts/coupons), and promo status visible before [checkout](https://plandalf.com/products/checkouts/hosted-checkout).

### Run a deadline-backed newsletter drop

**Trigger:** The issue announces a limited report, cohort, workshop, or sponsor [offer](https://plandalf.com/products/checkouts)

**Action:** Attach a [coupon](https://plandalf.com/products/checkouts/coupons) or deadline campaign to the [offer](https://plandalf.com/products/checkouts) so the newsletter promise, [checkout](https://plandalf.com/products/checkouts/hosted-checkout) [price](https://plandalf.com/products/checkouts/payment-options), and [buyer](https://plandalf.com/docs/sdk/identity) record agree after the window closes.

[Promos](https://plandalf.com/products/promos)[Deadline campaigns](https://plandalf.com/products/promos/deadline-campaigns)[Coupons](https://plandalf.com/products/checkouts/coupons)[Coupon deadline funnel](https://plandalf.com/stacks/coupon-deadline-funnel)

![The Numi offer editor automation tab showing sequence controls beside the checkout canvas.](https://plandalf.com/images/features/automation/offer-editor-automation-tab-product.png)

[Automation](https://plandalf.com/products/automations/purchase-automations) is configured beside the [offer](https://plandalf.com/products/checkouts), so purchase-triggered [workflows](https://plandalf.com/workflows) stay attached to the buying surface.

### Segment buyers for the next issue

**Trigger:** Plandalf records a completed [checkout](https://plandalf.com/products/checkouts/hosted-checkout) with [product](https://plandalf.com/products/checkouts), [price](https://plandalf.com/products/checkouts/payment-options), [buyer](https://plandalf.com/docs/sdk/identity), and source context

**Action:** Use [metadata](https://plandalf.com/products/automations/webhooks) and [purchase automations](https://plandalf.com/products/automations/purchase-automations) to distinguish buyers from readers, send fulfilment, and shape the next issue around what they bought.

[Metadata](https://plandalf.com/products/automations/webhooks)[Customer identify](https://plandalf.com/docs/sdk/identify)[Automations](https://plandalf.com/products/automations)[Sequences](https://plandalf.com/products/automations)

![The Numi offer invoices records view showing customer invoice rows and payment status.](https://plandalf.com/images/features/invoices/offer-invoices-records-product.png)

[Invoice](https://plandalf.com/products/checkouts/invoices) records preserve the [buyer](https://plandalf.com/docs/sdk/identity), line item, [payment state](https://plandalf.com/products/checkouts/payment-options), and support context after purchase.

### Keep support and [invoice](https://plandalf.com/products/checkouts/invoices) context outside the post

**Trigger:** A [buyer](https://plandalf.com/docs/sdk/identity) asks for a receipt, refund detail, download status, or business [invoice](https://plandalf.com/products/checkouts/invoices)

**Action:** Use Plandalf [invoice](https://plandalf.com/products/checkouts/invoices) records, [customer](https://plandalf.com/docs/sdk/identity) fields, and [product](https://plandalf.com/products/checkouts) line items instead of trying to reconstruct the sale from Substack comments or email replies.

[Invoices](https://plandalf.com/products/checkouts/invoices)[PDF invoices](https://plandalf.com/products/checkouts/invoices)[Emailing invoices](https://plandalf.com/products/checkouts/invoices)[Invoice records ops](https://plandalf.com/stacks/invoice-records-ops)

## Builder Checklist

Before shipping the [integration](https://plandalf.com/integrations), verify these decisions. If one is unclear, the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) may open, but the business [workflow](https://plandalf.com/workflows) after purchase will still be brittle.

`01`**[Offer selected](https://plandalf.com/products/checkouts)**Every buying moment points to a clear [offer](https://plandalf.com/products/checkouts), not an improvised [payment](https://plandalf.com/products/checkouts/payment-options) link.

`02`**[Identity mapped](https://plandalf.com/docs/sdk/identity)**Your [product](https://plandalf.com/products/checkouts) can reconcile the [buyer](https://plandalf.com/docs/sdk/identity), [customer](https://plandalf.com/docs/sdk/identity), workspace, account, or entitlement after purchase.

`03`**[Event path chosen](https://plandalf.com/docs/api/webhooks)**Fulfilment starts from a [purchase event](https://plandalf.com/docs/api/webhooks) or [sequence](https://plandalf.com/products/automations), not from a front-end success screen alone.

`04`**[Records preserved](https://plandalf.com/products/checkouts/invoices)**[Invoices](https://plandalf.com/products/checkouts/invoices), line items, [payment state](https://plandalf.com/products/checkouts/payment-options), and [customer](https://plandalf.com/docs/sdk/identity) fields are available for support and reporting.

## Next Steps

### [The API-First Product](https://plandalf.com/stacks/api-first)

Split transactional email from lifecycle email so each tool does what it's good at.

[Stripe](https://plandalf.com/platforms/stripe)[Purchase automations](https://plandalf.com/products/automations/purchase-automations)[Metadata](https://plandalf.com/products/automations/webhooks)[Customer identify](https://plandalf.com/docs/sdk/identify)

### [The Founder List](https://plandalf.com/stacks/founder-list)

Ship a first paid [product](https://plandalf.com/products/checkouts) with three tools and no [automation](https://plandalf.com/products/automations/purchase-automations) platform in the middle.

[Stripe](https://plandalf.com/platforms/stripe)[Hosted checkout pages](https://plandalf.com/products/checkouts/hosted-checkout)[Buy button](https://plandalf.com/products/checkouts/hosted-checkout)[One-time prices](https://plandalf.com/products/checkouts/payment-options)

### [The Coach](https://plandalf.com/stacks/coach-consultant)

Take deposits and recurring retainers without re-platforming your existing site.

[Stripe](https://plandalf.com/platforms/stripe)[Hosted checkout pages](https://plandalf.com/products/checkouts/hosted-checkout)[Buy button](https://plandalf.com/products/checkouts/hosted-checkout)[Coupons](https://plandalf.com/products/checkouts/coupons)

### [The Affiliate Tax Launch](https://plandalf.com/stacks/affiliate-tax-launch)

Connect affiliate sales, [payment options](https://plandalf.com/products/checkouts/payment-options), live [tax](https://plandalf.com/platforms/tax) calculation, and post-purchase reconciliation.

[Affiliate integration](https://plandalf.com/products/affiliates)[Tax](https://plandalf.com/platforms/tax)[TaxJar](https://plandalf.com/platforms/taxjar)

### [The Course Creator](https://plandalf.com/stacks/course-creator)

Enrol each [buyer](https://plandalf.com/docs/sdk/identity) into the right cohort [sequence](https://plandalf.com/products/automations) the moment they pay.

[Products](https://plandalf.com/products/checkouts)[Product variants](https://plandalf.com/products/checkouts/payment-options)[Prices](https://plandalf.com/products/checkouts/payment-options)

### [The Template Shop](https://plandalf.com/stacks/designer-templates)

Sell digital download [products](https://plandalf.com/products/checkouts) with license-tier [upsells](https://plandalf.com/products/checkouts/upsells) and post-purchase delivery.

[Products](https://plandalf.com/products/checkouts)[Product variants](https://plandalf.com/products/checkouts/payment-options)[Tiered prices](https://plandalf.com/products/checkouts/payment-options)

### Automation sequences

[**Checkout completed → fulfillment**Fire fulfillment actions the moment a Plandalf checkout completes.](https://plandalf.com/products/automations)

### Templates

[**Webflow + Stripe Checkout**A ready-to-clone Plandalf checkout template designed for Webflow sites paying via Stripe.](https://plandalf.com/templates/webflow-stripe-checkout)

### Use cases

[**Writers & creators**Drop a buy button inside the post. Sell the upgrade in the same scroll.](https://plandalf.com/products/checkouts)[**Career coaches & advisors**Sell sessions, packages, and cohort programs on a checkout that matches your coaching practice.](https://plandalf.com/products/checkouts)[**Event organizers**Ticket tiers, early-bird timers, group rates, without renting a ticketing platform that owns your audience.](https://plandalf.com/products/checkouts)[**Studios, coaches, trainers**Sell memberships, class packs, and drops without renting another membership app every month.](https://plandalf.com/products/checkouts)[**Boutique hotels, restaurants, venues**Take the booking the moment the guest decides. Deposits, add-ons, and gift cards on one checkout.](https://plandalf.com/products/checkouts)

### Features and docs

[**Offers product**Checkout pages, embedded offers, products, prices, coupons, bumps, upsells, and invoices.](https://plandalf.com/products/checkouts)[**Automations product**Purchase-triggered workflows for CRM, email, fulfilment, records, and handoff.](https://plandalf.com/products/automations)[**Sequences**Events that fire after checkout, payment, subscription, and lifecycle changes.](https://plandalf.com/products/automations)[**Payment integrations**Stripe, PayPal, payment options, invoices, and payment event routing.](https://plandalf.com/platforms/payment)[**Offers docs**How Offers packages products, prices, checkout layouts, and conversion elements.](https://plandalf.com/docs/offers/overview)[**Hosted checkout docs**Hosted and embedded checkout setup, test sessions, and preview sessions.](https://plandalf.com/docs/offers/hosted-checkout)[**Stripe docs**How Stripe connects and what events Plandalf listens for.](https://plandalf.com/docs/platforms/stripe)[**Webhook docs**Checkout, payment, and subscription events for custom automations.](https://plandalf.com/docs/api/webhooks)[**Buy button**Checkout](https://plandalf.com/products/checkouts/hosted-checkout)[**Hosted checkout pages**Checkout](https://plandalf.com/products/checkouts/hosted-checkout)[**Products**Products and pricing](https://plandalf.com/products/checkouts)[**Payment options**Payments](https://plandalf.com/products/checkouts/payment-options)
