The Paddle PHP SDK integrates Paddle Billing with PHP applications. It exposes typed operation classes for creates and updates, iterator-based pagination, and a webhook signature verifier.
Latest: v1.17.1 · 2026-04-30View source code and report issues on GitHub.
View and install on Packagist.
See recent releases and changes.
Requirements
PHP 8.1 or later.
Install
Install using Composer:
composer require paddlehq/paddle-php-sdkThen load Composer's autoloader in your application:
require_once 'vendor/autoload.php';Authenticate
Create an API key in Paddle > Developer tools > Authentication, then pass it when you construct the client.
API keys are environment-specific. Use a sandbox key for sandbox, a live key for production.
use Paddle\SDK\Client;use Paddle\SDK\Environment;use Paddle\SDK\Options;
$paddle = new Client( apiKey: getenv('PADDLE_API_KEY'), options: new Options(Environment::SANDBOX),);Omit the options argument, or use Environment::PRODUCTION, to use the live API.
Make your first request
List the products in your catalog:
use Paddle\SDK\Client;use Paddle\SDK\Environment;use Paddle\SDK\Options;
$paddle = new Client( apiKey: getenv('PADDLE_API_KEY'), options: new Options(Environment::SANDBOX),);
foreach ($paddle->products->list() as $product) { echo $product->id . ' ' . $product->name . PHP_EOL;}$paddle->products->list() returns an iterator. foreach walks every page automatically. The SDK fetches the next page when the current one is exhausted.
Next steps
- Understand shared patterns for pagination, idempotency, retries, and error handling across SDKs.
- Browse the API reference for every resource and operation the SDK exposes.
- Work against sandbox while you build, then follow the go-live checklist to switch environments.