Webservices para Pago QR-Comercio
Webservices para Pago QR-Comercio
Pago QR-Comercio
IT Tesabiz
Tabla de Contenido
1 Especificación general .................................................................................................... 4
2 Webservices publicados por el sistema QR-Comercio ..................................................... 4
2.1 Webservice: Generar QR (en formato Base64) .....................................................................4
2.1.1 Request ................................................................................................................................. 5
2.1.2 Response ............................................................................................................................... 6
2.2 Webservice: Consultar QR ...................................................................................................6
2.2.1 Request ................................................................................................................................. 7
2.2.2 Response ............................................................................................................................... 7
2.3 Webservice: Bloquear QR ....................................................................................................9
2.3.1 Request ............................................................................................................................... 10
2.3.2 Response ............................................................................................................................. 10
3 Webservices publicados por el sistema Interno ............................................................ 11
3.1 Webservice: Recibir Pago QR ............................................................................................. 11
3.1.1 Request ............................................................................................................................... 11
3.1.2 Response ............................................................................................................................. 13
4 Servicios de integración con Iframe .............................................................................. 14
4.1 Consulta de deudas ........................................................................................................... 14
4.1.1 Request ............................................................................................................................... 14
4.1.2 Response ............................................................................................................................. 14
4.2 Confirmación de pago con Iframe ...................................................................................... 15
4.2.1 Request ............................................................................................................................... 16
4.2.2 Response ............................................................................................................................. 17
5 Autenticación y Seguridad ............................................................................................ 18
5.1 Certificados digitales ......................................................................................................... 18
5.2 Confidencialidad ............................................................................................................... 18
5.3 Integridad, Autenticidad y No Repudio .............................................................................. 18
6 Implementación capa de seguridad (cifrado) ................................................................ 18
6.1 Descripción ....................................................................................................................... 18
6.2 Software que se entrega .................................................................................................... 19
6.3 Pre-requisitos.................................................................................................................... 19
6.4 Configuración de la librería ................................................................................................ 19
2
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
6.5 Uso de la librería de seguridad ........................................................................................... 21
6.5.1 Cifrado ................................................................................................................................. 21
6.5.2 Decifrado ............................................................................................................................. 23
7 Ambiente de pruebas ................................................................................................... 24
7.1 Aplicación web de seguimiento de QR Admin-QR ............................................................... 24
7.2 Aplicación móvil de pruebas .............................................................................................. 25
7.3 Endpoints sin firma digital ................................................................................................. 26
7.4 Endpoints con firma digital ................................................................................................ 26
7.4.1 Request ............................................................................................................................... 26
7.4.2 Response ............................................................................................................................. 26
7.4.3 Servicio de confirmación de pago publicado por el comercio con firma digital ................. 27
3
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Especificación Webservices
Módulo QR-Comercio v4.4
1 Especificación general
Los webservices de integración del sistema cumplen los siguientes pre-requisitos:
➢ Tipo webservice: REST
➢ Método http: POST
➢ Parámetros de entrada: Objeto JSON
➢ Parámetros de salida: Objeto JSON
Importante: los webservices que la Institución para la integración de los sistemas deben cumplir
con los mismos pre-requisitos.
Flujo de ejecución:
4
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
2.1.1 Request
Ejemplo:
{
"infoTx": {
"sisOrigen": "SO_1"
},
"qrCobro": {
"idTrans": "000000000001",
"codMoneda": "BOB",
"importe": "10000",
"glosa": "Venta de Prueba 1",
"fechaVencimiento": "2020-02-19",
"usoUnico": true,
"codOperacion": "",
"cuentaAbono": "CUENTA1_BS",
"pos": "POS1",
"cajero": "CAJ1",
"canal": "WEB",
“tiempoDuracion”: 60
“codProducto”: "COD_1234",
“catProducto”: "CAT_4321"
}
}
5
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
2.1.2 Response
Ejemplo:
{
"header": {
"codReturn": "0",
"txtReturn": "SUCCESS"
},
"hash":
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAj5UlEQVR42u3daZAc
Z33HcfMiFSTtzn3tzM7u7EqWMXbAUBx2UGxjMEcEISGkOAKYQJwQTCX4JIZAeJGkwIHCrjiVQHAwlQqHDywHly8
hbAy4EheUuezIIuBDsi18ydqdo3uO/ed5nplZr1ayEdb08zw9+/1Vda20szM729P9fPrp5zpKCCGEkGeRo9gFhB
BCAIQQQgiAEEIIARBCCCEAQgghhAAIIYQQACGEEAI",
"idQr": "20030903001000004769",
"idQrInterno": "4714"
}
6
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Flujo de ejecución:
2.2.1 Request
Ejemplo:
{
"infoTx": {
"sisOrigen": "SO1"
},
"qrTx": {
"idQr": "19071201603000015227"
}
}
2.2.2 Response
7
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
6 idQrInterno integer Si Identificador único del QR generado en el sistema QR-C
7 idQr string Si Identificador del QR generado
8 codMoneda string Si Valores: BOB / USD
9 importe integer Si Valor en centavos sin separador de miles (o decimales)
10 glosa string Si Concepto del cobro
11 fechaVencimiento string No Formato: yyyy-MM-dd
Default: fecha actual
12 usoUnico boolean No Default: true
13 codServicio integer No Para uso particular
14 codOperacion string No Código de operación asignado al proceso
15 codEif integer Si Código de entidad financiera asignado por ASFI
16 cuentaAbono string No Número de cuenta bancaria de la Entidad
17 estado string Si Valores: ACEP / RECH / ERROR
18 pos string No Código del punto o terminal donde se genera el QR
19 cajero string Si Usuario del sistema conetado al POS
21 canal string Si Canal de generación del QR. Valores: WEB/Móvil
22 sisOrigen string Si Identificador del sistema que generó el QR
23 pagos <lista> No Listado de pagos asociados al QR
28 idTxPagoEif string Si Identificador único del pago en la EIF, este valor es
generado por la entidad financiera.
26 idTxPagoQR integer Si Identificador único del pago en el sistema QR-C
24 codMoneda string Si Valores: BOB / USD
25 importe integer Si Valor en centavos sin separador de miles (o decimales)
27 fechaPago string Si Formato: yyyy-MM-dd
29 estado string Si Estado actual de la transacción de pago, según estandar
de las EIF este valor es constante “PAGADO”
30 codEifOrigen string No Código EIF originante del pago
31 ciNitOrigen string No Documento identidad de persona que paga
32 titularOrigen string No Nombre de persona que paga
8
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Ejemplo:
{
"header": {
"codReturn": "0",
"txtReturn": "SUCCESS"
},
"qrTx": {
"idTrans": "10605",
"idQrInterno": "4288",
"idQr": "19121303001000004353",
"codMoneda": "USD",
"importe": "6316",
"glosa": "Pago cuotas 36 póliza POL-VF-SC-00118182-2016-00.",
"fechaVencimiento": "2019-12-14",
"usoUnico": true,
"codServicio": null,
"codOperacion": null,
"codEif": "3001",
"cuentaAbono": "20000008281747",
"estado": "ACEP",
"pos": "POS_NSVS",
"cajero": "105",
"canal": "WEB",
"sisOrigen": "SO_NAVI_NSVS",
"pagos": [{
"idTxPagoEif": "300177404875",
"idTxPagoQR": "12077",
"codMoneda": "USD",
"importe": 6316,
"fechaPago": "2019-12-13",
"estado": "PAGADO",
"codEifOrigen": "1601",
"ciNitOrigen": "134694",
"titularOrigen": "Carlos Corrales"
}]
}
}
9
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Flujo de ejecución:
2.3.1 Request
Ejemplo:
{
"infoTx": {
"sisOrigen": "SO1"
},
"qrTx": {
"idQr": "19071201603000015227"
}
}
2.3.2 Response
10
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Ejemplo:
{
"header": {
"codReturn": "0",
"txtReturn": "SUCCESS"
}
}
Flujo de ejecución:
3.1.1 Request
11
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
5 codMoneda string Si Valores: BOB / USD
6 importe integer Si Valor en centavos sin separador de miles (o decimales)
7 glosa string Si Concepto del cobro
8 fechaVencimiento string No Formato: yyyy-MM-dd
Default: fecha actual
9 usoUnico boolean No Default: true
10 codServicio integer No Para uso particular
11 codOperacion string No Código de operación asignado al proceso
12 codEif integer No Código de entidad financiera asignado por ASFI
13 cuentaAbono string No Número de cuenta bancaria de la Entidad
14 estado string Si Valores: ACEP / RECH / ERROR
15 pos string No Código del punto o terminal donde se genera el QR
16 cajero string Si Usuario del sistema conetado al POS
17 canal string Si Canal de generación del QR. Valores: WEB/Móvil
18 sisOrigen string Si Identificador del sistema que generó el QR
19 pago <objeto> SI Pago asociados al QR
20 idTxPagoEif string Si Identificador único del pago en la EIF
21 idTxPagoQR integer Si Identificador único del pago en el sistema QR-C
22 codMoneda string Si Valores: BOB / USD
23 importe integer Si Valor en centavos sin separador de miles (o decimales)
24 fechaPago string Si Formato: yyyy-MM-dd
25 estado string Si Estado actual de la transacción de pago.
Según estandar de las EIF este valor es constante “PAGADO”
26 codEifOrigen string No Código EIF originante del pago
27 ciNitOrigen string No Documento identidad de persona que paga
28 titularOrigen string No Nombre de persona que paga
29 info string No Informacion adicional, a definir en particularidades de cada
proyecto de integración
12
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Ejemplo:
{ "qrPagado": {
"idTrans": "1",
"idQrInterno": "16",
"idQr": "19071801111000000011",
"codMoneda": "BOB",
"importe": "1700",
"glosa": "Tramite CI",
"fechaVencimiento": "2019-12-31",
"usoUnico": false,
"codServicio": "12345",
"codOperacion": "9999999999",
"codEif": "1111",
"cuentaAbono": "12345678900000",
"estado": "ACEP",
"pos": "0",
"cajero": "admin",
"canal": "web",
"sisOrigen": "SO_1",
"pago": {
"idTxPagoEif": "56",
"idTxPagoQR": 65455456,
"codMoneda": "BOB",
"importe": 1700,
"fechaPago": "2019-07-19",
"estado": "PAGADO",
"codEifOrigen": "2222",
"ciNitOrigen": "6726252",
"titularOrigen": "Jaime Castro"
},
“info“: null
}
}
3.1.2 Response
Ejemplo:
{
"header": {
"codReturn": "0",
"txtReturn": "SUCCESS"
}
}
13
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
4 Servicios de integración con Iframe
Los servicios descritos en este punto son únicamente par proyectos de deudas por integración
que se implementan a través del iframe provisto por Tesabiz. La definición de cada los campos
serán explicados y coordinados al momento de hacer la integración.
4.1.1 Request
Ejemplo:
{
"filtros": [
{
"filtro": "custId",
"valor": "6726252"
},
{
"filtro": "custCode",
"valor": "C1"
}
]
}
4.1.2 Response
14
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
12 codDeuda string Si
13 textoDeuda string Si
14 periodoDeuda string Si
15 fechaDeuda string Si Formato: yyyy-MM-dd
16 moneda string Si
17 importe Integer Si
18 aliasCuentaAbono string Si
Ejemplo:
{
"header": {
"codReturn": "0",
"txtReturn": "SUCCESS"
},
"deudas": [
{
"codCliente": "C1",
"ciCliente": "6726252",
"fechaCliente": "1990-06-30",
"nombreCliente": "Juan Perez",
"emailCliente": "[email protected]",
"celularCliente": "77665544",
"idDeuda": "1594045465018",
"codDeuda": "COD-1",
"textoDeuda": "Deuda de prueba",
"periodoDeuda": "Periodo 1/2020",
"fechaDeuda": "2020-06-15",
"moneda": "BOB",
"importe": 12050,
"aliasCuentaAbono": "cuenta1"
},
{
"codCliente": "C1",
"ciCliente": "6726252",
"fechaCliente": "1990-06-30",
"nombreCliente": "Juan Perez",
"emailCliente": "[email protected]",
"celularCliente": "77665544",
"idDeuda": "1594045465019",
"codDeuda": "COD-2",
"textoDeuda": "Deuda de prueba2",
"periodoDeuda": "Periodo 2/2020",
"fechaDeuda": "2020-07-15",
"moneda": "BOB",
"importe": 22050,
"aliasCuentaAbono": "cuenta1"
}
]
}
15
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Flujo de ejecución:
4.2.1 Request
16
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
26 codEifOrigen string No Código EIF originante del pago
27 ciNitOrigen string No Documento identidad de persona que paga
28 titularOrigen string No Nombre de persona que paga
29 info string No Cadena que contiene el detalle de deudas según la
siguiente estructura Json: {“deudas”:[string,string,…]}
Ejemplo:
{
"qrPagado": {
"idTrans": "1593744152259",
"idQrInterno": "8419",
"idQr": "20070203001000007290",
"codMoneda": "BOB",
"importe": "34100",
"glosa": "Pago de 2 deudas",
"fechaVencimiento": "2020-07-02",
"usoUnico": true,
"codServicio": "0",
"codEif": "3001",
"cuentaAbono": "10000007506443",
"estado": "ACEP",
"pos": "acbc8a1ee935f32fc27801ce8331f5b35b874ec0",
"canal": "WEB",
"sisOrigen": "SO_Test_CJN_IFRAME",
"info": "{\"deudas\":[\"1594216274833\",\"1594216274833\"]}"
"pago": {
"idTxPagoEif": "300179796857",
"idTxPagoQR": "13327",
"codMoneda": "BOB",
"importe": 34100,
"fechaPago": "2020-07-02",
"estado": "PAGADO",
"codEifOrigen": "1603",
"ciNitOrigen": "123456",
"titularOrigen": "pagador"
}
}
}
4.2.2 Response
Ejemplo:
{
"header": {
"codReturn": "0",
"txtReturn": "SUCCESS"
}
}
17
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
5 Autenticación y Seguridad
5.1 Certificados digitales
Con el objetivo de asegurar la confidencialidad e integridad de la información a intercambiar, el
servicio contempla los siguientes elementos:
• Certificados digitales
• Cifrado asimétrico
• Confidencialidad de los datos
• Integridad, Autenticidad y No repudio
5.2 Confidencialidad
El canal de comunicación será un canal seguro (HTTPS) y a través de una VPN entre el EIF
Recaudador y la Entidad.
Autenticidad:
Garantía que los datos enviados se son inequícomente del emisor que los envía dado que
están cifrados y/o firmados la llave privada propia.
No repudio:
Característica de protección por la que el emisor no puede negar su participación en el
envío intencional del mensaje respectivamente al estar firmado con la llave privada
propia.
El intercambio de información sigue el mismo estándar de ser en formato JSON, este JSON será
cifrado con algoritmo asimétrico utilizando certificados digitales (par de llaves pública y privada)
lo cual asegura la integridad de los datos desde la emisión hasta la recepción en ambos sentidos,
adicionalmente el sistema utiliza un token OTP generado con vigencia de 1 minuto.
El certificado digital a utilizar debe ser obtenido por la empresa, pudiendo ser adquirido o auto-
firmado. El certificado público debe ser entregado a Tesabiz para la habilitación en el sistema.
18
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
El token requiere de una cadena origen que será entregada por Tesabiz en el proceso de
activación de la empresa en la plataforma así como la librería ejecutable en plataforma Java.
http://www.tesabiz.com/qrlibs/qr-c.firmador.Tesabiz.zip
6.3 Pre-requisitos
• Certificado digital (par de llaves pública y privada).
o Ambos archivos deben estar en formato PEM (texto plano):
▪ privkey.pem --> llave privada.
▪ publickey.pem --> certificado público.
o La llave privada debe estar con password.
• JDK v. 1.8.0_241 instalado en el servidor.
19
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
4. Descomprimir el archivo ZIP entregado en un directorio del equipo.
U8do3kBLIkynTTspXdmHGNA49R0qRBaBlJgZqS9Id8tXWoY+UGBPw9JVEmk4ZklL
HdC+ILVQ8UssLE2Lo+T/f/0kGKer91WGUFm9yIxz6rirh6AKemlKtrjsYmsZfyfi
ugRJ3sMdeA4iYZbfEvh4iVKYgjKEOr8kc/A4fKFVTeuHgKcJjQAXPAl/gg1zXOjL
ROBBbCOILq7OzqMNM0xYbgU/LTJHoBVYocnV9TjiHJV05KebHI1MVMojFHygWMfV
C54OIwdoQ8m6pP/RpDXzapqN9uN/uzPrg36czU/h1kGHxNLK8ly80C3uF8tpHyLK
OHrFCQCuld7F0bJvVRJbDPPgF05lKnXkFFKJ8XAN0mWDEobaalrbNMciHS2tJqHD
8AIYF+NOB2ggaRNoH5o0psXzRoTLJfOVsU9ms1w39drOKBVsljP348aMF06WRFNA
3Res/wScFj6avH0xbmqtP5qHrSBn48QHuSv28qmu7Z49wXE54OtOh7m7Pr9mXBVA
11RW2zmR4uPCznFUsi33U3/o2IB4RdRayFIeHK4R30+lnszalc9rKzBfwoXEzCOL
LcZKTBv91+u6bJowpEZOUeG8QjrFpADbg6vBHpTocQGL6OwB0Mv2kAI2pMakf2GD
fnUQ4w6WiO7bEnAcm5WwvBwbZ1cigS9X2dc/j0TxiXV51ahKpR71WBUXWFPuxCUC
Ws+IXwJQefmD8a6tGvOM2cx+ICkh5tmQi2rBqHY1pLcVSH/7VttdQhTu/OByjtYi
2znA266J7FuD9vkP7+LZz5qEmdIU/LmRyhPv+RVqwt2GIhc98ksYSjv2fNpJpX2g
RgV4EnaGcdZBV5zhuhBPlNp28yc+auYFzzfjDhcjabPFlfy0lXut2LaVoTJqpS8t
ZnZzFm+jMhZN1jC9Q9smw9oqDpx9R1R1K5Ahb5KxF5DvWffNbG01UqDleLx8l4Me
hMA7QaZcAN1HtBzAar7LiTeMreSRkj+72UdsMyIw5o4Hzt9z86iwdeiYZyqpcQX/
CvjkpRftmU+YF3CVUTwxDLlE+u5kXIh+ksv2u4hMmesKHLejV/mytev7Wnd1XK7K
raYcaL5apDuTaA1fzi3zg0sqWNHGT6CmsKdmHvBgsJeAlvkEH2UWiyYrEJaqsnhu
xqhIUnbIW9PRXgX1hcDeUxazPrnQD5kMu5AJXeTJPgafU35q0yF672n2qfRkbSlj
TaIpqBOoNRp+Pn2YBBsoNWdJfvPP30CBSrW4wxvTgdWOrDti4xsqpERcac87SR8M
2z499mxIde6jGVP1CpxvG31oaXj2+BQfR787YsrjQRqr1RXeSWtntYWVqOtmupIu
SKt4jQjlw9QEbeS9hiO4lhBXPiqFNDChuaX5zA4vxyUU8prDU4Kau9NNU6TZ2fh7
+ZOJAXOZD/kZuv77siAt4KHcK2rhS1H/bp61WqDKRSH/F7AUOK/1Q1RqrtKxmc5z
s7dJNDl2CbvhudBwSAIqxCPXzdtbzpzfHX4K8b8B6N3ICDZB5P5Khu+hDTK4Vfeh
6yyKNtiJsLPMaBYJC8+nO+y84S8e1jGIVVDYJqQmK1p+H1G7LeFBAadZCixojtDv
-----END RSA PRIVATE KEY-----
20
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
A1UECAwGQ2l1ZGFkMRIwEAYDVQQHDAlMb2NhbGlkYWQxEDAOBgNVBAoMB0VtcHJl
c2ExETAPBgNVBAsMCENvYnJhbnphMRQwEgYDVQQDDAtlbXByZXNhLmNvbTCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMd8WeHr8SJoAfFPgQgDJAAm4rym
AgwC92kdXaNHpelPksuFQ+3fKDQuZKVIHS1QoPYeXWN3ENQzjmC0U1Bnzh7AlZ4m
vW2uwX+J54MoSlgmf5iEsxpUA96jVrFentxNQbDk6P3tT9nELgO3w5y10LoVUHDL
7wnR8//iuB9z2GCUQca46NvFgbvqLbmZbNSg28cZlrvgTpQEyum0sVD7Szs2On0H
3sFjgr3xNcSo6H9nspkciLwKcXy/S75zvbsp6A7vdfPbI4u9KSqHIocVnzgSREa9
GGWyZABXc/E5SmcTeVKrtFNtJJil5vIkB3IimgYAXAuoaQATR0bEXIQ7g6UCAwEA
ATANBgkqhkiG9w0BAQsFAAOCAQEAmkOTWKjxDqHt2XSm8mfuiinP29LrWgWCzoD7
bdaGzxYRu+mysHS8xsfl2WdP4oBVrJOrZCvBxb6MtjhI1bXMTuL/lNpXBwRAMt+d
kxDZ2ZU41utKLWjnpwepIB6hdvlm1FohOktIaF2LdGHV+b7BjBLvo6ylllZCyX36
aaXy+tiYiLlnllGwagpF0F9m17bHrge9laGnArvMz7UJKwru9PLV20aOSK9agcHZ
kn8VbxYMyXKANc7DUvBs19KAdpAviSLKBynPxqUMF+W3obJkpXLJZsNajBrjfauj
GhGgVNrbPqmtvUqV/Wn2iCzYz/4t+6GffvlmQkopn3QoW5ZZ6A==
-----END CERTIFICATE-----
b. Windows:
(Doble click en el archivo firmador.jar)
Sugerencia: configurar el inicio de la librería como servicio del sistema operativo para
inicio automático al re-inicio del mismo.
6.5.1 Cifrado
El servicio recibe la trama del objeto JSON que se desea enviar al sistema de Pago QR y retorna
el objeto cifrado. El cifrado de la trama debe ser realizado para el consumo de los webservices
del sistema QR-Comercio: Generar QR, Consultar QR, Bloquear QR.
21
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Flujo de ejecución:
Estructura:
URL http://localhost:<puerto>/tbz/encrypt
Request {
"payload": "",
"token": ""
}
Response {
"payload": "",
"token": ""
}
Ejemplo request:
{
"payload":
"{\"infoTx\":{\"sisOrigen\":\"SO_TESABIZ\"},\"qrCobro\":{\"idTrans\":\"1\",\"codMoneda\
":\"BOB\",\"importe\":10000,\"glosa\":\"Test 1\",\"fechaVencimiento\":\"2021-01-
30\",\"usoUnico\":true,\"codServicio\":\"\",\"cuentaAbono\":\"cuenta1\",\"pos\":\"Pos
1\",\"cajero\":\"Cajero
1\",\"canal\":\"Web\",\"codOperacion\":\"\",\"codProducto\":\"COD_1234\"}}",
"token": null
}
22
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Ejemplo response:
{
"payload": "2pOKNe6g3NH9ERryEBaqD+dnFPHqnrsa05Q8j+W1qYYVP540d84ViuMi3sKk89dq
YxIpNU3+37+l7cjWef/yfURFMjcCNVpPAl7rXbVeqrJ0Q1gNsbv42biY+BVS+VjsTfNQ
m4G7O8VGbEck2Tb/gMJJ89VZX8zEu1rysMkoNtCO+MHlg3jg+j0ctQLGGCn/NVYV
B6f7v4Rf8s+49oyzpenY1ZyOEVo3qS5n7UfZmxAJcP2N+L2hTUcreas8ewNIsz/JZax
acidcbh8QvQsviLhFZqwQDFb2xk/MrVHz1aMGf06lc+7AZioW8q4kGPt7bgHdLzAQiuj
16pTXtclXdVgnOevBQRcby+3j3y61J2xveJyUGzaifvcibAU+TJFRizeXIWRjVspQZV5
oTqB8Yg8vLQIG4YiJUPf4ajv23WAZWVrhqApm4Jha8TIxyI3t",
"token": "2ni6o54v4y63fgelzqwi9v0fmtwx2prbekkxy9erkeoa81vhh6mlxdi7jybydtoq5vey9omm
wkcji8r5kd808geqvcbh65zgkm5mz9ju2cmy2r3s9z02e0ztodkpyzpgis4qzbhmg3995fc
z7o0mdoimg0i4evxsxgd632gsegehdagafpl1trnp24ylrqulny29zeaw4qs5spy287q3ds9
uorelx7uuw10170cbl2z7syjft3nmmskiqsnep79clph5tpa0lxxg72dapi3otx6bazp1ixewr8j
967fckdgafx3g1t6g3h3mxe9wlbhz62cmhxeshrpjxjoton9mb3w25mk4cbmi6uej8tua9fu
tcr6zv3elmmymt9zuwvms3p2id6gtbspfl"
}
6.5.2 Decifrado
El servicio recibe el objeto JSON enviada por el sistema de Pagos QR y retorna la trama del objeto
JSON decifrado de la confirmación de pago.
Flujo de ejecución:
Estructura:
URL http://localhost:<puerto>/tbz/decrypt
Request {
"payload": "",
"token": ""
23
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
}
Response {
"payload": "",
"token": ""
}
Ejemplo request:
{
"payload": "Z0igBRFa5RlD0dxUnUJ00mkFY3i9ds288sWGazkrd1cONZp6193KlW8bCv+90wvV
DgJaEstOWTmtaoUXc1MkxhJuEbbIrwXVCWDUA9PeVjGcQYLzMGoKX6HrcmAYDt
leawemyd7DXEFvaTSViVBd1V+UV1Ye8ncOSOaFqGuWOfwrYO+YG3/vZUsQlbZz
mmR/0Ytz06DAHsL9EoXXgNogbdDb10DugJguu351oxIkYhU5LNcvTKRI3Lcihs4fJ9
R9F8hGgPHt9fUzdvW6qx15aEJsXFHCbOn5KH8XULrY39i/MywqTPuxXhSBpsNQM
+0I+wTPAd9n6n3xeuXd7GH2YM98ggh7Nf6O/3TqGL0HTtE93/b3hoFs1fNbPXtuEAk
ubfYGF/Is/1LUcmUr6tB+gaKi9xp0foxTmCeyKp3tk+c7a/LIOfv5rglO0CibymJsZtujURc
gENm/GUWref9ndg1icRRLusKCr6FTqqgNAQZwJJYJfTri/7gvdtLbes27OfXQI54l2Se
2NZATVHLUhgjS4+qD8wGhMcMUXVzGcxPgBr7dqfv/GPp+mas/xIy8QaJ0WiPqA5c
eKkBH4e8fUQfq2NBexQVxEsN06jOLdTy6qOJjbQZu+zJPqhQy9zaY",
"token": "26sxq0ye7rzld0e39g2uvjniekx6k3rmatddrl3pxelze8m146fvb0go4ttnvgweny6dbf440n
jujtl9xtq38mdk68eb9n14zzca7mccaen8emcidxk4ju7bngpk3bczxgxexce2bmvgzgcr96
vrkgvf0xwotk4cvfcv6cz5xy3al9ki3m38umx1t7byux0ih4ufhsodsjl5zw6bti0eoxz9pvblf3f
6hsjur6ru95hb8xfom1srrrpnjco45fbmoykx2bs72acpt6ylvly0y4umrpc1k035dilfbybejhrr
2nugr7mwks0xz28rgj1k3jru8r7n7oyg5x9nrczgx7fbxxp1jmhleg8sxsu9u7coandb7yokiu
fd2npkl6xwgey2laxjacw8v"
}
Ejemplo response:
{
"payload":
"{\"header\":{\"codReturn\":\"0\",\"txtReturn\":\"SUCCESS\"},\"hash\":\"EJ/QFRU1GvY
nabQ0/mCkABK345TUiVY0dimVDC0hs2y0aqEdGzCls/Wh6uGr86DplbDUqPhf+vYs
1crqlGQnSyAIky6F00x5MsBmpnSQsCPD+2OhqZOt2/IPSlUzBYjC9g+IUTTn7chaYU
chXKPD/6n4aNx87yOmIPY4dIobriaep8CNrKnR3ApbFusE9iqdaBCZUsSgK1/jHp0bK
aOJObHphsfrOvX/d6F6wMvBBjsODKrjwmafZPMATresn2xG15t2bRgDPyE88lVHayv
7JkFYY7yhk3pBII+M7vKVUS6UdrWtIYE+AALPgv21lzczsk5Cu6IATxkiyzTveubLpw=
=|5B8FF436\",\"idQr\":\"20012701603000003842\",\"idQrInterno\":\"4032\"}",
"token": null
}
7 Ambiente de pruebas
A cada comercio en proceso de integración se le configurará un ambiente de testeo de tal manera
que le permita realizar las pruebas necesarias durante el proceso. Las pruebas simulan una
transacción completa e involucra también a los servicios de prueba de la entidad financiera.
El comercio contará con herramientas para seguimiento de sus QR generados y pagos a través
de la aplicación admin-qr en ambiente de pruebas. Para el acceso se le proveerá al comercio un
usuario y contraseña para acceder a su ambiente.
24
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
En la aplicación puede usar la opcion Consultas>Consultar QR para revisar el estado de los Qr
generados:
Otra herramienta con la que contará el comercio es la aplicación móvil de testeo, la misma le
permitirá leer y pagar los QR generados en ambiente de testeo. Con esta herramienta el comercio
podrá simular la transacción de pago con Qr, que debe concluir en la confirmación de pago hacia
el comercio si está todo correctamente implementado.
La aplicación movil de test está disponible en el siguiente link, el comercio debe descargarla e
instalarla en un dispositivo móvil:
http://www.tesabiz.com/qrlibs/app-test-simple-v.1.0.3.apk
Usuario: admin
Clave: 12345
25
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Para pagar el Qr, abra la aplicación móvil ingresando el usuario y contraseña anterior, seleccione
la opción Cámara, y el Qr se leerá automáticamente. También puede leer el Qr desde la galería
de imágenes del dispositivo. Una vez leido el Qr seleccione la opción Pagar. La apliacación
mostrará un mensaje con el resultado de la transacción. Si el pago fue realizado, la aplicación
mostrará la confirmación del monto pagado.
Una vez que se haya realizado el pago, puede revisar la transacción descrito en el punto anterior.
El sistema Qr realizará la confirmación al comercio consumiendo su servicio de confirmacion de
pago.
Para el correcto consumo de los servicios con encriptación, la información se debe proporcionar
cifrada haciendo uso de la librería de seguridad y completar con el parámetro code que será
provisto por Tesabiz al momento de configurar el certificado digital del comercio en el sistema.
Los métodos Generar Qr, Bloquear Qr y Consutar Qr con firma digital, tienen la misma estructura
request y response, la misma que se describe a continuación:
7.4.1 Request
7.4.2 Response
26
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
1 payload string Si Mensaje encriptado devuelto por el servicio de Tesabiz
con firma digital
2 token string Si Token encriptado devuelto por el servicio de Tesabiz
con firma digital
Ejemplo:
{
“code” : “CODIGOEMPRESA”,
"payload": "Z0igBRFa5RlD0dxUnUJ00mkFY3i9ds288sWGazkrd1cONZp6193KlW8bCv+90wvV
DgJaEstOWTmtaoUXc1MkxhJuEbbIrwXVCWDUA9PeVjGcQYLzMGoKX6HrcmAYDt
leawemyd7DXEFvaTSViVBd1V+UV1Ye8ncOSOaFqGuWOfwrYO+YG3/vZUsQlbZz
mmR/0Ytz06DAHsL9EoXXgNogbdDb10DugJguu351oxIkYhU5LNcvTKRI3Lcihs4fJ9
R9F8hGgPHt9fUzdvW6qx15aEJsXFHCbOn5KH8XULrY39i/MywqTPuxXhSBpsNQM
+0I+wTPAd9n6n3xeuXd7GH2YM98ggh7Nf6O/3TqGL0HTtE93/b3hoFs1fNbPXtuEAk
ubfYGF/Is/1LUcmUr6tB+gaKi9xp0foxTmCeyKp3tk+c7a/LIOfv5rglO0CibymJsZtujURc
gENm/GUWref9ndg1icRRLusKCr6FTqqgNAQZwJJYJfTri/7gvdtLbes27OfXQI54l2Se
2NZATVHLUhgjS4+qD8wGhMcMUXVzGcxPgBr7dqfv/GPp+mas/xIy8QaJ0WiPqA5c
eKkBH4e8fUQfq2NBexQVxEsN06jOLdTy6qOJjbQZu+zJPqhQy9zaY",
"token": "26sxq0ye7rzld0e39g2uvjniekx6k3rmatddrl3pxelze8m146fvb0go4ttnvgweny6dbf440n
jujtl9xtq38mdk68eb9n14zzca7mccaen8emcidxk4ju7bngpk3bczxgxexce2bmvgzgcr96
vrkgvf0xwotk4cvfcv6cz5xy3al9ki3m38umx1t7byux0ih4ufhsodsjl5zw6bti0eoxz9pvblf3f
6hsjur6ru95hb8xfom1srrrpnjco45fbmoykx2bs72acpt6ylvly0y4umrpc1k035dilfbybejhrr
2nugr7mwks0xz28rgj1k3jru8r7n7oyg5x9nrczgx7fbxxp1jmhleg8sxsu9u7coandb7yokiu
fd2npkl6xwgey2laxjacw8v"
}
En el ejemplo anterior, payload debe contener la estructura json encriptada, la misma que se
describe en el punto 2.1.1
7.4.3 Servicio de confirmación de pago publicado por el comercio con firma digital
En la fase 2 de la integración, el comercio debe aplicar una modificación a su servicio para que
se esperen los valores cifrados en los consumos que realizará Tesabiz para confirmar los pagos.
Respecto del servicio de confirmacion de pago, se debe tomar en cuenta que Tesabiz entregará
la información cifrada, la misma que debe decifrar haciendo uso de la librería de seguridad y su
método decrypt.
27
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
Request:
No. Tag Tipo Dato Obligatorio Notas
1 payload string Si Tesabiz entregará el mensaje encriptado el mismo que
que se debe decifrar con la librería de seguridad.
2 token string Si Tesabiz entregará el token encriptado para que pueda
ser usado en la librería de seguridad
Ejemplo:
{
"payload": "Z0igBRFa5RlD0dxUnUJ00mkFY3i9ds288sWGazkrd1cONZp6193KlW8bCv+90wvV
DgJaEstOWTmtaoUXc1MkxhJuEbbIrwXVCWDUA9PeVjGcQYLzMGoKX6HrcmAYDt
leawemyd7DXEFvaTSViVBd1V+UV1Ye8ncOSOaFqGuWOfwrYO+YG3/vZUsQlbZz
mmR/0Ytz06DAHsL9EoXXgNogbdDb10DugJguu351oxIkYhU5LNcvTKRI3Lcihs4fJ9
R9F8hGgPHt9fUzdvW6qx15aEJsXFHCbOn5KH8XULrY39i/MywqTPuxXhSBpsNQM
+0I+wTPAd9n6n3xeuXd7GH2YM98ggh7Nf6O/3TqGL0HTtE93/b3hoFs1fNbPXtuEAk
ubfYGF/Is/1LUcmUr6tB+gaKi9xp0foxTmCeyKp3tk+c7a/LIOfv5rglO0CibymJsZtujURc
gENm/GUWref9ndg1icRRLusKCr6FTqqgNAQZwJJYJfTri/7gvdtLbes27OfXQI54l2Se
2NZATVHLUhgjS4+qD8wGhMcMUXVzGcxPgBr7dqfv/GPp+mas/xIy8QaJ0WiPqA5c
eKkBH4e8fUQfq2NBexQVxEsN06jOLdTy6qOJjbQZu+zJPqhQy9zaY",
"token": "26sxq0ye7rzld0e39g2uvjniekx6k3rmatddrl3pxelze8m146fvb0go4ttnvgweny6dbf440n
jujtl9xtq38mdk68eb9n14zzca7mccaen8emcidxk4ju7bngpk3bczxgxexce2bmvgzgcr96
vrkgvf0xwotk4cvfcv6cz5xy3al9ki3m38umx1t7byux0ih4ufhsodsjl5zw6bti0eoxz9pvblf3f
6hsjur6ru95hb8xfom1srrrpnjco45fbmoykx2bs72acpt6ylvly0y4umrpc1k035dilfbybejhrr
2nugr7mwks0xz28rgj1k3jru8r7n7oyg5x9nrczgx7fbxxp1jmhleg8sxsu9u7coandb7yokiu fd2npkl6xwgey2laxjacw8v"
}
Response:
No. Tag Tipo Dato Obligatorio Notas
1 payload string Si Mensaje encriptado devuelto por el servicio de Tesabiz
con firma digital,
2 token string Si Token encriptado devuelto por el servicio de Tesabiz
con firma digital
Ejemplo:
{
"payload": "Z0igBRFa5RlD0dxUnUJ00mkFY3i9ds288sWGazkrd1cONZp6193KlW8bCv+90wvV
DgJaEstOWTmtaoUXc1MkxhJuEbbIrwXVCWDUA9PeVjGcQYLzMGoKX6HrcmAYDt
leawemyd7DXEFvaTSViVBd1V+UV1Ye8ncOSOaFqGuWOfwrYO+YG3/vZUsQlbZz
mmR/0Ytz06DAHsL9EoXXgNogbdDb10DugJguu351oxIkYhU5LNcvTKRI3Lcihs4fJ9
R9F8hGgPHt9fUzdvW6qx15aEJsXFHCbOn5KH8XULrY39i/MywqTPuxXhSBpsNQM
+0I+wTPAd9n6n3xeuXd7GH2YM98ggh7Nf6O/3TqGL0HTtE93/b3hoFs1fNbPXtuEAk
ubfYGF/Is/1LUcmUr6tB+gaKi9xp0foxTmCeyKp3tk+c7a/LIOfv5rglO0CibymJsZtujURc
gENm/GUWref9ndg1icRRLusKCr6FTqqgNAQZwJJYJfTri/7gvdtLbes27OfXQI54l2Se
2NZATVHLUhgjS4+qD8wGhMcMUXVzGcxPgBr7dqfv/GPp+mas/xIy8QaJ0WiPqA5c
eKkBH4e8fUQfq2NBexQVxEsN06jOLdTy6qOJjbQZu+zJPqhQy9zaY",
"token": "26sxq0ye7rzld0e39g2uvjniekx6k3rmatddrl3pxelze8m146fvb0go4ttnvgweny6dbf440n
jujtl9xtq38mdk68eb9n14zzca7mccaen8emcidxk4ju7bngpk3bczxgxexce2bmvgzgcr96
vrkgvf0xwotk4cvfcv6cz5xy3al9ki3m38umx1t7byux0ih4ufhsodsjl5zw6bti0eoxz9pvblf3f
6hsjur6ru95hb8xfom1srrrpnjco45fbmoykx2bs72acpt6ylvly0y4umrpc1k035dilfbybejhrr
2nugr7mwks0xz28rgj1k3jru8r7n7oyg5x9nrczgx7fbxxp1jmhleg8sxsu9u7coandb7yokiu fd2npkl6xwgey2laxjacw8v"
}
28
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
En la trama response, el valor encriptado de payload debe contener la respuesta de
confirmación que requiere el servicio para completar el flujo.
{
"header": {
"codReturn": "0",
"txtReturn": "SUCCESS"
}
}
29
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia
30
www.tesabiz.com ᴼ [email protected] ᴼ Tel. 591 3 3351778 ᴼ Calle Asunción Edif. Costa Azul P.8-901 ᴼ Santa Cruz Bolivia