abel-olguin/laravel-openpay-plans
最新稳定版本:0.1.6
Composer 安装命令:
composer require abel-olguin/laravel-openpay-plans
包简介
Librería para manejar planes con Laravel y la plataforma de pago Openpay.
README 文档
README
Laravel Openpay plans es una librería de laravel para gestionar las suscripciones de openpay.
Instalación
composer require abel-olguin/laravel-openpay-plans
php artisan vendor:publish --provider="AbelOlguin\OpenPayPlans\PlansProvider"
php artisan migrate
Esto generará los archivos necesarios para el funcionamiento: vistas, config, traducciones y migraciones.
De igual manera necesitas configurar tu archivo .env con los siguientes datos de openpay:
PLANS_OPEN_ID=TU_ID_DE_OPENPAY
PLANS_OPEN_API_KEY=TU_API_KEY_DE_OPENPAY
PLANS_OPEN_COUNTRY=TU_CODIGO_DE_CIUDAD_DE_OPENPAY #(MEXICO ES MX)
PLANS_OPEN_PRODUCTION=true #(Si es true se generaran cargos reales)
En el modelo de usuarios debes usar el trait HasPlans:
namespace App\Models; use AbelOlguin\OpenPayPlans\Models\Traits\HasPlans; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use HasPlans; }
Para usar las rutas por defecto puedes usar:
\AbelOlguin\OpenPayPlans\Routes\Plans::routes();
Si prefieres hacer tus propias rutas te recomiendo usar el trait \AbelOlguin\OpenPayPlans\Controllers\Traits\Subscriptions
use AbelOlguin\OpenPayPlans\Controllers\Traits\Subscriptions; class SubscriptionController { use Subscriptions; ... }
Middleware
Esta librería tiene dos middleware disponibles los cuales se pueden usar de la siguiente forma
Route::middleware('plans:pro,trial')->get();
El middleware dejará pasar a cualquier usuario que tenga el plan pro o el plan trial
Route::middleware('plans.active')->get();
El middleware dejará pasar a cualquier usuario que tenga un plan activo, sea cual sea.
Gates
Hay tres gates disponibles los cuales se pueden usar de la siguiente forma:
use Illuminate\Support\Facades\Gate; if (!Gate::forUser($user)->allows('has-plan', 'trial')) { abort(403); }
- El gate responderá con un error 403 en caso de que el usuario no tenga el plan trial
use Illuminate\Support\Facades\Gate; if (!Gate::forUser($user)->allows('has-active-plan')) { abort(403); }
- El gate responderá con un error 403 en caso de que el usuario no tenga un plan activo
use Illuminate\Support\Facades\Gate; if (!Gate::forUser($user)->allows('create-plan')) { abort(403); }
- El gate responderá con un error 403 en caso de que el usuario no pueda crear un plan, esto se determina usando la configuracion,
si la llave
allow_multiple_plansestrue, permitira que el usuario pueda seguir suscribiendose a planes si, por el contrario, esfalsesignifica que el usuario solo puede suscribirse a un plan y si intenta suscribirse a otros no podra hacerlo, de igual forma este gate válida que el usuario no se suscriba al mismo plan.
Comandos
Hay 3 comandos disponibles:
- Una vez que creas tus planes en base de datos deberás usar el comando:
php artisan plans:generate
- Para eliminar todos los planes puedes usar:
php artisan plans:delete
- Para desactivar las suscripciones que no han sido pagadas, fueron canceladas o ya terminaron (pensado para ser usado en un schedule):
php artisan plans:check
Contributing
Los PR son bienvenidos :)
License
统计信息
- 总下载量: 15
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-03-09