Skip to main content
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.

License Keys

Issue unique license keys after purchase.

Digital Delivery

Automatically deliver files and content after payment.

Payment Webhooks

React to payment succeeded and failed events.

Refunds API

Create full or partial refunds programmatically.

What Are One‑Time Payments?

One-time payments are fixed, upfront 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.
One-Time Payment Products dashboard

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: Clear value statement customers see before paying.
  • Product Image: PNG, JPG, or 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 One Time.
  • Price (required): Fixed charge with currency.
  • Discount Applicable (%): Optional percentage discount displayed in checkout and invoices. You can enter up to two decimal places, such as 10.5. In the API, use discount_bps (basis points, so 1050 is 10.5%).
Changing product pricing affects only new purchases. Existing customers aren’t impacted.

Advanced Settings

These optional settings are in the Pricing, Entitlements, and Meta Data sections of the product form:
  • Tax Inclusive Pricing (in Pricing): Display prices inclusive of applicable taxes.
  • License key (in Entitlements): Issue a unique key after purchase. See License Keys.
  • Digital Files (in Entitlements): Deliver files or content automatically. See Digital Product Delivery.
  • Meta Data: Attach custom key-value pairs for internal tagging or integrations. See Metadata.
Use metadata to store identifiers from your system (e.g., orderId) to reconcile events and receipts later.

API Management

Use POST /checkouts to create a checkout session that collects a one-time payment for your products.

API Reference

View the create payment API.
Use POST /refunds to create full or partial refunds.

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

  • 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:

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.
Last modified on September 26, 2026