Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Recurly Client

Recurly Client Laravel Package

recurly/recurly-client

Official PHP client for Recurly's V3 API. Install via Composer (recurly/recurly-client), create a client with your API key, and access billing, subscription, and account operations in one place. Supports EU region and PSR-3 logging.

View on GitHub
Deep Wiki
Context7

The PHP client library for the Recurly API

Frequently asked questions about Recurly Client
How do I install recurly/recurly-client in a Laravel app?
Install it with Composer using require recurly/recurly-client:^4. The package is a framework-agnostic PHP client, so after installation you create a Recurly Client instance with your API key. Laravel does not get a service provider or facade from the package, so you will add a small binding yourself.
Does recurly/recurly-client work with Laravel?
Yes. It is a framework-agnostic PHP client for Recurly's V3 API and can run inside Laravel. There are no native Laravel bindings, so integrate it through a custom service provider and optional facade. Its PSR-3 logging support lets it use Laravel's logger.
How do I configure the Recurly API key and EU region in Laravel?
Store the key in an environment variable such as RECURLY_API_KEY and read it through config. Create the client with new Recurly Client($apiKey) and pass ['region' => 'eu'] when you need EU data residency. Bind that configured client as a singleton so the rest of the app receives the same instance.
Which PHP and Laravel versions are supported by the Recurly PHP client?
The package is a PHP library rather than a Laravel package, so it does not impose a Laravel version constraint. Check its Composer requirements against your application's PHP runtime before installing. Laravel compatibility comes from your app's PHP version and Composer resolution, not from Recurly-specific framework support.
How do I log Recurly API calls safely in Laravel?
Pass a PSR-3 logger into the Recurly client, and Laravel's logger can satisfy that interface. The SDK ships a basic Recurly Logger, but production logging should avoid DEBUG level because request data can contain PII. Use a conservative level and redact sensitive fields where possible.
How does pagination work with recurly/recurly-client?
The client returns a Pager that implements Iterator, so you can loop over results page by page. Use the iterator in your application code rather than manually constructing page requests. This keeps list operations consistent across accounts, subscriptions, and other resources.
How should I handle errors from the Recurly PHP client?
Catch the structured Recurly exceptions such as Validation, NotFound, and the base RecurlyError. Handle them explicitly rather than swallowing failures, because billing operations need clear failure paths. The SDK does not add retry or backoff logic for you, so decide that at the application layer.
Does the Recurly PHP client support webhooks, idempotency keys, retries, and rate limiting?
No, those concerns are not handled out of the box by the SDK. Webhook verification, idempotency keys, retry/backoff, and rate-limit throttling must be implemented in your Laravel application. The client focuses on making V3 API operations and responses available through one client instance.
How do I mock the Recurly client in Laravel tests?
The SDK does not provide a dedicated Laravel fake, so wrap the client behind your own interface or service class. Inject that wrapper into the code under test and mock it with Laravel's container or a library such as Mockery. This keeps tests from calling the real Recurly API.
Can I migrate from the Recurly V2 client to this V3 client?
No, the V3 client is not backward compatible with the V2 client, which lives on a separate branch. Plan a phased migration by mapping V2 resources to V3 equivalents and rewriting API calls to the new client methods. Running both systems in parallel during cutover helps validate accounts, subscriptions, and plans.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log