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
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);