routegroup / laravel-ing-pay
Laravel integration for the ING Pay payment gateway
Requires
- php: ^8.4
- illuminate/contracts: ^13.0
- illuminate/http: ^13.0
- illuminate/support: ^13.0
- routegroup/php-ing-pay: ^1.0
Requires (Dev)
- fakerphp/faker: ^1.24
- larastan/larastan: ^3.10
- laravel/pint: ^1.30.5
- nunomaduro/collision: ^8.9.5
- orchestra/testbench: ^11.0
- pestphp/pest: ^5.3
- pestphp/pest-plugin-phpstan: ^5.2
- pestphp/pest-plugin-rector: ^5.0
- rector/rector: ^2.8
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-31 14:01:54 UTC
README
The Laravel layer for routegroup/php-ing-pay, the ING Pay gateway
client: it builds the client from config/services.php, sends through Laravel's
HTTP client, and binds the paywall builder and notification validator in the
container.
Documentation: https://php-ing-pay.routegroup.pl
Installation
PHP 8.4 and Laravel 13:
composer require routegroup/laravel-ing-pay
Usage
Add the service to config/services.php:
use Routegroup\IngPay\Types\Environment; 'ing_pay' => [ 'merchant_id' => env('ING_PAY_MERCHANT_ID'), 'service_id' => env('ING_PAY_SERVICE_ID'), 'service_key' => env('ING_PAY_SERVICE_KEY'), 'api_key' => env('ING_PAY_API_KEY'), 'env' => env('ING_PAY_ENV', Environment::PRODUCTION->value), ],
Then resolve the Api and call it:
use Routegroup\IngPay\Api; use Routegroup\IngPay\Api\CreateTransactionRequest; use Routegroup\IngPay\Types\Currency; use Routegroup\IngPay\Types\PaymentMethod; use Routegroup\IngPay\Types\PaymentMethodCode; $response = app(Api::class)->createTransaction(new CreateTransactionRequest([ 'amount' => 4999, 'currency' => Currency::PLN, 'orderId' => 'ORDER-1042', 'paymentMethod' => PaymentMethod::PAY_BY_LINK, 'paymentMethodCode' => PaymentMethodCode::ING, 'successReturnUrl' => route('orders.paid', 1042), 'failureReturnUrl' => route('orders.failed', 1042), 'customer' => ['firstName' => 'Anna', 'lastName' => 'Kowalska', 'email' => 'anna@example.com'], ])); $response->transaction->id;
The documentation covers the paywall, payment links, the card widget, notifications, refunds and testing, with a Laravel tab on every sample.
Development
composer test runs the same lint, type and test gate as CI, for example
docker compose run --rm app composer test.
Licence
MIT. See LICENSE.md.