> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pay What You Want Pricing

> Let customers choose their price above a minimum. Optionally show a suggested price. Optimized for one‑time purchases.

**Pay What You Want (PWYW)** lets customers decide how much they pay—at or above a merchant‑defined minimum. It increases engagement, encourages community support, and provides flexible pricing for digital products.

<Frame>
  <iframe className="w-full aspect-video rounded-md" src="https://www.youtube.com/embed/Lh0Q01b33NY" title="Pay What You Want Pricing | Dodo Payments" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />
</Frame>

## What Is Pay What You Want?

PWYW is a pricing model where customers set their own price within guardrails you define. It’s ideal for:

* **Digital products and media**: Templates, e‑books, courses, plugins
* **Experimental launches**: Early access, beta releases, time‑boxed promos
* **Bundles and extras**: Add a PWYW tier to boost participation

## Key Benefits

* **Customer‑driven pricing**: Buyers choose what they pay
* **Revenue floor**: Enforce a minimum to protect margins
* **Anchored expectations**: Optional suggested price to guide choices
* **Seamless checkout**: Hosted checkout and receipts handled for you
* **Developer‑first**: Clear APIs for creation, refunds, and webhooks

<Warning>
  PWYW is available only for **Single Payment** (one‑time) products.
</Warning>

## Creating Pay What You Want

Create a one‑time product and enable PWYW in your Dodo Payments dashboard. The sections below map directly to the creation form.

### Product creation

#### Product details

* **Product Name** (required): Display name shown in checkout and invoices
* **Product Description** (required): Clear value statement customers see before paying
* **Product Image** (required): PNG/JPG/WebP up to 3 MB
* **Brand**: Associate the product with a specific brand for theming and emails
* **Tax Category** (required): Choose the correct category to determine tax rules

<Tip>
  Pick the most accurate tax category to ensure correct tax collection per region.
</Tip>

#### Pricing

* **Pricing Type**: Choose <b>Single Payment</b>
* **Pay What You Want** (toggle): Enable to let buyers choose the amount
* **Minimum Price** (required): Lowest allowed amount a customer can pay
* **Suggested Price** (optional): Recommended amount shown on the product page

<Tip>
  Use metadata to store identifiers from your system (e.g., orderId) so you can reconcile events and receipts later.
</Tip>

## API Management

<AccordionGroup>
  <Accordion title="Create checkout sessions (PWYW)">
    Use `POST /checkouts` to create one‑time checkout sessions from products. Checkout will prompt buyers to enter an amount that meets your PWYW minimum.

    <Card title="API Reference" icon="code" href="/api-reference/checkout-sessions/create">
      View the create checkout session API.
    </Card>
  </Accordion>

  <Accordion title="Refund payments">
    Use `POST /refunds` to create full or partial refunds. Customers are refunded the exact amount they paid.

    <Card title="API Reference" icon="code" href="/api-reference/refunds/post-refunds">
      Learn how to refund a payment.
    </Card>
  </Accordion>

  <Accordion title="List and retrieve">
    Use `GET /payments` to list payments and `GET /payments/{payment_id}` to retrieve one. Retrieve line items with `GET /payments/{payment_id}/line-items`.

    <Card title="List Payments" icon="code" href="/api-reference/payments/get-payments">
      Browse the listing API.
    </Card>

    <Card title="Get Payment Detail" icon="code" href="/api-reference/payments/get-payments-1">
      See the retrieval API.
    </Card>

    <Card title="Retrieve Line Items" icon="code" href="/api-reference/payments/retrieve-line-items">
      Inspect purchased items for a payment.
    </Card>
  </Accordion>

  <Accordion title="Payment webhooks">
    React to events like payment.succeeded or payment.failed in your backend.

    <Card title="Webhook Guide" icon="code" href="/developer-resources/webhooks/intents/payment">
      Handle payment lifecycle events.
    </Card>
  </Accordion>
</AccordionGroup>

## Common Use Cases

* **Digital assets**: Themes, templates, icon sets, media, or plugins
* **Content and education**: E‑books, courses, workshops with supporter pricing
* **Community & donations**: Fundraisers, open‑source sponsorships, creator support
* **Launch experiments**: Beta access and time‑boxed campaigns to gauge demand

## Integration Examples

### Checkout Sessions (single payment, PWYW)

Add a PWYW product to the cart. Checkout collects the buyer’s amount (respecting your minimum) — no extra fields are required.

```typescript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_pwyw_demo', quantity: 1 }
  ],
  return_url: 'https://yoursite.com/checkout/success'
});
```

## Best Practices

* **Choose a sensible minimum**: Cover costs while keeping participation easy
* **Use a suggested price**: Anchor expectations to improve average order value
* **Explain value clearly**: Tell buyers what their contribution unlocks
* **A/B test campaigns**: Time‑box offers and experiment with messaging
* **Monitor distribution**: Track paid amounts to refine minimum and suggested price

<Info>
  PWYW is a flexible way to invite more customers in while preserving a revenue floor. Start simple, test thoroughly, and iterate based on conversion, contribution distribution, and refund rates.
</Info>
