ferlokz / omnipay-pagandocheck
Pasarela de pago Pagando Check para OmniPay.
v1.2.2
2025-05-09 17:19 UTC
Requires
- league/omnipay: ^3.2
Requires (Dev)
- vlucas/phpdotenv: ^5.6
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Integración de pasarela de pago de Pagando Check para su uso mediante la interfaz de Omnipay.
Omnipay es una librería de php que permite la integración y gestión de múltiples pasarelas de pago compartiendo una única interfaz para reducir o evitar ajustes complejos en código.
Pagando Check es una pasarela de pago que permite transacciones en comercios electrónicos y en terminal.
Instalación del paquete en su proyecto
composer require ferlokz/omnipay-pagandocheck
Implementación
- Crear una cuenta en Pagando Check y acceder al portal de administración.
- Buscar sección de API para sitio web. Seleccione el método de cobro "API".
- Configurar API siguiendo los pasos mostrados y obtener llave de pruebas.
- Para consumir la pasarela de pago necesita el nombre de usuario y la Llave pública para pruebas.
- Definir el uso de la librería de Omnipay y otras si aplica.
// Librerías a usar use Omnipay\Omnipay; use Dotenv\Dotenv;
- Configurar nombre de usuario y la Llave pública.
// Obtener los valores de user y password desde las variables de entorno $api_user = $_ENV['API_USER']; $api_password = $_ENV['API_PUBLIC_KEY'];
- Inicializar la pasarela de pago con Omnipay.
// Inicializar el gateway $gateway = Omnipay::create('Ferlokz\OmnipayPagandoCheck\Gateway'); $gateway->setUser($api_user); $gateway->setPassword($api_password);
- Recuperar el token de autorización.
// Recuperar el token $response = $gateway->getAuthorizationToken()->send(); if ($response->isSuccessful()) { $token = $response->getAuthorizationToken(); echo "Token obtenido: " . $token . "<br/>"; } else { echo "Error al obtener el token."; exit(); } $gateway->setToken($token);
- Crear un cliente.
// Crear un cliente $response = $gateway->createClient([ 'email' => 'jdoe@test.com', 'name' => 'John', 'lastName' => 'Doe', 'secondLastName' => 'Johnson', 'phone' => '1234567890', 'birthday' => '01/01/2007', ])->send(); if ($response->isSuccessful()) { $userId = $response->getUserId(); echo "Id del usuario: " . $userId . "<br/>"; } else { echo "Error al obtener el Id del usuario."; exit(); } $gateway->setUserId($userId);
- Agregar una tarjeta al cliente.
// Agregar una tarjeta $response = $gateway->addCard([ 'userId' => $gateway->getUserId(), 'pan' => '1111111111111111', 'cvv' => '171', 'exp_month' => '02', 'exp_year' => '23', 'name' => 'FRANCISCO TORRES BENAVIDES', 'street' => 'Diego Rivera', 'noExt' => '720', 'district' => 'Insurgentes', 'zipCode' => '31104', 'city' => 'Chihuahua', 'state' => 'Chihuahua', 'country' => 'MX' ])->send(); if ($response->isSuccessful()) { $cardId = $response->getCardId(); echo "Id de la tarjeta: " . $cardId . "<br/>"; } else { echo "Error al obtener el Id de la tarjeta."; exit(); } $gateway->setCardId($cardId);
- Realizar una compra con la información del cliente y la tarjeta registrada.
// Realizar una compra $response = $gateway->purchase([ 'userId' => $gateway->getUserId(), 'amount' => 500.00, 'concept' => '', 'cardId' => $gateway->getCardId(), 'aftToken' => '', 'pin' => '', 'street' => '', 'noExt' => '', 'district' => '', 'zipCode' => '', 'city' => '', 'state' => '', 'country' => '', 'expediteShipping' => 'false', 'items' => [ [ 'quantity' => 1, 'productSku' => 'ABC2567', 'productName' => 'Producto de Prueba', 'productType' =>'OTHER', 'unitPrice' => 500, 'totalAmount' => 500 ] ], ])->send(); if ($response->isSuccessful()) { $folio = $response->getFolio(); echo "Folio: " . $folio . "<br/>"; } else { echo "Error al obtener el folio."; exit(); } $gateway->setFolio($folio);