# Vatly Docs > Sell software and digital products worldwide. Vatly is the legal seller; payments, tax and compliance are handled. ## Documentation Sets - [Vatly Docs](https://docs.vatly.com/llms-full.txt): Sell software and digital products worldwide. Vatly is the legal seller; payments, tax and compliance are handled. ## Docs - [Introduction](https://docs.vatly.com/raw/introduction.md): Vatly is the European merchant of record for AI, software and digital products. Sell worldwide with payments, tax and compliance handled. - [Quickstart](https://docs.vatly.com/raw/guides/quickstart.md): This guide will get you all set up and ready to use the Vatly API. We’ll cover how to set up an API client and how to make your first API request. - [Payouts & Settlement](https://docs.vatly.com/raw/guides/payouts.md): How and when your share of each payment reaches your Mollie account, and where to follow it in the dashboard. - [Customer Emails](https://docs.vatly.com/raw/guides/customer-emails.md): The billing emails Vatly sends to your customers as Merchant of Record, when each one is sent, and what you can configure. - [Build your own integration](https://docs.vatly.com/raw/guides/build-your-own-integration.md): Understand what adopting Vatly involves: responsibilities, checkout and fulfillment, choosing an integration path, and preparing your developer or AI agent. - [Selling Workflow](https://docs.vatly.com/raw/guides/selling-workflow.md): Follow the typical Vatly happy path from account setup to product delivery, and prepare for refunds and chargebacks. - [Vatly SDKs](https://docs.vatly.com/raw/guides/sdks.md): Install official Vatly SDKs and fluent billing packages for PHP, Laravel, JavaScript, Python and Django. Compare availability and find package guides. - [Authentication](https://docs.vatly.com/raw/guides/authentication.md): In this guide, we'll look at how authentication works. Vatly uses API keys to authenticate your API requests. - [Pagination](https://docs.vatly.com/raw/guides/pagination.md): In this guide, we will look at how to work with paginated responses when querying the Vatly API - [Errors](https://docs.vatly.com/raw/guides/errors.md): This guide covers API error handling, including status codes and error types. - [Webhooks](https://docs.vatly.com/raw/guides/webhooks.md): In this guide, we will look at how to register and consume webhooks to integrate your app with Vatly. - [Idempotency](https://docs.vatly.com/raw/guides/idempotency.md): Learn how to use idempotency keys to safely retry API requests without creating duplicate resources. - [Testing](https://docs.vatly.com/raw/guides/testing.md): Use test helper endpoints to simulate billing events like subscription renewals in sandbox mode. - [Customers](https://docs.vatly.com/raw/api-reference/customers.md): On this page, we'll dive into the different customer endpoints you can use to manage your Vatly customers programmatically. - [Webhook Endpoints](https://docs.vatly.com/raw/api-reference/webhook-endpoints.md): Register and manage the endpoints Vatly delivers webhook events to: create, list, update, and delete them programmatically. - [Test helpers](https://docs.vatly.com/raw/api-reference/test-helpers.md): Simulate subscription renewals in test mode so you can verify recurring billing flows end to end. - [Checkouts](https://docs.vatly.com/raw/api-reference/checkouts.md): On this page, we'll dive into the different checkout endpoints you can use to manage your checkouts programmatically. - [One-off Products](https://docs.vatly.com/raw/api-reference/one-off-products.md): On this page, we'll dive into the different one-off product endpoints you can use to query your products programmatically. - [Subscriptions](https://docs.vatly.com/raw/api-reference/subscriptions.md): On this page, we'll dive into the different subscription endpoints you can use to manage subscriptions programmatically. - [Subscription Plans](https://docs.vatly.com/raw/api-reference/subscription-plans.md): On this page, we'll dive into the different subscription plan endpoints you can use to query your plans programmatically. - [Orders](https://docs.vatly.com/raw/api-reference/orders.md): On this page, we'll dive into the different order endpoints you can use to manage orders programmatically. - [Order Refunds](https://docs.vatly.com/raw/api-reference/refunds.md): On this page, we'll dive into the different order refund endpoints you can use to manage refunds programmatically. - [Refunds](https://docs.vatly.com/raw/api-reference/global-refunds.md): On this page, we'll dive into the global refund endpoints for managing refunds across your entire account. - [Chargebacks](https://docs.vatly.com/raw/api-reference/chargebacks.md): On this page, we'll dive into the different chargeback endpoints you can use to query chargebacks programmatically. - [Webhook Events](https://docs.vatly.com/raw/api-reference/webhook-events.md): Inspect individual webhook events and retrieve the full payload that was delivered by Vatly. - [PHP SDK](https://docs.vatly.com/raw/packages/php/readme.md): Official PHP SDK for the Vatly API. - [Customers](https://docs.vatly.com/raw/packages/php/customers.md): Customers represent your end users who purchase products through Vatly. - [Checkouts](https://docs.vatly.com/raw/packages/php/checkouts.md): Checkouts create hosted payment pages for your customers. - [Subscriptions](https://docs.vatly.com/raw/packages/php/subscriptions.md): Subscriptions are created automatically when a customer completes a checkout for a subscription plan. - [Subscription Plans](https://docs.vatly.com/raw/packages/php/subscriptionplans.md): Subscription plans define recurring billing products. - [Orders](https://docs.vatly.com/raw/packages/php/orders.md): Orders are created automatically when a checkout completes successfully or when a subscription renews. - [One-Off Products](https://docs.vatly.com/raw/packages/php/oneoffproducts.md): One-off products are single-purchase items (not recurring subscriptions). - [Refunds](https://docs.vatly.com/raw/packages/php/refunds.md): Refunds allow you to return money to your customers for orders. - [Chargebacks](https://docs.vatly.com/raw/packages/php/chargebacks.md): Chargebacks occur when a customer disputes a payment with their bank. - [Webhooks](https://docs.vatly.com/raw/packages/php/webhooks.md): Vatly sends webhooks to notify your application when events happen — for example, an order being paid, a refund completing, or a subscription being canceled. - [Webhook Endpoints](https://docs.vatly.com/raw/packages/php/webhookendpoints.md): A webhook endpoint is the HTTPS URL Vatly POSTs event deliveries to — registered from code (or infrastructure-as-code) rather than the dashboard. - [PHP Fluent](https://docs.vatly.com/raw/packages/fluent-php/readme.md): Sell a download, start a subscription, and keep your app's billing records in step with Vatly. - [Configuration](https://docs.vatly.com/raw/packages/fluent-php/configuration.md): Install Fluent on your server with PHP 8.1 or newer and Composer. - [Core concepts](https://docs.vatly.com/raw/packages/fluent-php/coreconcepts.md): Connect Fluent to your database without replacing your models. - [Customers](https://docs.vatly.com/raw/packages/fluent-php/customers.md): Create a Vatly customer for the account that pays, then save the link to your own ID. - [Checkouts](https://docs.vatly.com/raw/packages/fluent-php/checkouts.md): Create a hosted payment page, then redirect the browser to its URL. - [Subscriptions](https://docs.vatly.com/raw/packages/fluent-php/subscriptions.md): Change a subscription using a local record that implements SubscriptionInterface. - [Orders](https://docs.vatly.com/raw/packages/fluent-php/orders.md): Show an invoice for a local order without rebuilding Vatly's invoice UI. - [Customer portal](https://docs.vatly.com/raw/packages/fluent-php/customerportal.md): Let a customer manage billing on Vatly's hosted portal instead of building those screens yourself. - [Webhooks](https://docs.vatly.com/raw/packages/fluent-php/webhooks.md): Keep local billing records current after checkout, renewals, and portal changes. - [Event flow](https://docs.vatly.com/raw/packages/fluent-php/webhook-flow.md): Choose the event that matches your task. - [Host tables](https://docs.vatly.com/raw/packages/fluent-php/host-owns-its-tables.md): Reuse an application's existing orders instead of creating parallel Fluent tables. - [Testing](https://docs.vatly.com/raw/packages/fluent-php/testing.md): Test your application's checkout decisions without making a request to Vatly. - [Laravel](https://docs.vatly.com/raw/packages/laravel/readme.md): Vatly Laravel provides a Cashier-like integration for Vatly billing in your Laravel application. - [Configuration](https://docs.vatly.com/raw/packages/laravel/configuration.md): Vatly Laravel needs your API credentials, webhook secret, and default redirect URLs. - [Customers](https://docs.vatly.com/raw/packages/laravel/customers.md): Every billable model can be linked to a Vatly customer. - [Checkouts](https://docs.vatly.com/raw/packages/laravel/checkouts.md): Checkouts redirect your customer to Vatly's hosted payment page. - [Subscriptions](https://docs.vatly.com/raw/packages/laravel/subscriptions.md): Vatly Laravel provides a full subscription lifecycle: creating, checking, swapping plans, canceling, and syncing with the Vatly API. - [Orders](https://docs.vatly.com/raw/packages/laravel/orders.md): Orders represent completed transactions in Vatly. - [Webhooks](https://docs.vatly.com/raw/packages/laravel/webhooks.md): Vatly sends webhooks to notify your application of events like subscription starts, cancellations, and payment updates. - [Vs Cashier (Stripe, Paddle) & Lemon Squeezy](https://docs.vatly.com/raw/packages/laravel/comparison.md): Picking the billing layer for a new Laravel app? - [Migrating from Cashier](https://docs.vatly.com/raw/packages/laravel/migrating-to-vatly.md): You don't swap a Merchant of Record overnight. - [JavaScript SDK](https://docs.vatly.com/raw/packages/javascript/readme.md): Official TypeScript SDK for Vatly, the European Merchant of Record for AI, software and digital products. - [Customers](https://docs.vatly.com/raw/packages/javascript/customers.md): Customers represent the end users who purchase products through Vatly. - [Checkouts](https://docs.vatly.com/raw/packages/javascript/checkouts.md): Checkouts create hosted payment pages for your customers. - [Subscriptions](https://docs.vatly.com/raw/packages/javascript/subscriptions.md): Subscriptions are recurring billing relationships. - [Subscription Plans](https://docs.vatly.com/raw/packages/javascript/subscriptionplans.md): Subscription plans define recurring products, prices, and billing intervals. - [Orders](https://docs.vatly.com/raw/packages/javascript/orders.md): Orders record checkout purchases and subscription renewals, including pending payments. - [One-Off Products](https://docs.vatly.com/raw/packages/javascript/oneoffproducts.md): One-off products are single-purchase items (no recurring billing). - [Refunds](https://docs.vatly.com/raw/packages/javascript/refunds.md): A refund returns funds to a customer for an order. - [Chargebacks](https://docs.vatly.com/raw/packages/javascript/chargebacks.md): A chargeback is a payment dispute raised by the cardholder's bank against an order. - [Webhooks](https://docs.vatly.com/raw/packages/javascript/webhooks.md): Vatly sends webhooks to notify your application when events happen — an order being paid, a refund completing, a subscription being canceled. - [SDK operation reference](https://docs.vatly.com/raw/packages/javascript/api.md): Import VatlyClient from @getvatly/sdk. - [JavaScript Fluent](https://docs.vatly.com/raw/packages/fluent-js/readme.md): Create checkouts and manage billing with @getvatly/fluent on your server. - [Installation and configuration](https://docs.vatly.com/raw/packages/fluent-js/configuration.md): Fluent 0.1.0-alpha.2 requires SDK 0.3.0-alpha.4. - [Core concepts and storage](https://docs.vatly.com/raw/packages/fluent-js/coreconcepts.md): Connect Fluent to your existing tables through storage drivers. - [Customers and bindings](https://docs.vatly.com/raw/packages/fluent-js/customers.md): Find or create a Vatly customer for your signed-in user. - [Checkouts](https://docs.vatly.com/raw/packages/fluent-js/checkouts.md): Create a hosted payment page, then redirect the customer to checkout.getUrl(). - [Subscriptions](https://docs.vatly.com/raw/packages/fluent-js/subscriptions.md): Change an existing subscription with vatly.subscription(localRecord). - [Orders and invoices](https://docs.vatly.com/raw/packages/fluent-js/orders.md): Fetch an order's invoice link, lines, and totals after checking the caller owns it. - [Customer portal](https://docs.vatly.com/raw/packages/fluent-js/customerportal.md): Send a signed-in customer to their invoices and subscription controls. - [Webhooks](https://docs.vatly.com/raw/packages/fluent-js/webhooks.md): Record payments and subscription changes from signed webhooks, not checkout redirects. - [Testing](https://docs.vatly.com/raw/packages/fluent-js/testing.md): Test API calls without a network by injecting the SDK's fetch. - [Python SDK](https://docs.vatly.com/raw/packages/python/readme.md): Vatly is the European Merchant of Record for AI, software and digital products. - [Configuration and errors](https://docs.vatly.com/raw/packages/python/configuration.md): Use one client per application task or worker lifetime and close it with with or async with. - [Customers](https://docs.vatly.com/raw/packages/python/customers.md): Keep a Vatly customer ID alongside your own user or company. - [Checkouts](https://docs.vatly.com/raw/packages/python/checkouts.md): Create a hosted payment page and redirect your buyer to it. - [Subscriptions](https://docs.vatly.com/raw/packages/python/subscriptions.md): A paid checkout containing a subscription plan starts recurring billing. - [Subscription plans](https://docs.vatly.com/raw/packages/python/subscriptionplans.md): Plans define the recurring product, price and billing interval sold through a checkout. - [Orders](https://docs.vatly.com/raw/packages/python/orders.md): Orders contain purchased lines, tax and financial totals. - [One-off products](https://docs.vatly.com/raw/packages/python/oneoffproducts.md): Sell a digital product once rather than on a recurring schedule. - [Refunds](https://docs.vatly.com/raw/packages/python/refunds.md): Refunds reverse some or all of an order. - [Chargebacks](https://docs.vatly.com/raw/packages/python/chargebacks.md): Read payment disputes and retain their financial snapshots for accounting. - [Webhooks](https://docs.vatly.com/raw/packages/python/webhooks.md): Use signed webhooks to learn about payments and subscription changes. - [Webhook endpoints](https://docs.vatly.com/raw/packages/python/webhookendpoints.md): Endpoints tell Vatly where to send events. - [API reference](https://docs.vatly.com/raw/packages/python/api.md): Look up SDK methods, HTTP endpoints and return types for synchronous and asynchronous clients. - [Development and release](https://docs.vatly.com/raw/packages/python/development.md): Maintain the SDK, update its API specification, sync documentation and prepare releases. - [Python Fluent](https://docs.vatly.com/raw/packages/fluent-python/readme.md): Build checkout, customer and subscription flows without tying billing to a web framework. - [Configure Fluent](https://docs.vatly.com/raw/packages/fluent-python/configuration.md): Keep the SDK client open for your application or worker lifespan. - [Store ownership safely](https://docs.vatly.com/raw/packages/fluent-python/coreconcepts.md): Your application decides which user, team or organization owns a purchase. - [Create and find customers](https://docs.vatly.com/raw/packages/fluent-python/customers.md): Bind a host user to a Vatly billing identity once, then reuse it. - [Create hosted checkouts](https://docs.vatly.com/raw/packages/fluent-python/checkouts.md): Build a cart, then call create() to make the API request. - [Manage subscriptions](https://docs.vatly.com/raw/packages/fluent-python/subscriptions.md): Load a locally owned subscription, authorize its entity, then use a handle for plan changes or cancellation. - [Read orders and reversals](https://docs.vatly.com/raw/packages/fluent-python/orders.md): Use an order handle to read purchased lines, an invoice link and exact reversal amounts. - [Open the customer portal](https://docs.vatly.com/raw/packages/fluent-python/customerportal.md): Send an authenticated buyer to Vatly's hosted portal to manage subscriptions, invoices and billing details. - [Process signed webhooks](https://docs.vatly.com/raw/packages/fluent-python/webhooks.md): Fluent verifies a delivery, updates local snapshots and dispatches events through your storage driver. - [Test without real payments](https://docs.vatly.com/raw/packages/fluent-python/testing.md): Use httpx's MockTransport with the real published SDK and Fluent. - [Move from JS or PHP](https://docs.vatly.com/raw/packages/fluent-python/porting.md): Python Fluent keeps the same billing concepts, with snake_case methods and async I/O. - [Development and release](https://docs.vatly.com/raw/packages/fluent-python/development.md): Set up the repository, test billing integrations and build the Fluent package locally. - [Django](https://docs.vatly.com/raw/packages/django/readme.md): Add hosted checkout, customer billing and signed webhook persistence to Django. - [Install Vatly Django](https://docs.vatly.com/raw/packages/django/installation.md): Start with a normal Django project, including its auth, sessions, messages and CSRF configuration. - [Configure billing](https://docs.vatly.com/raw/packages/django/configuration.md): Keep keys on the server. - [Choose a billable model](https://docs.vatly.com/raw/packages/django/billablemodels.md): A billable is the saved user, team or company your application has authorized to buy. - [Start a checkout](https://docs.vatly.com/raw/packages/django/checkout.md): Configure a book offer in settings, then POST to the built-in checkout route as an authenticated user. - [Manage owned subscriptions](https://docs.vatly.com/raw/packages/django/billing.md): Use the facade with a saved, authorized billable. - [Open the customer portal](https://docs.vatly.com/raw/packages/django/customerportal.md): The portal lets buyers manage billing, invoices and subscriptions in Vatly. - [Receive signed webhooks](https://docs.vatly.com/raw/packages/django/webhooks.md): Mount the billing URLs and register the public HTTPS /billing/webhook/ URL in Vatly. - [Inspect billing in admin](https://docs.vatly.com/raw/packages/django/admin.md): When django.contrib.admin and vatly_django are installed, billing models register automatically. - [Test billing offline](https://docs.vatly.com/raw/packages/django/testing.md): Use Django's test database and httpx fixtures. - [Development and release](https://docs.vatly.com/raw/packages/django/development.md): Set up the repository, run checks and build the Django package locally. - [Packages](https://docs.vatly.com/raw/packages.md): Official Vatly SDKs and fluent packages for PHP, Laravel, JavaScript, Python and Django. Installation, package registries and documentation. - [Lovable payments with Vatly](https://docs.vatly.com/raw/integrations/lovable.md): Sell European software and digital products from Lovable with Vatly handling tax and invoicing. Start with a test API key and a copy-paste integration prompt. - [Bolt payments with Vatly](https://docs.vatly.com/raw/integrations/bolt.md): Add Vatly payments to Bolt.new for European software and digital products. Offload tax and invoicing, get a test API key, and prompt Bolt to wire up checkout. - [Integrations](https://docs.vatly.com/raw/integrations.md): Find platform-specific guides for using Vatly as merchant of record. Connect your Lovable or Bolt app and take the next step toward your first test purchase.