mrjeanp/azul-php

This package is abandoned and no longer maintained. No replacement package was suggested.

AZUL Web Services PHP library

dev-master 2019-12-17 05:57 UTC

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

  1. Instala composer.
  2. $ composer require mrjeanp/azul-php
  3. $ 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