메인 콘텐츠로 건너뛰기

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 (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.

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
PWYW is available only for Single Payment (one‑time) products.

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
Pick the most accurate tax category to ensure correct tax collection per region.

Pricing

  • Pricing Type: Choose Single Payment
  • 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
Use metadata to store identifiers from your system (e.g., orderId) so you can reconcile events and receipts later.

API Management

제품에서 POST /checkouts을 사용하여 일회성 결제 세션을 생성합니다. 결제 시 구매자가 PWYW 최소 금액을 충족하는 금액을 입력하라는 메시지가 표시됩니다.

API Reference

View the create checkout session API.
Use POST /refunds to create full or partial refunds. Customers are refunded the exact amount they paid.

API Reference

Learn how to refund a payment.
Use GET /payments to list payments and GET /payments/{payment_id} to retrieve one. Retrieve line items with GET /payments/{payment_id}/line-items.

List Payments

Browse the listing API.

Get Payment Detail

See the retrieval API.

Retrieve Line Items

Inspect purchased items for a payment.
React to events like payment.succeeded or payment.failed in your backend.

Webhook Guide

Handle payment lifecycle events.

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.
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
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.
Last modified on May 28, 2026