Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Omnipay Sberbank

Omnipay Sberbank Laravel Package

andrewnovikof/omnipay-sberbank

Omnipay gateway for Sberbank Acquiring REST API. Create and send authorize requests, switch test mode, handle redirects and responses, and retrieve Sberbank orderId/redirect URL. Unit tested; supports PHP 7.1+ (v3.2.2) or PHP 8+ (v3.3.0).

View on GitHub
Deep Wiki
Context7

Sberbank acquiring for PHP

Frequently asked questions about Omnipay Sberbank
How do I integrate this Sberbank Omnipay driver into a Laravel application?
First, install the package via Composer: `composer require andrewnovikof/omnipay-sberbank`. Then, register the gateway in your Laravel Service Provider using `Omnipay::create('Sberbank')`, configure credentials via `.env`, and bind it to your app’s container. Use Laravel’s facades or dependency injection to trigger payments like `authorize()` or `purchase()`.
Does this package support Laravel’s service container and dependency injection?
Yes, the package is Omnipay-based and works natively with Laravel’s service container. Bind the gateway in your `AppServiceProvider` and inject it into controllers or services. Laravel’s facades (e.g., `PaymentGateway`) can also abstract the integration for cleaner code.
What Laravel versions and PHP versions does this package support?
The package supports PHP 7.1+ (v3.2.2) or PHP 8+ (v3.3.0). Since Omnipay has no Laravel-specific dependencies, it works with any Laravel version that supports these PHP versions. Check your Laravel app’s PHP version compatibility first.
How do I enable test mode for Sberbank payments in Laravel?
Use `$gateway->setTestMode(true)` before sending requests. Configure test credentials in your `.env` file (e.g., `SBERBANK_TEST_USERNAME`). The package handles test mode seamlessly, allowing you to validate flows without live transactions.
Can I handle Sberbank’s redirect responses in Laravel?
Yes, after calling `$response->getRedirectUrl()`, redirect users to the Sberbank payment page. Use Laravel’s `Redirect` facade or middleware to process the callback at the `returnUrl`. The package provides `$response->getOrderId()` to track transactions server-side.
Are there any known issues with webhook or asynchronous notifications?
The package does not natively support Sberbank’s asynchronous notifications (webhooks). You’ll need to implement a Laravel route to validate and process webhooks manually, likely using Sberbank’s API to verify signatures and update payment statuses in your database.
What’s the retry strategy for failed transactions in this package?
The package itself does not include built-in retry logic. For failed transactions, implement a Laravel job queue (e.g., `laravel-queue`) to retry requests with exponential backoff. Use Omnipay’s `send()` method in a loop, catching exceptions to avoid infinite retries.
How do I securely store Sberbank API credentials in Laravel?
Store credentials in Laravel’s `.env` file (e.g., `SBERBANK_USERNAME`, `SBERBANK_PASSWORD`). Use Laravel’s `env()` helper or the `config()` facade to access them. For enhanced security, consider using Laravel Forge, Envoyer, or AWS Secrets Manager for production deployments.
Does this package handle PCI DSS compliance or tokenization?
The package itself does not enforce PCI DSS compliance—this is your responsibility. Use Laravel’s encryption (e.g., `encrypt()`) for sensitive data and ensure your server meets PCI DSS requirements. For tokenization, rely on Sberbank’s API or a dedicated PCI-compliant service like Stripe.
What alternatives exist if this package lacks features like webhooks or retries?
Consider forking the repository to add missing features or using a more actively maintained Omnipay driver like `omnipay/stripe` for inspiration. Alternatively, build a custom Laravel service layer around Omnipay’s core to handle webhooks, retries, and idempotency with Laravel’s queues and caching.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky