mrjeanp / azul-php
AZUL Web Services PHP library
Requires
- php: >=7.1.29
Requires (Dev)
- phpunit/phpunit: 7.5.x-dev
- vlucas/phpdotenv: ^4.1@dev
This package is auto-updated.
Last update: 2023-07-17 14:12:13 UTC
README
Cualquiera que haya trabajado con la API de AZUL conoce bien las inconsistencias que existen en este servicio, las cuales generan grandes frustraciones al momento de desarrollar. Esta librería te puede ayudar a evitar la mayoría de frustraciones.
La documentación también ha sido mejorada con respecto al PDF original de AZUL, con una mejor organización del texto y una referencia interactiva de la API.
Consulta esta wiki para saber más sobre AZUL Webservices.
Instalación
- Instala composer.
$ composer require mrjeanp/azul-php
$ composer install
Cómo usarla
<?php require_once __DIR__."/vendor/autoload.php"; use Azul\Azul; use Azul\AzulException; try { $azul = new Azul; $azul->set('auth1', 'test'); // Auth1 otorgado por AZUL. $azul->set('auth2', 'test'); // Auth2 otorgado por AZUL. $azul->set('domain', 'pruebas'); // Entorno (pruebas|pagos) $azul->set('certificate_path', '/absolute/path/to/azul.crt'); $azul->set('key_path', '/absolute/path/to/azul.key'); $azul->Store = /* Merchant ID (MID) otorgado por AZUL */; // Ejecutar transacción $sale = $azul->sale([ 'CardNumber' => ..., 'Expiration' => ..., 'CVC' => ..., 'Amount' => 2000.00, 'Itbis' => 1000.00, 'CustomOrderId' => 'SALE-1', ]); // Resultado de la transacción var_dump($sale); } catch (AzulException $e) { // Detalles del error var_dump($e->getDetails()); }
Sale
Crea una transacción de venta usando la información de una tarjeta o un token del DataVault.
$sale = $azul->sale([ 'CardNumber' => $cc_number, 'Expiration' => $cc_exp, 'CVC' => $cc_cvc, 'Amount' => 2000.00, 'Itbis' => 1000.00, 'CustomOrderId' => 'SALE-1', ]); $sale = $azul->sale([ 'DataVaultToken' => $data_vault_token, 'Amount' => 2000.00, 'Itbis' => 1000.00, 'CustomOrderId' => 'SALE-2', ]);
Hold
Crea una transacción en HOLD (en espera) usando la info. de una tarjeta o token del DataVault.
$hold = $azul->hold([ 'CardNumber' => $cc_number, 'Expiration' => $cc_exp, 'CVC' => $cc_cvc, 'Amount' => 2000.00, 'Itbis' => 1000.00, 'CustomOrderId' => 'HOLD-1', ]); $hold = $azul->hold([ 'DataVaultToken' => $data_vault_token, 'Amount' => 2000.00, 'Itbis' => 1000.00, 'CustomOrderId' => 'HOLD-2', ]);
Cancel
Cancela una transacción en HOLD.
$cancel = $azul->cancel([ 'CustomOrderId' => $hold->CustomOrderId ]);
Post
Confirma una transacción en HOLD.
$post = $azul->post([ 'AzulOrderId' => $hold->AzulOrderId, 'OriginalDate' => $hold->DateTime, 'Amount' => 2000.00, 'Itbis' => 1000.00, ]);
Verify
Verifica una transacción previa (HOLD o SALE)
$verify = $azul->verify([ 'CustomOrderId' => $sale->CustomOrderId ]);
Refund
Crea una transacción de reembolso.
$refund = $azul->refund([ 'AzulOrderId' => $sale->AzulOrderId 'OriginalDate' => $sale->DateTime, 'Amount' => 2000.00, 'Itbis' => 1000.00, ]);
Create Token
Crea un token del DataVault.
$created = $azul->createToken([ 'CardNumber' => $cc_number, 'Expiration' => $cc_exp, 'CVC' => $cc_cvc, ]);
Delete Token
Elimina un token del DataVault.
$deleted = $azul->deleteToken([ 'DataVaultToken' => $created->DataVaultToken ]);
Pruebas
Para correr pruebas, crea un archivo llamado test.env
y copia el contenido de
test.env.example
en ese archivo, luego los valores correspondientes
a tu entorno.
Ejectuta:
$ ./vendor/bin/phpunit
© MIT License