Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.paywithsoap.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

An ecommerce purchase checkout allows customers to buy physical goods such as nutraceuticals, peptides, supplements, and other products. This uses line items to define what the customer is buying, with a traditional shopping cart experience.

How It Works

1

Create Or Provide Products

You can create products in Soap ahead of time or pass inline dynamic product details directly in line_items.
2

Create a Checkout Session

Create a checkout session with type: "deposit" and include line_items.
Line items with sku: "shipping" or sku: "tax" are treated as special product types and are rendered in the checkout UI as you would expect (as shipping and tax line items rather than regular products).
3

Customer Completes Purchase

The customer is redirected to the Soap-hosted checkout page showing the cart and total, selects a payment method, and completes the purchase.
4

Receive Confirmation

Upon completion, a webhook is fired and the customer is redirected back to your app.

API Request

You can also manage products from the Soap dashboard and reference them by ID. Simply pass line_items: [{ "product_id": "pr_XXX", "quantity": 1 }] instead of inline product details.
curl -X POST 'https://api-sandbox.paywithsoap.com/api/v1/checkouts' \
--header 'Content-Type: application/json' \
--header 'Authorization: YOUR_API_KEY' \
--data '{
    "customer_id": "cus_vi57KegYgcRqcGHqip8q6UZiqtrwMT870",
    "type": "deposit",
    "line_items": [
        {
            "name": "Peptide Starter Kit",
            "price_cents": 9999,
            "quantity": 1,
            "sku": "peptide-starter-kit",
            "url": "https://example.com/products/peptide-starter-kit.png",
            "dedup": true
        },
        {
            "name": "Shipping",
            "price_cents": 1000,
            "quantity": 1,
            "sku": "shipping",
            "dedup": true
        },
        {
            "name": "Tax",
            "price_cents": 825,
            "quantity": 1,
            "sku": "tax",
            "dedup": true
        }
    ],
    "experience": "web",
    "return_url": "https://myapp.com/orders"
}'

Key Parameters

ParameterRequiredDescription
customer_idYesThe customer’s unique identifier
typeYesMust be "deposit"
line_itemsYesArray of existing product references or inline dynamic products
experienceNo"web" or "webview"
return_urlNoWhere to redirect the customer after completion

Line Item Parameters

Each line item can reference an existing product or define a product inline.
ParameterRequiredDescription
line_items[].product_idYes for existing productsSoap product ID for an existing product. Use with quantity.
line_items[].nameYes for inline productsProduct name to create and display in checkout.
line_items[].price_centsYes for inline productsUnit price in cents. Must be at least 1.
line_items[].quantityYesNumber of units to purchase. Must be at least 1.
line_items[].skuRequired when dedup is trueStable merchant SKU used with price_cents to find an existing product for this business.
line_items[].urlNoProduct image URL shown in checkout where supported.
line_items[].dedupNoWhen true, Soap reuses an existing product for the same business when sku and price_cents match. Requires sku.

When to Use

  • Nutraceuticals and peptide products
  • Supplements and wellness items
  • Any physical goods catalog or dynamically priced cart

← Back to Create Checkout

View the full API reference for creating checkouts.