tomatophp/filament-withdrawals
Filament plugin to manage withdrawals in your admin panel. Create withdrawal methods, define custom request fields with a form builder, and review, view, and edit withdrawal requests. Includes installer command and easy plugin registration in AdminPanelProvider.
filament-withdrawals:install).AdminPanelProvider.^9.0 or ^10.0 constraints in composer.json.| Risk Area | Assessment | Mitigation Strategy |
|---|---|---|
| Filament Version Lock | Package may tie to a specific Filament major version (e.g., v2.x). | Pin Filament version in composer.json to avoid breaking changes. |
| Custom Logic Gaps | Limited documentation on handling edge cases (e.g., failed withdrawals). | Extend via service providers or custom middleware. |
| Performance | Heavy UI (tables, forms) could impact large datasets. | Implement pagination, lazy loading, or caching (e.g., Filament’s Table optimizations). |
| Security | Withdrawal approvals may need RBAC (e.g., admin-only access). | Leverage Filament’s built-in policies or add custom gates. |
| Data Migration | Existing withdrawal systems may require schema changes. | Publish and review migrations before adoption. |
CodeEditor) via service providers.decimal for wallet balances).composer require tomatophp/filament-withdrawals
php artisan filament-withdrawals:install
AdminPanelProvider.php.php artisan vendor:publish --tag="filament-withdrawals-migrations"
php artisan vendor:publish --tag="filament-withdrawals-lang"
| Component | Compatibility Notes |
|---|---|
| Laravel | Likely 10.x (check composer.json). |
| Filament | v2.x or v3.x (confirm version in package docs). |
| PHP | 8.1+ (required for Filament). |
| Databases | MySQL/PostgreSQL/SQLite (via Laravel migrations). |
| Queues | Supports queued withdrawal processing (if extended). |
| Caching | Filament’s built-in caching can optimize UI performance. |
withdrawal_requests table).tomatophp/filament-withdrawals for breaking changes (MIT license allows forks if needed).withdrawal_requests, withdrawal_methods tables).report() or Sentry).status, created_at).shouldQueue()).| Scenario | Impact | Mitigation |
|---|---|---|
| Database Lock Contention | Timeouts during bulk approvals. | Use transactions sparingly; implement retries. |
| Filament Cache Issues | UI stales or crashes. | Clear cache (php artisan cache:clear) or use Filament’s cache tags. |
| Payment Gateway Failures | Withdrawals stuck in "pending". | Add retry logic (e.g., Laravel’s retry() or a cron job). |
| CSRF/Session Attacks | Unauthorized withdrawal edits. | Leverage Filament’s built-in auth/policies. |
| Migration Conflicts | Schema conflicts on update. | Test migrations in staging; use --force cautiously. |
FilamentWithdrawalFormBuilder, FilamentWithdrawalFormFields).How can I help you explore Laravel packages today?