gridwb / laravel-adapty
adapty.io API for Laravel
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/gridwb/laravel-adapty
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.9.0
- illuminate/contracts: ^10.0||^11.0||^12.0
- spatie/laravel-data: ^4.13
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9|^3.0
- laravel/pint: ^1.14
- orchestra/testbench: ^8.22|^9.0|^10.0
- pestphp/pest: ^2.0|^3.0
- pestphp/pest-plugin-laravel: ^2.0|^3.0
README
Laravel Adapty is a convenient wrapper for interacting with the Adapty API in Laravel applications.
Table of Contents
Installation
-
Install the package
composer require gridwb/laravel-adapty
-
Publish the configuration file
php artisan vendor:publish --tag="adapty-config" -
Add environment variables
ADAPTY_API_URL=https://api.adapty.io ADAPTY_API_KEY=your-api-key-here ADAPTY_WEBHOOK_PATH=webhooks/adapty ADAPTY_WEBHOOK_SECRET=your-webhook-secret-here
Usage
Profile Resource
get profile
Get profile request:
<?php use Gridwb\LaravelAdapty\Facades\Adapty; // Get profile by `customer_user_id` $customerUserId = '<string>'; $response = Adapty::profile()->getProfile(customerUserId: $customerUserId); // Get profile by `profile_id` $profileId = '<string>'; $response = Adapty::profile()->getProfile(profileId: $profileId); echo $response->appId; echo $response->customerUserId; echo $response->customerUserId; // ...
delete profile
Delete profile request:
<?php use Gridwb\LaravelAdapty\Facades\Adapty; // Delete profile by `customer_user_id` $customerUserId = '<string>'; Adapty::profile()->deleteProfile(customerUserId: $customerUserId); // Delete profile by `profile_id` $profileId = '<string>'; Adapty::profile()->deleteProfile(profileId: $profileId);
Webhooks
Adapty can send events to your Laravel application via webhooks. By default, all webhook requests are dispatched to the
Gridwb\LaravelAdapty\Jobs\ProcessWebhook::class job, which triggers corresponding Laravel events. You can listen to
these events like any other Laravel event:
<?php use Gridwb\LaravelAdapty\Events\SubscriptionStarted; use Illuminate\Support\Facades\Event; Event::listen(SubscriptionStarted::class, function (SubscriptionStarted $event) { $payload = $event->payload; // Access data from Adapty payload });
If you need custom handling, you can define your own job and set it in the config/adapty.php:
<?php return [ 'webhook' => [ 'process_webhook_job' => \Gridwb\LaravelAdapty\Jobs\ProcessWebhook::class, ], ];
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.