jey/perfectmoney
Laravel/PHP package for integrating Perfect Money payments. Includes tools to generate payment requests, handle callbacks/notifications, and verify transactions for accepting Perfect Money deposits on your site or application.
payment.succeeded, payment.failed) for real-time notifications or workflows..env and config file-based configuration, aligning with Laravel’s best practices for environment-specific setups.Http::macro), it could be adapted to use Guzzle or Symfony’s HTTP client if needed, improving flexibility.PM_ERROR_* codes) gracefully..env, never logged).PaymentGateway) to the PerfectMoney implementation.PerfectMoney::deposit()) for cleaner code, but document deprecation risks if facades are removed in future Laravel versions.PaymentProcessed) for downstream services (e.g., notifications, analytics).deposit or withdrawal jobs) to avoid timeouts.spatie/fruitful) to fail gracefully if PerfectMoney’s API is down.phpunit/phpunit for version-specific tests.pm vs. pmpro commands). If not, extend the package or use the official PerfectMoney PHP SDK as a fallback.payments table).composer require jey/perfectmoney..env and config/perfectmoney.php.AppServiceProvider.PerfectMoneyServiceTest).composer.json to avoid unexpected updates.composer why-not to audit for outdated dependencies..env..env variables and their sources (e.g., "PerfectMoney password is stored in 1Password").tap or a middleware.spatie/async-transfer).payments table is indexed for user_id, status, and created_at.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| PerfectMoney API downtime | No transactions processed | Circuit breaker + manual override in admin panel. |
| Invalid API credentials | All transactions fail silently | Automated credential validation on startup (e.g., boot() in service provider). |
| Malformed API response | Data corruption | Validate all responses against a schema (e.g., using spatie/array-to-object). |
| Queue |
How can I help you explore Laravel packages today?