PHPackages                             lawiet/laravel-yappy-checkout-v2 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. lawiet/laravel-yappy-checkout-v2

ActiveLibrary[Payment Processing](/categories/payments)

lawiet/laravel-yappy-checkout-v2
================================

Integración para Laravel con Yappy en su version 2

v1.0(7mo ago)011MITPHP

Since Oct 5Pushed 7mo agoCompare

[ Source](https://github.com/Lawiet/laravel-yappy-checkout-v2)[ Packagist](https://packagist.org/packages/lawiet/laravel-yappy-checkout-v2)[ RSS](/packages/lawiet-laravel-yappy-checkout-v2/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

Laravel Yappy Checkout
======================

[](#laravel-yappy-checkout)

[![Tests](https://github.com/lawiet/laravel-yappy-checkout-v2/actions/workflows/tests.yml/badge.svg)](https://github.com/lawiet/laravel-yappy-checkout-v2/actions/workflows/tests.yml/badge.svg)[![Latest Stable Version](https://camo.githubusercontent.com/41fb1d5fab80e9413e1684ad4d6faa8e0de84764264560226ce4c80b9a426ac4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c61776965742f6c61726176656c2d79617070792d636865636b6f75742d7632)](https://camo.githubusercontent.com/41fb1d5fab80e9413e1684ad4d6faa8e0de84764264560226ce4c80b9a426ac4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c61776965742f6c61726176656c2d79617070792d636865636b6f75742d7632)[![License](https://camo.githubusercontent.com/08ec3a560ab3dacfca2ba4c08664a679c38772e0cf5908cb140dc91a6eba8c52/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c61776965742f6c61726176656c2d79617070792d636865636b6f75742d7632)](https://camo.githubusercontent.com/08ec3a560ab3dacfca2ba4c08664a679c38772e0cf5908cb140dc91a6eba8c52/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c61776965742f6c61726176656c2d79617070792d636865636b6f75742d7632)

Implementación del Botón de Pago Yappy para Laravel.

Este paquete está basado en la [Librería en PHP](https://www.yappy.com.pa/comercial/desarrolladores/boton-de-pago-yappy-nueva-integracion)del sitio web de Banco General.

Instalación
-----------

[](#instalación)

Para instalar, utiliza el siguiente comando:

```
composer require lawiet/laravel-yappy-checkout-v2
```

Si tienes Laravel 8 o superior. Para versiones anteriores tienes agregar unas líneas a tu archivo `config/app.php`, dentro de la llave `providers` y dentro de `aliases`:

```
'providers' => [
    // Otros paquetes por acá
    // ...
    Yappi\YappyCheckout\YappyCheckoutServiceProvider::class,
],

'aliases' => [
    // Otros aliases por acá
    // ...
    'YappyCheckout' => Yappi\YappyCheckout\Facades\YappyCheckoutFacade::class,
],
```

Configuración
-------------

[](#configuración)

Agrega las siguientes variables a tu `.env` (y a tu `.env.example` en blanco si eres un buen muchacho):

```
YAPPY_SECRET_KEY=
YAPPY_MERCHANT_ID=
YAPPY_MERCHANT_URL=
YAPPY_IPN_URL=
```

VariableTipoDescripciónYAPPY\_SECRET\_KEY`string`Clave secreta del comercio.YAPPY\_MERCHANT\_ID`string`ID del comercio.YAPPY\_MERCHANT\_URL`string`URL de comercio. Normalmente es igual a APP\_URL, pero en ambientes de desarrollo APP\_URL puede tomar valores locales.YAPPY\_IPN\_URL`string`URL del IPN. Esta es donde se realizará el llamado de parte de yappi indicando el estado del pago.Si quieres tener más control sobre la configuración, puedes hacer publish del archivo de configuración:

```
php artisan vendor:publish --provider="Yappi\YappyCheckout\YappyCheckoutServiceProvider"
```

Esto agregará el archivo `config/yappy.php` a tu proyecto.

Uso
---

[](#uso)

### crear una orden

[](#crear-una-orden)

```
use Yappi\YappyCheckout\YappyCheckout;

class YapiController extends Controller
{
    public function createPayment()
    {
        $yappyCheckout = new YappyCheckout();

        $response = $yappyCheckout->createOrder(
            'order-123',
            '66666666',
            10.00,
            0.00,
            0.00,
            10.00
        );

        ...
    }
}
```

El método `createOrder` devuelve `Exception` si ha habido un error creando la orden. Este método recibe los siguientes parámetros:

VariableTipoDescripción`orderId``string`, `int`ID de la orden.`phone``string`El número de teléfono del usuario.`total``float`Total de la compra.`tax``float`Impuesto de la compra (opcional).`discuount``float`Descuento de la compra (opcional).`subtotal``float`Subtotal de la compra (opcional).Si todo sale bien, se devuelve la siguiente respuesta:

VariableTipoDescripción`transactionId``string`ID yappi de la orden.`token``string`Token de sesion.`documentName``string`Documento de sesión.### IPN

[](#ipn)

Una vez que se haya hecho o se cancele la transacción, se recibira la notificación a través de `YAPPY_IPN_URL`:

```
YAPPY_IPN_URL="${APP_URL}/api/yappi/ipn"
```

### Recibir el estado de la transacción

[](#recibir-el-estado-de-la-transacción)

Una vez terminada la transacción, Yappy nos enviará el estado a nuestro servidor a `mi-dominio.com/pagosbg.php`. Lamentablemente, no podemos cambiar esa ruta, así que toca trabajar con ese `.php` feíto en la URL.

Creamos nuestra ruta en `routes/web.php`.

```
// Para Laravel 8 en adelante
Route::get('/yappi/ipn', [YappiController::class, 'ipn']);

// O para versiones anteriores
Route::get('/yappi/ipn.php', 'YappiController@ipn');
```

Y en nuestro controlador.

```
use Yappi\YappyCheckout\YappyCheckout;
use Illuminate\Http\Request;

class YappiController extends Controller
{
    public function yappyPaymentStatus(Request $request)
    {
        $yappyCheckout = new YappyCheckout();

        $result = $yappyCheckout->getStatus($request->all());

        if ($result != 'SUCCESS') {
            // aqui la logica de error
            ...
        }

        // aqui la logica de exito
        ...
    }
}
```

El método `getStatus` retorna el status en el que ha quedado el pago. Los valores de `status` son:

CódigoDescripciónSUCCESS**Ejecutado**. El cliente confirmó el pago y se completó la compra.FAILED**Rechazado**. El cliente rechazó el proceso de pago.CANCELLED**Cancelado**. El cliente inició el proceso, pero canceló el pedido en el app de Banco General.EXPIRED**Expirado**. El cliente no confirma el pago dentro del tiempo que dura la vida del pedido.Contribuir
----------

[](#contribuir)

Si deseas contribuir, siéntete libre de subir tu pull request usando el estándar [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)que es el que usa Laravel.

Autor
-----

[](#autor)

Desarrollado por [Lawiet](https://github.com/Lawiet). Este proyecto ha sido realizado con la guia del proyecto [shino47/laravel-yappy-checkout](https://github.com/shino47/laravel-yappy-checkout) el cual ha sido deprecado

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance64

Regular maintenance activity

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

219d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/41e0e18f92ca8099b4dc400f0233e7d759301bfa27b4a77e8986479627eaf920?d=identicon)[Lawiet](/maintainers/Lawiet)

---

Top Contributors

[![Lawiet](https://avatars.githubusercontent.com/u/11633133?v=4)](https://github.com/Lawiet "Lawiet (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/lawiet-laravel-yappy-checkout-v2/health.svg)

```
[![Health](https://phpackages.com/badges/lawiet-laravel-yappy-checkout-v2/health.svg)](https://phpackages.com/packages/lawiet-laravel-yappy-checkout-v2)
```

###  Alternatives

[chargebee/chargebee-php

ChargeBee API client implementation for PHP

768.0M9](/packages/chargebee-chargebee-php)[imdhemy/google-play-billing

Google Play Billing

491.3M5](/packages/imdhemy-google-play-billing)[bitpay/sdk

Complete version of the PHP library for the new cryptographically secure BitPay API

42337.5k4](/packages/bitpay-sdk)[buckaroo/sdk

Buckaroo payment SDK

12189.1k9](/packages/buckaroo-sdk)[contica/facturador-electronico-cr

Un facturador de código libre para integrar facturación electrónica en Costa Rica a un proyecto PHP

2128.8k](/packages/contica-facturador-electronico-cr)[karson/mpesa-php-sdk

172.2k](/packages/karson-mpesa-php-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
