itrends / taecel
Libreria de laravel para trabajar con taecel: https://taecel.com/portal/
Requires
- php: ^8
- guzzlehttp/guzzle: ^7.4
Requires (Dev)
- illuminate/support: ^9
- orchestra/testbench: ^7
- phpunit/phpunit: ^9
- symfony/thanks: ^1.0
This package is auto-updated.
Last update: 2025-03-26 02:54:33 UTC
README
Instalación
composer require itrends/taecel
Uso
Solo necesita agregar las siguientes variables a su archivo .env
, estas son prporcionadas por taecel cuando
ellos obtienen información de su empresa.
TAECEL_KEY=YOUR_KEY
TAECEL_NIP=YOUR_NIP
Una vez hecho esto, para comenzar a utilizarlo, hay dos maneras:
A traves del facade de Laravel
$balance = Taecel::getBalance()
A traves de una instancia de la clase Taecel
$taecel = Taecel::create()
Ambos utilizarán las variables de entorno para poder obtener el KEY y NIP de taecel, y una vez instanciado, pueden hacer uso de cualquiera de las siguientes funciones:
getBalance
De acuerdo al API de taecel devuelve siempre un JSON con información similar a la siguiente:
{ "success": true, "error": 0, "message": "Consulta Exitosa", "data": [ { "ID": "1", "Bolsa": "Tiempo Aire", "Saldo": "899,968,134" }, { "ID": "2", "Bolsa": "Pago de Servicios", "Saldo": "99,913,654" }, { "ID": "3", "Bolsa": "Timbres CFDI", "Saldo": "5,697" } ] }
getProducts
Devuelve una colección de todos los productos disponibles, cada producto es una instancia del objeto Producto
, el cual es arrable y jsonable,
actualmente el objeto tiene todos los objetos mostrados en $this
:
public function toArray() { return [ 'bolsa' => $this->getBolsa(), 'bolsa_id' => $this->getBolsaId(), 'categoria' => $this->getCategoria(), 'categoria_id' => $this->getCategoriaId(), 'carrier' => $this->getCarrier(), 'carrier_id' => $this->getCarrierId(), 'codigo' => $this->getCodigo(), 'monto' => $this->getMonto(), 'unidades' => $this->getUnidades(), 'vigencia' => $this->getVigencia(), 'descripcion' => $this->getDescripcion() ]; }
getProveedoresTae, get ProveedoresServicios, getProveedoresPaquetes y getProductsByCarrier
Devuelve todos los proveedores disponibles, dependiendo de la necesidad, cada proveedor es una instancia de la claseProveedor
en el sistema, el cual se forma con
la siguiente estructura.
public function toArray() { return [ 'id' => $this->getId(), 'nombre' => $this->getNombre(), 'bolsa_id' => $this->getBolsaId(), 'categoria' => $this->getCategoria(), 'categoria_id' => $this->getCategoriaId(), 'tipo' => $this->getTipo() ]; }
getProductsByCarrier
Devuelve una colección de objetos producto
filtrado por proveedor
requestTXN
Solicita una orden de compra, requiere que se le envíen 3 campos:
producto
referencia
monto
Ésta función devuelve un transaction_id
que es un string
que sirve para realizar consultas al método statusTxn
,
en dado caso de que algo salga mal, lanza una excepción con el error devuelto por taecel.
statusTXN
Verifica el estatus de una transaccion, requiere que se envien los siguientes datos:
transaction_id
A traves de éste campo intentará verificar el estatus de la transacción,
y si todo sale bien devolverá un objeto InformacionDeTransaccion
que
contiene lo siguiente:
public function toArray() { return [ 'transId' => $this->getTransId(), 'fecha' => $this->getFecha(), 'carrier' => $this->getCarrier(), 'folio' => $this->getFolio(), 'status' => $this->getStatus(), 'monto' => $this->getMonto(), 'nota' => $this->getNota() ]; }
pagarServicio
Practicamente ésta función hace lo mismo que requestTXN
, pero devuelve un objeto
InformacionDeTransaccion
dado que también manda a hablar a statusTXN
Pruebas unitarias
Antes de correr los test configure TAECEL_KEY y TAECEL_NIP como variables de entorno, y entonces ejecute.
composer test
Contribuciones
Todas las contribuciones sin bien recibidas, siempre y cuando cuenten con las pruebas unitarias correspondientes.