Search by

nowo-tech / redsys-php

HecFranco

Clean-room PHP SDK for the public Redsys TPV Virtual protocol (HMAC signing, redirect, REST). PHP 8.3+ and FrankenPHP worker-safe.

Package info

github.com/nowo-tech/RedsysPhp

Documentation

pkg:composer/nowo-tech/redsys-php

Fund package maintenance!

HecFranco

Statistics

Installs: 13

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.0 2026-10-22 06:18 UTC

README

CI Packagist Version Packagist Downloads License PHP GitHub stars Coverage

⭐ Found this useful? Install from Packagist · Give it a star on GitHub so more developers can find it.

Clean-room PHP SDK for the public Redsys TPV Virtual protocol (HMAC signing, redirect form, REST SIS). Namespace Nowo\Redsys\. License MIT. Release 1.0.10.

This is an independent implementation written from publicly documented algorithms and endpoints. It does not redistribute Redsys proprietary PHPL_* library source. “Redsys” is a trademark of its respective owners.

FrankenPHP Friendly Worker Mode

This bundle is FrankenPHP worker mode friendly.

As a library it is safe in worker mode: RedirectForm returns an HTML string and never calls echo or exit. Audited for worker with kernel not reset — see docs/FRANKENPHP-WORKER-AUDIT.md.

Installation

composer require nowo-tech/redsys-php:^1.0
require_once 'vendor/autoload.php';

Quick start

use Nowo\Redsys\Currency;
use Nowo\Redsys\Environment;
use Nowo\Redsys\Merchant;
use Nowo\Redsys\MerchantParameters;
use Nowo\Redsys\RedirectForm;
use Nowo\Redsys\SignatureVersion;
use Nowo\Redsys\TransactionType;

$merchant = new Merchant(
    merchantCode: '999008881',
    terminal: '1',
    secretKey: getenv('REDSYS_SECRET_KEY') ?: '',
    environment: Environment::Test,
    signatureVersion: SignatureVersion::HmacSha512V2,
);

$params = MerchantParameters::create()
    ->forMerchant($merchant)
    ->amount(145)
    ->order('1444904795')
    ->currency(Currency::Eur)
    ->transactionType(TransactionType::Authorization)
    ->merchantUrl('https://example.test/redsys/notify')
    ->urlOk('https://example.test/ok')
    ->urlKo('https://example.test/ko');

$html = RedirectForm::forMerchant($merchant, $params);

Compatibility

PHP 8.3+ with extensions curl, json, openssl.

Develop

make up && make install && make qa
make setup-hooks

Documentation

Additional documentation

Tests and coverage

composer install
composer test
composer test-coverage

PHP: 100% lines (278/278; Clover gate ≥ 99%, see docs/COVERAGE.md). TS/JS: N/A. Python: N/A.

make qa
make release-check

License

MIT — see LICENSE.

Independent clean-room implementation of the public Redsys TPV Virtual protocol. Does not redistribute Redsys proprietary PHPL_* source. “Redsys” is a trademark of its respective owners.