Está en la página 1de 16

SDK2 PANAMÁ

Índice

¿Qué es el SDK? 3
Introducción a la factura electrónica 3
Lenguajes y modos de ejecución 3
PHP 3
Requisitos técnicos 3
Instalación 3
Instalación IONCUBE 4
Instalación de ioncube loader 4
Xamp Windows 4
Linux Ubuntu 4
Linux Centos 4
Ioncube Windows 4
Ioncube Linux 4
Ejecutar ejemplo 5
Sintaxis 5
Datos de entrada 5
Datos de respuesta 5
Comentarios adicionales 5
TXT Windows línea de comandos 6
Requisitos técnicos 6
Instalación 6
Ejecutar ejemplo 6
Sintaxis 6
Datos de entrada 7
Datos de respuesta 8
Comentarios adicionales 8
C# 9
Requisitos técnicos 9
Instalación 9
Ejecutar ejemplo 9
Sintaxis 9
Datos de entrada 9
Datos de respuesta 9
Comentarios adicionales 9
VB.net 11
Requisitos técnicos 11
Instalación 11

página 1
Ejecutar ejemplo 11
Sintaxis 11
Datos de entrada 11
Datos de respuesta 11
Comentarios adicionales 11
APIREST TXT 12
Requisitos técnicos 12
Instalación 12
URL 12
Sintaxis 12
Datos de entrada 12
Datos de respuesta 12
Comentarios adicionales 12
API REST JSON 13
Requisitos técnicos 13
Instalación 13
URL 13
Sintaxis 13
Datos de entrada 13
Datos de respuesta 13
Comentarios adicionales 13

CÓDIGOS DE RESPUESTA 14

RESPUESTA 14

página 2
¿Qué es el SDK?

Es una herramienta que genera el XML, lo envía al PAC y almacena la respuesta de un


modo transparente

Introducción a la factura electrónica

Lenguajes y modos de ejecución

PHP

Esquema de funcionamiento

Requisitos técnicos
● PHP 5.3+
● módulo ioncube

Instalación
1. Hacer copia del SDK en /mi_proyecto/mis_librerias/sdk2
2. Dar permiso de escritura en /mi_proyecto/almacenaxml
3. Dar permiso de escritura en /mi_proyecto/alguna_ruta/sdk2/tmp , opcional carpeta
para almacenar último error
4. en mi proyecto agregar include “mis_librerias/sdk2/sdk2.php”

página 3
Instalación IONCUBE

Instalación de ioncube loader


Descarga de www.ioncube.com el Loader, esta es una librería .so (linux) y .dll (windows)
esta se añade en php.ini

La versión a descargar debe de coincidir con tu misma versión de PHP.

Xamp Windows
https://www.youtube.com/watch?v=ZajP_XRPT9Y&feature=youtu.be

cPanel

https://www.youtube.com/watch?v=6MRgqBt8SYo&feature=youtu.be
https://www.youtube.com/watch?v=IqSG5_5ndFk&feature=youtu.be

Linux Ubuntu

https://www.youtube.com/watch?v=ijCSuz7L9G4&feature=youtu.be

Linux Centos

https://www.youtube.com/watch?v=WWJ7ObyMSc0&feature=youtu.be

Ioncube Windows
XAMP 64bit no tiene soporte a la librería de ioncube, debes de utilizar la versión de 32 bits.

Para instalación propia añade a PHP.INI:

zend_extension="ioncube_loader_win_5.3.dll"

NOTA: la ruta de los archivos es solo un ejemplo de la sintaxis, debes de colocar la ruta
correcta según tu versión de php

Ioncube Linux
Añade en PHP.INI lo siguiente

[Zend]
zend_extension="/usr/local/IonCube/ioncube_loader_lin_5.3.so"
zend_extension_ts="/usr/local/IonCube/ioncube_loader_lin_5.3_ts.so"

NOTA: la ruta de los archivos es solo un ejemplo de la sintaxis

página 4
Ejecutar ejemplo
1. Descargue el ejemplo
2. Publicar en un servidor con PHP 5.3+
3. Dar permiso de escritura a la carpeta tmp y timbrados
4. Desde el navegador ingrese a
http://mi-servidor/ejemplos/fepanama/ejemplo_fe_factura_basica.php o
http://mi-servidor/ejemplos/fepanama/ para ver el listado de ejemplos disponible

Sintaxis
//arreglo de datos

$datos['xml']='ruta/fe_ejemplo_factura.xml';

$datos['rFE']['gDGen']['iAmb'] = '2';
$datos['rFE']['gDGen']['iTpEmis'] = '01';
$datos['rFE']['gDGen']['iDoc'] = '01';
…..
…..
…..

//ejecutar función y listo


$respuesta = mf_genera_fepanama($datos);

Datos de entrada
Los datos de entrada son por medio de un arreglo de datos el cual tiene el mismo orden que
un XML

Ejemplo
$datos['rFE']['gDGen']['gEmis']['gRucEmi']['dRuc'] = '844084-1-504061';

Equivale al nodo
/rFE/gDGen/gEmis/gRucEmi/dRuc = 844084-1-504061

Datos de respuesta
La respuesta es un arreglo que corresponde a los datos de respuesta

Comentarios adicionales

página 5
TXT Windows línea de comandos

Este método se enfoca en convertir un archivo de texto con extensión .INI en una factura
electrónica

Requisitos técnicos
● Windows vista o superior
● .net 3.5 o superior
● permiso de ejecución

Instalación
Descargar y ejecutar el instalador del KIT, esto creará la instalación en c:\sdk2; esta ruta la
puedes mover libremente entre carpeta que la ruta no tenga espacios en blanco

Ejecutar ejemplo
en línea de comandos escribir:
c:\sdk2\timbrar64.bat “c:\ruta\mifactura.ini”

Generando un archivo de respuesta llamado


c:\ruta\mifactura_respuesta.ini

Sintaxis
variable1=valor1
variable2=valor2
[nodo1.subnodo1]

página 6
variable1=valor de variable 1 del nodo1 / subnodo 1
variable2=valor de variable 2 del nodo1 / subnodo 1

Datos de entrada
Los valores del xml se almacenan en un archivo por ejemplo c:\sistema\factura_1.ini
en ese archivo se almacena el contenido de la factura, toma de ejemplo alguno que esté en
la galería de ejemplos

https://ejemplos.siteck.mx/index.php?ejemplo=ejemplo_fe_factura_basica

página 7
Datos de respuesta
Existen varios modos de respuesta, esto se define con la variable MODOINI=INI

Los modos para el formato de respuesta son:

INI default variable1=valor1


variable2=valor2

DIVISOR añade salto de línea y ******* entre variable1=valor1


cada valor de los elementos *************
variable2=valor2
*************

JSON formato JSON {


"variable1": "valor1",
"variable2": "valor2"
}

XML formato XML <?xml version="1.0"


encoding="UTF-8" ?>
<variable1>valor1</variable1
>
<variable2>valor2</variable2
>

Comentarios adicionales

página 8
C#

Requisitos técnicos
.net 3.5 o superior

Instalación
Realizar la descargar del siguiente instalador SDK

https://siteck.mx/data/documents/SDK2-R18h_1.exe

instalar en la ruta por defecto.

Agregar el archivo FacturacionSDK.dll a la carpeta de mi proyecto


El anterior archivo se encuentra en la ruta siguiente.

C:\SDK2\ejemplos\panama

Ejecutar ejemplo
ver video

Sintaxis
Ver ejemplo
https://ejemplos.siteck.mx/index.php?ejemplo=ejemplo_fe_factura_basica

Datos de entrada
MFObject variable_nodo= new MFObject("NODO");
variable_nodo["var1"] = "valor1";
variable_nodo["var1"] = "valor2";

Datos de respuesta
SDKRespuesta respuesta = sdk.Timbrar(@"C:\sdk2\timbrar32.bat", @"C:\sdk2\timbrados\",
"factura", false);
if(respuesta.Codigo_MF_Numero==0)
return true;

Comentarios adicionales

página 9
página 10
VB.net

Requisitos técnicos
.net 3.5 o superior

Instalación
Realizar la descargar del siguiente instalador SDK

https://siteck.mx/data/documents/SDK2-R18h_1.exe

instalar en la ruta por defecto.

Agregar el archivo FacturacionSDK.dll a la carpeta de mi proyecto


El anterior archivo se encuentra en la ruta siguiente.

C:\SDK2\ejemplos\panama

Ejecutar ejemplo

https://cloud.siteck.com.mx/index.php/s/78GSawC4iFdipXz

ver video

https://youtu.be/yPCYTt3-fZ4

Sintaxis
Ver ejemplo
https://ejemplos.siteck.mx/index.php?ejemplo=ejemplo_fe_factura_basica

Datos de entrada
Dim variable_nodo As MFObject = New MFObject("NODO");
variable_nodo["var1"] = "valor1";
variable_nodo["var1"] = "valor2";

Datos de respuesta
SDKRespuesta respuesta = sdk.Timbrar(@"C:\sdk2\timbrar32.bat", @"C:\sdk2\timbrados\",
"factura", false);
if(respuesta.Codigo_MF_Numero==0)
return true;

Comentarios adicionales

página 11
APIREST TXT

Requisitos técnicos
Cualquier lenguaje que pueda enviar información vía POST y acceso a internet

Instalación
Ninguna, ideal para equipos que tienen limitantes de ejecución local

URL
https://pruebas.siteck.mx/api/

Sintaxis
visitar
https://ejemplos.siteck.mx/index.php?ejemplo=ejemplo_fe_factura_basica

Datos de entrada
variables POST
txt: información de la factura en formato json
modo (formato de respuesta) : JSON(default) | INI | DIVISOR | SERIALIZE | XML

Datos de respuesta
Los valores de respuesta son los mismos que este KIT de desarrollo, únicamente se agrega
la variable xml la cual contiene el XML generado en base64

ver respuesta

Comentarios adicionales
Recomendada para volumen bajo o medio; para alto volumen favor de cotizar una conexión
dedicada para mejorar la velocidad del mismo.

página 12
API REST JSON

Requisitos técnicos
Cualquier lenguaje que pueda enviar información vía POST y acceso a internet

Instalación
Ninguna, ideal para equipos que tienen limitantes de ejecución local

URL
https://pruebas.siteck.mx/api/

Sintaxis
visitar
https://ejemplos.siteck.mx/index.php?ejemplo=ejemplo_fe_factura_basica

Datos de entrada
variables POST
json: información de la factura en formato json
modo (formato de respuesta) : JSON(default) | INI | DIVISOR | SERIALIZE | XML

Datos de respuesta
Los valores de respuesta son los mismos que este KIT de desarrollo, únicamente se agrega
la variable xml la cual contiene el XML generado en base64

ver respuesta

Comentarios adicionales
Recomendada para volumen bajo o medio; para alto volumen favor de cotizar una conexión
dedicada para mejorar la velocidad del mismo.

página 13
CÓDIGOS DE RESPUESTA

variable valor significado

mf_numero 0-7 0=OK


2=error detectado por el
PAC
7=error detectado por el KIT
100=error detectado en un
modulo

mf_texto OK | OK_PRUEBAS mensaje de OK en caso de


ser exitoso, o mensaje
describiendo el error

página 14
RESPUESTA

variable valor ejemplo notas

AU 0000155704603-2-20210000 Autorización de uso, esta se


0000000000000168 genera cuando el PAC
valida que la factura fue
elaborada de modo correcto

dId 123456 Referencia emitida por el


software del cliente

saldo 20 cantidad de facturas


disponibles

iAmb 1=producción especifica en qué ambiente


2=pruebas te encuentras

CUFE FE05200000844084-1-50406 Nodo en el XML que es un


1-0000002022011200000509 resumen de varios
970020123273130507 elementos de la misma

QR https://dgi-fep-test.mef.gob.pa Texto que debe ser


:40001/Consultas/FacturasPo agregado en el CAFE en
rQR?chFE=FE052000008440 formato QR
84-1-504061-0000002022011
200000509970020123273130
507&iAmb=2&digestValue=1C
qfmUbvL1Wp8aLL7ICERhDS
zPzMkqU9DZ88HIRgzFw=&j
wt=eyJ0eXAiOiJKV1QiLCJhb
GciOiJIUzI1NiJ9.eyJjaEZFIjoi
RkUwNTIwMDAwMDg0NDA4
NC0xLTUwNDA2MS0wMDAw
MDAyMDIyMDExMjAwMDAw
NTA5OTcwMDIwMTIzMjczMT
MwNTA3IiwiaUFtYiI6IjIiLCJka
Wdlc3RWYWx1ZSI6IjFDcWZt
VWJ2TDFXcDhhTEw3SUNF
UmhEU3pQek1rcVU5RFo4O
EhJUmd6Rnc9In0.f0jmXBb1F
j7a_LS51qPnhXBeBVq5KGY
4FT5c4XfNnPw

xml_autorizacion_de_uso XML generado por el PAC


en el cual se autoriza ese
XML como factura válida, la
respuesta está en base64

produccion SI | NO Similar a iAmb pero con un


valor más visual

codigo_mf_numero 0 código numérico que


representa el éxito de la

página 15
transacción

0=OK
2=error detectado por el
PAC
>2 error detectado por el
KIT

codigo_mf_texto OK_PRUEBAS | OK | Descripción de lo ocurrido


mensaje de error en codigo_mf_numero

CodRes 0260 Código entregado por el


PAC en este caso 0260
equivale a OK

En caso de varios errores


estos serán separados por
comas Ej 1234, 2345, 3456,
5678

MsgRes 0260 En caso de OK la respuesta


es 0260, en caso de error
regresará un json
especificando el campo e
información adicional al
error

xml PD94bWwgdmVyc2lvbj0iMS4 xml generado en base64


wIj8+CjxyRkUgeG1sbnM9Imh
0dHA6Ly9kZ2ktZmVwL…… este solo se genera en caso
……………… de éxito

respuesta_ws {"dVerForm":"1.00","iAmb":"2" Mensaje original de


,"retFeRecepFE_v100":"PHJS respuesta por parte del PAC
ZXRFbnZpRmUgeG1sbnM9I
mh0dHA6Ly9kZ2ktZmV……
…………………

ejecucion 247.089 Tiempo necesario para


generar el XML, enviarlo al
PAC, interpretar la
respuesta y almacenar XML
en disco

página 16

También podría gustarte