- Is this package still maintained? The last commit seems years old—should I use it for a new Laravel project?
- This package hasn’t seen updates since 2017–2019 and has no stars or dependents, indicating high maintenance risk. For new projects, consider a modern alternative like the official Yandex.Kassa SDK or a forked version updated for Laravel 8+/9+/10+. Always audit dependencies for security vulnerabilities, especially if targeting PHP 7.4+.
- Will this work with Laravel 8, 9, or 10? I’m on Laravel 5.6 but plan to upgrade soon.
- The package explicitly targets Laravel 5.6 and may break in newer versions due to PHP 8.x type changes, Omnipay updates, or Laravel’s auto-discovery shifts. If upgrading, you’ll likely need to fork the package or switch to a maintained SDK. Test thoroughly in a staging environment before migration.
- How do I install and configure this package in Laravel 5.6?
- Run `composer require andchir/omnipay3-yandexkassa`, then manually register the service provider in `config/app.php` and configure your Yandex.Kassa credentials in `config/services.php`. Example: `'yandexkassa' => ['shopId' => env('YANDEX_KASSA_SHOP_ID'), 'secretKey' => env('YANDEX_KASSA_SECRET_KEY')]`. No auto-discovery exists for Laravel 5.6.
- Does this support Yandex.Kassa’s webhook/IPN notifications? How do I validate them?
- The package abstracts payment requests/responses but doesn’t include built-in webhook validation for Yandex.Kassa’s IPN signatures. You’ll need to implement middleware or a queue job to verify signatures (e.g., using Yandex’s `notification_type` and `notification_id`) and handle retries for failed notifications.
- Is Omnipay’s abstraction layer necessary? Can’t I just use Yandex.Kassa’s official SDK directly?
- Omnipay adds multi-gateway support and consistency if you already use its abstraction for other payments (e.g., Stripe, PayPal). However, if Yandex.Kassa is your *only* payment gateway, a direct SDK (like `yandex-checkout-sdk`) may reduce complexity and avoid Omnipay’s overhead. Evaluate your team’s needs before choosing.
- What PHP versions does this package support? Will it work with PHP 8.0+?
- The package likely targets PHP 7.0–7.2 based on its age. PHP 8.x may introduce breaking changes (e.g., `json_encode` type strictness, removed functions). Test thoroughly, or fork the package to add PHP 8.0+ compatibility traits or use a compatibility layer like `php-compat`.
- How do I handle errors or retries for failed Yandex.Kassa API calls?
- Omnipay provides basic error handling, but you’ll need to extend it for retries. Use Laravel’s queue system with `retryAfter` logic for transient failures (e.g., network issues). For critical errors (e.g., invalid credentials), log them and notify admins. Consider a dead-letter queue for unrecoverable failures.
- Are there any PCI-DSS or KYC compliance requirements I need to implement?
- Yandex.Kassa (YooKassa) handles PCI-DSS compliance for you, but ensure your integration follows their [official guidelines](https://yookassa.ru/developers) for secure data handling. For KYC, rely on Yandex’s built-in verification—this package doesn’t include custom compliance logic. Audit your storage of sensitive data (e.g., tokens) against Laravel’s encryption practices.
- What are the alternatives to this package for Yandex.Kassa in Laravel?
- For modern Laravel (8+/9+/10+), consider the official [`yandex-checkout-sdk`](https://github.com/yookassa/yandex-checkout-sdk-php) or a forked version of this package updated for newer PHP/Laravel. If you need Omnipay’s abstraction, check for updated forks or community-maintained Omnipay drivers. Always verify compatibility with your Laravel version.
- How do I test payments in sandbox mode? Does this package support Yandex.Kassa’s test environment?
- Configure the package with Yandex.Kassa’s sandbox credentials (`shopId` and `secretKey` for test mode). The package should route requests to Yandex’s sandbox API automatically. Test edge cases like failed authorizations, refunds, and 3D Secure flows using Yandex’s [sandbox documentation](https://yookassa.ru/developers/sandbox). Manual testing is critical due to the lack of a visible test suite.