- How do I install tomatophp/filament-payments in a Laravel app?
- Install it with Composer using composer require tomatophp/filament-payments. The package depends on Spatie Media Library, so publish its migrations with the vendor:publish command for the medialibrary-migrations tag and run your migrations. Then register or discover the Filament plugin in your panel and verify the payments tables and resources appear. Check the README for any panel registration steps specific to your Filament version.
- Which payment gateways does filament-payments support out of the box?
- The README lists drivers for StripeV3, Plisio, PayPal, Paymob, Tap, Myfatoorah, and Creptomus, with more planned. Gateways such as Paddle, Lemon Squeezy, Binance, PayTabs, Moyaser, Payfort, and Fawery are marked as not yet integrated. Because driver coverage can change between releases, confirm the current list on Packagist and in the repository before committing to a provider.
- Is filament-payments compatible with Filament v3 and Laravel 10?
- The package is built for FilamentPHP admin panels and follows Filament's resource architecture, but you should verify the exact Laravel and Filament constraints in its composer.json. Filament plugin APIs can change between major versions, so test the install in a staging branch before upgrading. Treat Packagist metadata and the README as the source of truth for supported versions.
- How do I create a payment with the filament-payments Payment facade and hosted payment page?
- Use the package's Payment facade methods to create a payment record and route the customer to the included hosted payment page. The facade abstracts the selected gateway driver, so the same flow can work across Stripe, PayPal, Paymob, Tap, Myfatoorah, or other supported drivers. Confirm the exact method signatures in the source or README for your installed version, and listen for payment events to update your own order state.
- Can I add a custom payment gateway driver to filament-payments?
- The package uses a driver-based gateway abstraction, so adding a provider generally means implementing or extending a driver and registering it with the package's payment gate configuration. Custom gateways may require extra development for provider-specific error handling, idempotency, and callback validation. Prototype the driver in a staging environment with sandbox credentials before relying on it in production.
- How do I customize payment actions, gates, or the Filament payment page without forking?
- Start with Filament's resource and action customization points, plus the package's payment gates, gate options, and custom payment actions. You can often override Filament views or extend resource classes instead of editing vendor code. If your UI diverges heavily from the default tables and forms, expect to maintain overrides as the package evolves.
- Does filament-payments handle gateway webhooks and secure callbacks?
- Webhook and callback handling is gateway-specific, so validate each provider's signature or secret in your Laravel routes before trusting the payload. Keep API keys and tokens in environment variables, never in logs, and confirm CSRF and callback exclusions are configured correctly. Test webhook flows with each gateway's sandbox, including failed and duplicate notifications, before going live.
- How are payment statuses, filters, and grouped lists handled in the Filament payment manager?
- The package provides a payments list, a payment detail view, and status filters with grouping in the Filament admin panel. Those views let support teams scan pending, paid, failed, or other statuses without custom SQL. If your business uses extra statuses, extend the package's status configuration or enum and verify the filters and badges still render correctly.
- What are the production risks of using tomatophp/filament-payments in a Laravel app?
- The package is early-stage, with modest stars and dependents, so test edge cases such as failed transactions, gateway timeouts, and duplicate callbacks thoroughly. Keep payment processing asynchronous where possible and verify queue support for long-running gateway calls. Store credentials securely, restrict Filament payment permissions with policies, and pin a tested Composer version before deploying.
- How do I migrate existing payment data into filament-payments?
- Audit your legacy payment workflows and map fields such as amount, currency, status, gateway reference, and polymorphic links into the package's payments schema. Run a proof of concept in staging with one gateway sandbox and a small batch of migrated records. Validate statuses, relations, and webhook updates before migrating all data, and keep a rollback path for the old system.