Transbank Webpay plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Transbank Webpay

Community

Integrate Transbank Webpay Plus payments into Filament with a credentials UI, official SDK helpers, and POST token_ws redirects.

Tags: Spatie Integration Widget Action Developer Tool
Supported versions:
5.x 4.x
John Michael Rivera Gonzalez avatar Author: John Michael Rivera Gonzalez

Package health

Beta

Automated checks of this plugin's Composer package

98 / 100
Security 100
Maintenance 100
Ecosystem 88
15 checks
  • Skipped: GitHub Actions pinned to SHA
  • Skipped: GitLab CI includes pinned to SHA
  • Passed: Open security advisories
  • Passed: Dependabot PR responsiveness — No open Dependabot PRs.
  • Skipped: Renovate MR responsiveness
  • Skipped: Dependabot or Renovate configured
  • Skipped: Dependency update cooldown configured
  • Passed: Provides a security policy
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 0 days ago; last release 0 days ago.
  • Passed: composer.lock not committed by library composer.lock is absent from the released dist archive.
  • Passed: Dist archive is lean
  • Warning: Current Laravel version supported — Package does not co-install with current Laravel 13.0; the newest co-installable line is 12.0, which still receives active support but is not the current stable.
  • Passed: Current PHP version supported — Constraint ^8.2 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 14 hours ago

Documentation

Transbank Webpay Filament plugin

FILAMENT 4.x FILAMENT 5.x

Latest Version on Packagist Total Downloads License GitHub Stars GitHub Issues Latest release PHPUnit tests

PHP 8.2+ Laravel 11+ Livewire 3/4 Filament 4/5 Built with Transbank SDK MIT

A Filament plugin that integrates Transbank Webpay Plus (Chile) into your Laravel application: credentials UI, logos, POST token_ws redirects, and create / commit / status / refund helpers on the official Transbank SDK.

Open source (MIT). Badges like Buy license / Private Composer package / Proprietary documentation apply to paid Filament plugins only — this package is free on Packagist.

#Requirements

Stack Versions
PHP 8.2+
Laravel 11.28+ / 12+
Filament 4.x or 5.x
Livewire 3.x (with Filament 4) / 4.x (with Filament 5)

#Installation

composer require johnrivera7/filament-transbank-webpay

Optional publishes:

php artisan vendor:publish --tag=filament-transbank-webpay-config
php artisan vendor:publish --tag=filament-transbank-webpay-assets

Register the plugin in your PanelProvider:

use JohnRivera7\FilamentTransbankWebpay\FilamentTransbankWebpayPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugin(
            FilamentTransbankWebpayPlugin::make()
                ->navigationGroup('Pagos')
                ->navigationSort(40)
        );
}

#Multi-tenant (recommended)

use JohnRivera7\FilamentTransbankWebpay\Support\TransbankCredentials;

->plugin(
    FilamentTransbankWebpayPlugin::make()
        ->credentialsUsing(function (): TransbankCredentials {
            $cfg = /* read from your DB */;

            return TransbankCredentials::fromArray($cfg);
        })
        ->persistCredentialsUsing(function (TransbankCredentials $credentials): void {
            /* persist $credentials->toArray() */
        })
)

#Single-tenant (.env)

TRANSBANK_ENABLED=true
TRANSBANK_COMMERCE_CODE=597055555532
TRANSBANK_API_KEY=...
TRANSBANK_ENVIRONMENT=integration

Without persistCredentialsUsing(), the settings page does not write credentials to disk—wire persistence via the callbacks above (or manage .env yourself).

#Gateway usage

use JohnRivera7\FilamentTransbankWebpay\FilamentTransbankWebpayPlugin;
use JohnRivera7\FilamentTransbankWebpay\Services\WebpayPlusGateway;

$gateway = FilamentTransbankWebpayPlugin::get()->gateway();

$payment = $gateway->create(
    buyOrder: 'ORD123',
    sessionId: 'sess-1',
    amountClp: 15990,
    returnUrl: route('payments.transbank.return'),
);

return response()->view('filament-transbank-webpay::payment-redirect', [
    'url' => $payment['redirect_url'],
    'fields' => $payment['redirect_fields'], // ['token_ws' => ...]
]);

On the return URL:

if (WebpayPlusGateway::isAbortReturn($request->all())) {
    $reason = WebpayPlusGateway::abortReason($request->all()); // aborted|timeout
}

// If token_ws is present (even alongside TBK_*), call commit:
$result = $gateway->commit($request->all());

#Reusable form schema

use JohnRivera7\FilamentTransbankWebpay\Forms\Components\TransbankCredentialsSchema;

$schema->components([
    ...TransbankCredentialsSchema::make('payments.transbank'),
]);

#Integration notes

  • Webpay Plus requires a POST redirect with token_ws (not a GET query string).
  • Integration sandbox: commerce 597055555532 + Transbank’s public integration API key.
  • Production: real commerce code + API Key Secret after Transbank validation.
  • Abort/timeout returns send TBK_* without token_ws. If both arrive, token_ws wins—run commit.

#Testing

composer install
composer test

#Security

See SECURITY.md.

#Changelog

See CHANGELOG.md.

#License

MIT

The author

John Michael Rivera Gonzalez avatar Author: John Michael Rivera Gonzalez

I am a full-stack developer focused on building reliable web platforms for education, enterprise, and business operations. I work mainly with Laravel and Filament, creating admin panels, reusable packages, and integrations that solve real production needs.

I also have a background in cybersecurity as an ethical hacker, which shapes how I design and review software: secure authentication flows, proper access control, hardening production environments, and thinking about real-world attack surfaces before they become problems.

I contribute to the Filament ecosystem by developing open-source panel plugins, with a strong focus on authentication, enterprise SSO, and tools that help teams manage complex workflows from a clean admin interface. I follow official Filament standards and aim to publish practical, well-documented packages that developers can adopt with confidence.

Beyond Filament, I develop Moodle plugins and customizations for e-learning platforms, including integrations, Microsoft Teams modules, learning activities, custom course formats, and automated cloud backup solutions. I also build Laravel applications for insurance, commercial, corporate, and agricultural management systems.

My infrastructure work includes high-availability setups with PostgreSQL clusters, GlusterFS, Nginx, and Consul, as well as Odoo ERP and POS implementations. I enjoy working across the full stack—from backend architecture and DevOps automation to polished admin interfaces and end-user workflows.

I publish open-source packages on Packagist and GitHub, and I plan to keep expanding my contributions to Filament with new panel plugins over time.

Plugins
2
Stars
5

From the same author