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

# One‑Time Payments

> Sell fixed‑price digital goods or services with a single upfront charge, no renewals.

<Info>
  One‑time payments let you sell lifetime access, downloads, or single‑use services with a single charge. There are no renewals, proration rules, or billing cycles. Just a clean, instant purchase experience.
</Info>

<CardGroup cols={2}>
  <Card title="License Keys" icon="code" href="/features/license-keys">
    Issue unique license keys after purchase.
  </Card>

  <Card title="Digital Delivery" icon="code" href="/features/digital-product-delivery">
    Automatically deliver files and content after payment.
  </Card>

  <Card title="Payment Webhooks" icon="code" href="/developer-resources/webhooks/intents/payment">
    React to payment succeeded/failed and receipt events.
  </Card>

  <Card title="Refunds API" icon="code" href="/api-reference/refunds/post-refunds">
    Create full or partial refunds programmatically.
  </Card>
</CardGroup>

## What Are One‑Time Payments?

One‑time payments are fixed, up‑front purchases - ideal for:

* **Software licenses**: Lifetime or major‑version unlocks
* **Digital downloads**: E‑books, templates, graphics, or plugins
* **Services**: Audits, onboarding packages, or one‑off consulting
* **Courses and tickets**: Courses, workshops, or live sessions

## Key Benefits

* **Simple checkout**: No renewals or proration logic
* **Instant fulfillment**: Deliver licenses or files right away
* **Flexible pricing**: Discounts and taxes supported
* **Developer‑first**: Clear APIs for creation, refunds, and webhooks

## Creating One‑Time Products

Create products in your Dodo Payments dashboard, then sell them via hosted checkout, payment links, or your API.

<Frame>
  <img src="https://mintcdn.com/dodopayments/r-ndtvzx3WhKqwER/images/products.png?fit=max&auto=format&n=r-ndtvzx3WhKqwER&q=85&s=fb41221c4f2af4de0155e71de1ac6904" alt="One-Time Payment Products" style={{ maxHeight: '500px', width: 'auto' }} width="1911" height="927" data-path="images/products.png" />
</Frame>

### Product configuration

Configure the fields in the dashboard to define how your product appears and sells.

#### 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>
* **Price** (required): Fixed charge with currency
* **Discount Applicable (%)**: Optional percentage discount displayed in checkout and invoices

<Warning>
  Changing product pricing affects only new purchases. Existing customers aren’t impacted.
</Warning>

#### Advanced settings

* **Tax Inclusive Pricing**: Display prices inclusive of applicable taxes
* **Generate license keys**: Issue a unique key after purchase. See <a href="/features/license-keys">License Keys</a>
* **Digital Product Delivery**: Deliver files or content automatically. See <a href="/features/digital-product-delivery">Digital Product Delivery</a>
* **Metadata**: Attach custom key–value pairs for internal tagging or integrations. See <a href="/api-reference/metadata">Metadata</a>

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

## API Management

<AccordionGroup>
  <Accordion title="Create payments">
    Use `POST /checkouts` to create one‑time charges from products.

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

  <Accordion title="Refund payments">
    Use `POST /refunds` to create full or partial refunds.

    <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 payments">
    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

* **License‑based tools**: Unlock features with a one‑time key
* **Digital assets**: Themes, templates, icon sets, or media
* **Professional services**: Fixed‑fee implementation or setup
* **Education**: Course tickets and one‑off workshops

## Integration Examples

### Checkout Sessions (single payment)

Create a checkout session with a one‑time product in the cart:

```typescript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_one_time', quantity: 1 }
  ]
});
```

## Best Practices

* **Clarify deliverables**: Tell buyers exactly what they get and how it’s delivered
* **Deliver instantly**: Use license keys or digital delivery for immediate access
* **Track with metadata**: Store your IDs for easy reconciliation

<Info>
  One‑time payments are the fastest path to selling fixed‑price products. Start simple, verify delivery, and iterate your offer based on conversion and feedback.
</Info>
