A fully-featured PHP SDK for the Polar API.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/polarsource/polar/llms.txt
Use this file to discover all available pages before exploring further.
Installation
Terminal
A fully-featured PHP SDK for the Polar API.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/polarsource/polar/llms.txt
Use this file to discover all available pages before exploring further.
composer require polar-sh/sdk
declare(strict_types=1);
require 'vendor/autoload.php';
use Polar;
$sdk = Polar\Polar::builder()
->setSecurity('<YOUR_BEARER_TOKEN_HERE>')
->build();
$responses = $sdk->organizations->list(
page: 1,
limit: 10
);
foreach ($responses as $response) {
if ($response->statusCode === 200) {
// handle response
print_r($response->object);
}
}
$sdk = Polar\Polar::builder()
->setSecurity('<YOUR_BEARER_TOKEN_HERE>')
->build();
$sdk = Polar\Polar::builder()
->setSecurity('<YOUR_BEARER_TOKEN_HERE>')
->build();
$response = $sdk->checkouts->create(
products: ['prod_xxxxxxxxxxxxx'],
successUrl: 'https://myapp.com/success',
returnUrl: 'https://myapp.com'
);
if ($response->statusCode === 200) {
// Redirect user to checkout URL
header('Location: ' . $response->object->url);
exit;
}
$sdk = Polar\Polar::builder()
->setSecurity('<YOUR_BEARER_TOKEN_HERE>')
->build();
$response = $sdk->customers->getStateExternal(
externalCustomerId: 'user_123'
);
if ($response->statusCode === 200) {
$grantedBenefits = $response->object->grantedBenefits;
$subscriptions = $response->object->subscriptions;
foreach ($grantedBenefits as $benefit) {
echo $benefit->id . "\n";
}
}
$sdk = Polar\Polar::builder()
->setSecurity('<YOUR_BEARER_TOKEN_HERE>')
->build();
$responses = $sdk->products->list(
organizationId: 'org_xxxxxxxxxxxxx',
page: 1,
limit: 10
);
foreach ($responses as $response) {
if ($response->statusCode === 200) {
foreach ($response->object->items as $product) {
echo $product->name . "\n";
}
}
}
$responses = $sdk->products->list(
page: 1,
limit: 10
);
foreach ($responses as $response) {
if ($response->statusCode === 200) {
// Process each page of results
foreach ($response->object->items as $product) {
echo $product->id . "\n";
}
}
}
$sdk = Polar\Polar::builder()
->setServer('sandbox')
->setSecurity('<YOUR_BEARER_TOKEN_HERE>')
->build();