# dodo_payments v0.1.0 - Table of Contents

> An explicit, Req-first Elixir SDK for Dodo Payments

## Pages

- [Dodo Payments for Elixir](readme.md)
- [Phoenix billing patterns example](phoenix_example.md)
- [Setup and configuration](setup-and-configuration.md)
- [Retries and uncertain outcomes](retries-and-outcomes.md)
- [Custom HTTP clients](custom-clients.md)
- [Deadline workers and client trust](deadline-workers-and-client-trust.md)
- [Changelog](changelog.md)
- [Security policy](security.md)
- [LICENSE](license.md)

## Modules

- [DodoPayments](DodoPayments.md): Req-first Elixir SDK for Dodo Payments.
- [DodoPayments.Addon](DodoPayments.Addon.md): An add-on product response.
- [DodoPayments.Addons](DodoPayments.Addons.md): Add-on catalogue operations.
- [DodoPayments.BalanceLedgerEntry](DodoPayments.BalanceLedgerEntry.md): A merchant balance-ledger entry.
- [DodoPayments.Balances](DodoPayments.Balances.md): Merchant balance ledger history.
- [DodoPayments.Brand](DodoPayments.Brand.md): A brand response, including verification and archival state.
- [DodoPayments.BrandArchiveResponse](DodoPayments.BrandArchiveResponse.md): The permanent brand-archive result and counts of records moved.
- [DodoPayments.BrandListResponse](DodoPayments.BrandListResponse.md): The non-paginated brand list envelope.
- [DodoPayments.Brands](DodoPayments.Brands.md): Brand and brand-image operations.
- [DodoPayments.CheckoutSession](DodoPayments.CheckoutSession.md): A hosted checkout session or checkout status response.
- [DodoPayments.CheckoutSessionPreview](DodoPayments.CheckoutSessionPreview.md): A Dodo checkout price and tax preview.
- [DodoPayments.CheckoutSessionStatus](DodoPayments.CheckoutSessionStatus.md): The current status of a hosted checkout session.
- [DodoPayments.CheckoutSessions](DodoPayments.CheckoutSessions.md): Hosted checkout creation, preview and status operations.
- [DodoPayments.CreditEntitlement](DodoPayments.CreditEntitlement.md): A credit entitlement definition.
- [DodoPayments.CreditEntitlements](DodoPayments.CreditEntitlements.md): Credit entitlement definitions. These are distinct from fulfilment entitlements.
- [DodoPayments.CreditEntitlements.Balances](DodoPayments.CreditEntitlements.Balances.md): Per-customer balances for a credit entitlement. Lists are zero-based.
- [DodoPayments.CreditGrant](DodoPayments.CreditGrant.md): A grant contributing to a customer's credit balance.
- [DodoPayments.CreditLedgerEntry](DodoPayments.CreditLedgerEntry.md): A credit-balance ledger entry.
- [DodoPayments.CreditLedgerEntryCreateResponse](DodoPayments.CreditLedgerEntryCreateResponse.md): The credit-balance state after creating a ledger entry.
- [DodoPayments.Customer](DodoPayments.Customer.md): A customer response.
- [DodoPayments.CustomerCreditBalance](DodoPayments.CustomerCreditBalance.md): A customer's balance for one credit entitlement.
- [DodoPayments.CustomerCreditEntitlementsResponse](DodoPayments.CustomerCreditEntitlementsResponse.md): A customer's credit entitlements and current balances.
- [DodoPayments.CustomerEntitlementsResponse](DodoPayments.CustomerEntitlementsResponse.md): A customer's entitlement delivery status rows.
- [DodoPayments.CustomerPaymentMethodsResponse](DodoPayments.CustomerPaymentMethodsResponse.md): A customer's saved payment methods.
- [DodoPayments.CustomerPortalSession](DodoPayments.CustomerPortalSession.md): A customer portal session. Inspection always redacts its privileged link.
- [DodoPayments.CustomerWallet](DodoPayments.CustomerWallet.md): A customer wallet in one currency.
- [DodoPayments.CustomerWalletListResponse](DodoPayments.CustomerWalletListResponse.md): A customer's wallets and aggregate USD balance.
- [DodoPayments.CustomerWalletTransaction](DodoPayments.CustomerWalletTransaction.md): A customer-wallet ledger transaction.
- [DodoPayments.Customers](DodoPayments.Customers.md): Customer lifecycle operations.
- [DodoPayments.Customers.CreditEntitlements](DodoPayments.Customers.CreditEntitlements.md): Credit entitlements belonging to a customer.
- [DodoPayments.Customers.Entitlements](DodoPayments.Customers.Entitlements.md): Fulfilment entitlements and grants belonging to a customer.
- [DodoPayments.Customers.PaymentMethods](DodoPayments.Customers.PaymentMethods.md): Stored customer payment methods.
- [DodoPayments.Customers.PortalSessions](DodoPayments.Customers.PortalSessions.md): Customer self-service portal sessions.
- [DodoPayments.Customers.Wallets](DodoPayments.Customers.Wallets.md): Customer money wallets. These are distinct from credit balances.
- [DodoPayments.Customers.Wallets.LedgerEntries](DodoPayments.Customers.Wallets.LedgerEntries.md): Customer wallet adjustments and history.
- [DodoPayments.Discount](DodoPayments.Discount.md): A discount-code response.
- [DodoPayments.DiscountCustomer](DodoPayments.DiscountCustomer.md): A customer attached to a discount allow list.
- [DodoPayments.DiscountCustomersResponse](DodoPayments.DiscountCustomersResponse.md): Customers attached by one discount allow-list request.
- [DodoPayments.Discounts](DodoPayments.Discounts.md): Discount lifecycle and code lookup operations.
- [DodoPayments.Dispute](DodoPayments.Dispute.md): A retrieved dispute.
- [DodoPayments.DisputeListItem](DodoPayments.DisputeListItem.md): A dispute list item.
- [DodoPayments.Disputes](DodoPayments.Disputes.md): Payment dispute inspection.
- [DodoPayments.Entitlement](DodoPayments.Entitlement.md): An entitlement definition and its integration configuration.
- [DodoPayments.EntitlementFileUploadResponse](DodoPayments.EntitlementFileUploadResponse.md): The identifier returned after attaching a file to an entitlement.
- [DodoPayments.EntitlementGrant](DodoPayments.EntitlementGrant.md): An entitlement grant. Inspection redacts credential-bearing delivery payloads.
- [DodoPayments.EntitlementGrants](DodoPayments.EntitlementGrants.md): Customer grants produced by fulfilment entitlements.
- [DodoPayments.Entitlements](DodoPayments.Entitlements.md): Fulfilment entitlement definitions.
- [DodoPayments.Entitlements.Files](DodoPayments.Entitlements.Files.md): Files attached to fulfilment entitlements.
- [DodoPayments.Enums](DodoPayments.Enums.md): Source-locked Dodo enum types and their safe JSON-boundary conversions.
- [DodoPayments.HTTP.Request](DodoPayments.HTTP.Request.md): Transport-neutral request passed to `c:DodoPayments.ClientModule.request/2`.
- [DodoPayments.HTTP.Response](DodoPayments.HTTP.Response.md): Buffered, transport-neutral HTTP response returned by a client module.
- [DodoPayments.HTTP.TransportError](DodoPayments.HTTP.TransportError.md): A transport-neutral failure returned by a `DodoPayments.ClientModule`.
- [DodoPayments.Invoices](DodoPayments.Invoices.md): PDF invoice downloads.
- [DodoPayments.License](DodoPayments.License.md): A public license activation or validation response.
- [DodoPayments.LicenseKey](DodoPayments.LicenseKey.md): A merchant license-key record. Inspection always redacts the issued key.
- [DodoPayments.LicenseKeyInstance](DodoPayments.LicenseKeyInstance.md): An activation instance for a license key.
- [DodoPayments.LicenseKeyInstances](DodoPayments.LicenseKeyInstances.md): Merchant inspection of activated license-key instances.
- [DodoPayments.LicenseKeys](DodoPayments.LicenseKeys.md): Merchant management of license keys.
- [DodoPayments.Licenses](DodoPayments.Licenses.md): Credential-free runtime license activation, deactivation and validation.
- [DodoPayments.LocalizedPrice](DodoPayments.LocalizedPrice.md): A localized product-price rule.
- [DodoPayments.LocalizedPriceListResponse](DodoPayments.LocalizedPriceListResponse.md): The non-paginated localized-price list envelope.
- [DodoPayments.Meter](DodoPayments.Meter.md): A usage meter response.
- [DodoPayments.Meters](DodoPayments.Meters.md): Usage meter lifecycle operations.
- [DodoPayments.Operation](DodoPayments.Operation.md): Wire-level description of a Dodo Payments operation.
- [DodoPayments.Page](DodoPayments.Page.md): Explicit pagination for Dodo Payments list operations.
- [DodoPayments.Page.Cursor](DodoPayments.Page.Cursor.md): A single page from a cursor-paginated Dodo Payments endpoint.
- [DodoPayments.Page.Numbered](DodoPayments.Page.Numbered.md): A single page from a page-numbered Dodo Payments endpoint.
- [DodoPayments.Payment](DodoPayments.Payment.md): A payment response.
- [DodoPayments.PaymentCreateResponse](DodoPayments.PaymentCreateResponse.md): A response from Dodo's deprecated direct payment creation endpoint.
- [DodoPayments.PaymentLineItemsResponse](DodoPayments.PaymentLineItemsResponse.md): Line items and currency for a payment.
- [DodoPayments.Payments](DodoPayments.Payments.md): Payment creation and inspection.
- [DodoPayments.Payout](DodoPayments.Payout.md): A payout list item.
- [DodoPayments.PayoutBreakupDetail](DodoPayments.PayoutBreakupDetail.md): An individual ledger entry in a payout breakup.
- [DodoPayments.PayoutBreakupItem](DodoPayments.PayoutBreakupItem.md): An event-type aggregate in a payout breakup.
- [DodoPayments.Payouts](DodoPayments.Payouts.md): Dodo payout inspection.
- [DodoPayments.PresignedFileUpload](DodoPayments.PresignedFileUpload.md): A presigned file-upload target. Inspection always redacts the capability URL.
- [DodoPayments.PresignedImageUpload](DodoPayments.PresignedImageUpload.md): A presigned image-upload target. Inspection always redacts the capability URL.
- [DodoPayments.Product](DodoPayments.Product.md): A product response. Unrecognized Dodo fields are kept in `extra`.
- [DodoPayments.ProductCollection](DodoPayments.ProductCollection.md): A product collection and its groups.
- [DodoPayments.ProductCollectionGroup](DodoPayments.ProductCollectionGroup.md): A created product-collection group.
- [DodoPayments.ProductCollectionListItem](DodoPayments.ProductCollectionListItem.md): A product-collection list item.
- [DodoPayments.ProductCollectionProduct](DodoPayments.ProductCollectionProduct.md): A product as represented inside a product collection.
- [DodoPayments.ProductCollectionUnarchiveResponse](DodoPayments.ProductCollectionUnarchiveResponse.md): The result of unarchiving a product collection.
- [DodoPayments.ProductCollections](DodoPayments.ProductCollections.md): Product collection lifecycle operations.
- [DodoPayments.ProductCollections.Groups](DodoPayments.ProductCollections.Groups.md): Groups within a product collection.
- [DodoPayments.ProductCollections.Groups.Items](DodoPayments.ProductCollections.Groups.Items.md): Items within a product-collection group.
- [DodoPayments.Products](DodoPayments.Products.md): Product lifecycle operations.
- [DodoPayments.Products.Images](DodoPayments.Products.Images.md): Product image upload/update operations.
- [DodoPayments.Products.LocalizedPrices](DodoPayments.Products.LocalizedPrices.md): Localized price operations for a product.
- [DodoPayments.Products.ShortLinks](DodoPayments.Products.ShortLinks.md): Product short-link operations.
- [DodoPayments.Refund](DodoPayments.Refund.md): A refund response.
- [DodoPayments.Refunds](DodoPayments.Refunds.md): Refund creation and inspection.
- [DodoPayments.RequestTypes](DodoPayments.RequestTypes.md): Compile-time request type metadata for the public resource API.
- [DodoPayments.Response](DodoPayments.Response.md): The optional response envelope returned with `return: :response`.
- [DodoPayments.ResponseTypes](DodoPayments.ResponseTypes.md): Wire-shape aliases shared by typed response structs.
- [DodoPayments.Schema](DodoPayments.Schema.md): Minimal response schema support.
- [DodoPayments.Secret](DodoPayments.Secret.md): Opaque, redacted storage for an API key or runtime key provider.
- [DodoPayments.ShortLink](DodoPayments.ShortLink.md): A product short-link list item.
- [DodoPayments.ShortLinkCreateResponse](DodoPayments.ShortLinkCreateResponse.md): The URLs returned after creating a product short link.
- [DodoPayments.Subscription](DodoPayments.Subscription.md): A subscription response.
- [DodoPayments.SubscriptionChargeResponse](DodoPayments.SubscriptionChargeResponse.md): The payment created by an on-demand subscription charge.
- [DodoPayments.SubscriptionCreateResponse](DodoPayments.SubscriptionCreateResponse.md): A response from Dodo's deprecated direct subscription creation endpoint.
- [DodoPayments.SubscriptionCreditUsageResponse](DodoPayments.SubscriptionCreditUsageResponse.md): Credit usage for entitlements attached to a subscription.
- [DodoPayments.SubscriptionPreviewChangePlanResponse](DodoPayments.SubscriptionPreviewChangePlanResponse.md): A subscription plan-change preview.
- [DodoPayments.SubscriptionUpdatePaymentMethodResponse](DodoPayments.SubscriptionUpdatePaymentMethodResponse.md): Checkout credentials returned while updating a subscription payment method.
- [DodoPayments.SubscriptionUsageHistory](DodoPayments.SubscriptionUsageHistory.md): A subscription's metered usage for one billing period.
- [DodoPayments.Subscriptions](DodoPayments.Subscriptions.md): Subscription lifecycle, plan and usage operations.
- [DodoPayments.SupportedCountries](DodoPayments.SupportedCountries.md): Countries supported by Dodo checkout.
- [DodoPayments.UnknownEnum](DodoPayments.UnknownEnum.md): A lossless value returned when Dodo introduces an enum member that this SDK
does not know yet.
- [DodoPayments.UsageEvent](DodoPayments.UsageEvent.md): An ingested usage event.
- [DodoPayments.UsageEventIngestResponse](DodoPayments.UsageEventIngestResponse.md): The number of usage events accepted by an ingest request.
- [DodoPayments.UsageEvents](DodoPayments.UsageEvents.md): Usage event ingestion and inspection. Event IDs provide ingestion idempotency.
- [DodoPayments.WebhookEndpoint](DodoPayments.WebhookEndpoint.md): A configured webhook endpoint.
- [DodoPayments.WebhookEndpoints](DodoPayments.WebhookEndpoints.md): Webhook endpoint management. For signature verification use `DodoPayments.Webhooks`.
- [DodoPayments.WebhookEndpoints.Headers](DodoPayments.WebhookEndpoints.Headers.md): Custom headers configured for a webhook endpoint.
- [DodoPayments.WebhookHeaders](DodoPayments.WebhookHeaders.md): Configured webhook headers. Inspection redacts every returned header value.
- [DodoPayments.WebhookSecret](DodoPayments.WebhookSecret.md): A webhook signing secret returned by Dodo. Inspection always redacts the secret.

- Client
  - [DodoPayments.Client](DodoPayments.Client.md): Explicit, immutable configuration for Dodo Payments calls.
  - [DodoPayments.ClientModule](DodoPayments.ClientModule.md): The small, replaceable HTTP boundary used by `DodoPayments.Client`.
  - [DodoPayments.ReqClient](DodoPayments.ReqClient.md): First-class `Req` implementation of `DodoPayments.ClientModule`.

- Webhooks
  - [DodoPayments.Webhooks](DodoPayments.Webhooks.md): Verifies and decodes Dodo Payments webhooks using the Standard Webhooks
signing scheme.
  - [DodoPayments.Webhooks.Event](DodoPayments.Webhooks.Event.md): A verified Dodo Payments webhook event.
  - [DodoPayments.Webhooks.VerificationError](DodoPayments.Webhooks.VerificationError.md): An error produced while authenticating or decoding a Dodo webhook.

- Errors
  - [DodoPayments.Error](DodoPayments.Error.md): Safe, bounded diagnostics for errors returned by the SDK.
  - [DodoPayments.Error.APIError](DodoPayments.Error.APIError.md): An error response returned by Dodo Payments.
  - [DodoPayments.Error.ConfigurationError](DodoPayments.Error.ConfigurationError.md): Raised or returned when a client cannot be configured safely.
  - [DodoPayments.Error.DecodeError](DodoPayments.Error.DecodeError.md): A successful response could not be decoded according to its operation schema.
  - [DodoPayments.Error.OutcomeUnknown](DodoPayments.Error.OutcomeUnknown.md): A mutation may have reached Dodo Payments without producing a conclusive
response.
  - [DodoPayments.Error.PreparationError](DodoPayments.Error.PreparationError.md): Returned when request preparation crashes before an HTTP attempt is made.
  - [DodoPayments.Error.ResponseTooLarge](DodoPayments.Error.ResponseTooLarge.md): The response exceeded the configured buffered-response limit.
  - [DodoPayments.Error.TimeoutError](DodoPayments.Error.TimeoutError.md): The logical deadline for an SDK call was exhausted.
  - [DodoPayments.Error.TransportError](DodoPayments.Error.TransportError.md): A network or HTTP-adapter failure with no successful response.
  - [DodoPayments.ValidationError](DodoPayments.ValidationError.md): Raised when a request is locally invalid and no HTTP call was made.

- Exceptions
  - [DodoPayments.Page.TraversalError](DodoPayments.Page.TraversalError.md): Raised when automatic pagination cannot continue safely.

