dazza-dev/dgt-cr 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dazza-dev/dgt-cr

最新稳定版本:v1.0.0

Composer 安装命令:

composer require dazza-dev/dgt-cr

包简介

Paquete para generar, firmar y enviar documentos electrónicos (Factura, Nota crédito, Nota débito y Tiquete Electrónico) al Ministerio de Hacienda (Costa Rica).

README 文档

README

Paquete para generar, firmar y enviar documentos electrónicos (Factura, Nota crédito, Nota débito y Tiquete Electrónico) al Ministerio de Hacienda (Costa Rica).

Instalación

composer require dazza-dev/dgt-cr

Configuración

use DazzaDev\DgtCr\Client;

$client = new Client(test: true); // true or false

// Configurar el certificado y la clave privada
$client->setCertificate([
    'path' => __DIR__ . '/certificado.p12',
    'password' => 'clave_certificado',
]);

// Configurar las credenciales
$client->setCredentials([
    'username' => 'usuario',
    'password' => 'clave_api',
]);

// Configurar call back url
$client->setCallbackUrl('https://tu-dominio.com/callback');

// Ruta donde se guardarán los archivos xml
$client->setFilePath(__DIR__ . '/documentos');

Uso

Configurar el emisor y receptor

Antes de enviar un documento, debes configurar el emisor y receptor. Esto se puede hacer con los métodos setIssuer y setReceiver.

// Emisor
$client->setIssuer([
    'identification_type' => '02',
    'identification_number' => 'identificacion_emisor',
]);

// Receptor
$client->setReceiver([
    'identification_type' => '02',
    'identification_number' => 'identificacion_receptor',
]);

Enviar un documento electrónico

Para enviar un documento electrónico como Factura, Nota crédito, Nota débito o Tiquete Electrónico. primero debes pasar la estructura de datos que puedes encontrar en: dazza-dev/dgt-xml-generator.

Ejemplo de uso (Factura)

// Usar el valor en inglés de la tabla
$client->setDocumentType('invoice');

// Datos del documento
$client->setDocumentData($documentData);

// Enviar el documento
$document = $client->sendDocument();

Tipos de documentos disponibles

Documento Valor
Factura invoice
Nota de crédito credit-note
Nota de débito debit-note
Tiquete Electrónico ticket
Mensaje Receptor receiver-message

Consultar estado del documento enviado

Después de enviar un documento, puedes consultar su estado usando el método checkStatus:

$documentStatus = $client->checkStatus(
    documentKey: $clave
);

Buscar un documento

Para buscar un documento debemos pasar la clave del documento que se obtiene al enviar el documento.

$document = $client->getDocument(
    documentKey: $clave
);

Obtener lista de documentos

Para obtener una lista de documentos electrónicos que se han enviado, puedes usar el método getDocuments.

$documents = $client->getDocuments(
    offset: 0,
    limit: 50
);

Obtener los listados

El Ministerio de hacienda de Costa Rica tiene una lista de códigos que este paquete te pone a disposición para facilitar el trabajo de consultar esto en el anexo técnico:

use DazzaDev\DgtCr\Listing;

// Obtener los listados disponibles
$listings = Listing::getListings();

// Consultar los datos de un listado por tipo
$listingByType = Listing::getListing('tipos-comprobante');

Contribuciones

Contribuciones son bienvenidas. Si encuentras algún error o tienes ideas para mejoras, por favor abre un issue o envía un pull request. Asegúrate de seguir las guías de contribución.

Autor

DGT Costa Rica fue creado por DAZZA.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-25