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.
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony
spatie/flare-daemon-runtime