Está en la página 1de 17

WEB SERVICE PSE

Administración del Documento


Service Name SIIM Web Service PSE

Contract version 1.1.0


Historial de Revisiones
Revision Date Author Details

1.0.0 7 Sep 2020 Fredy Gil Versión Inicial

1.1.0 15 Oct 2020 Fredy Gil Se incluye campo de retorno con el


código de servicio el método de consulta

1.2.0 23 Oct 2020 Fredy Gil En el método iInfoPago se incluyen


códigos de respuesta 24: Factura paga,
26: Factura anulada, 30: Factura
vencida.

Política del Web Service


El Web Service WS SIIM cumple con los siguientes estándares:
SOAP v1.2 [SOAP]
WS-Policy v1.2 [WSP]
WS-SecurityPolicy v1.2 [WSECP]
WS-Security 1.1 [WSEC]
WS-Addressing v1.0 [WSA]

Interface del Servicio


El Web Service SIIM PSE está orientado a ser usado por los proveedores de pasarales de pago que recauden
pagos en línea de los impuestos del Municipio de Palmira.
A cada proveedor de pasarela se le asignará un Hash Code así como un usuario y un password que deben ser
adicionados a los demás parámetros del Web Service para cada llamada a los métodos SOAP. Sin estos datos
de seguridad el registro será rechazado.

Endpoints
A continuación se listan las URLs de acceso al Web Service en cada entorno, pruebas y producción:
Entorno Descripción URL IP

Pruebas Endpoint https://aprpal.siifweb.com:8070/services/wspse?wsdl 195.154.170.146


Web
Service
SIIM PSE

Pruebas URL cambio https://aprpal.siifweb.com:8070/wsuser/updateUser


clave del
proveedor
de pasarela

Pruebas URL listado https://aprpal.siifweb.com:8070/wsuser/listFacturasPrueba


facturas de
prueba

Pruebas Certificado http://www.siifweb.com/wsPagosPalmira/aprpal.siifweb.com.pem


Digital

Producción Endpoint https://oas.palmira.gov.co:8070/services/wspse?wsdl 23.227.140.130


Web
Service
SIIM PSE

Producción URL cambio https://oas.palmira.gov.co:8070/wsuser/updateUser


clave del
proveedor
de pasarela

Producción Certificado http://siifweb.com/wsPagosPalmira/oas.palmira.gov.co.pem


Digital
WSDL Web Service SIIM PSE

A continuación se disponen las URLs para descargar los archivos WSDL del Web Service para cada entorno,
pruebas y producción.

Descargar WSDL pruebas.

Descargar WSDL producción.

Proyecto en SoapUI

Se cuenta con un proyecto en SoapUI conectado al ambiente de pruebas el cual contiene los diferentes
escenarios que se pueden presentar en la ejecución de los métodos del WebService. A continuación es
posible descargar este proyecto:

TestSuite en SoapUI para ambiente de pruebas.

Operación iInfoPago

Realiza la consulta de una factura y retorna una cadena con el estado de la solicitud, un código de estado y el
mensaje del error encontrado, cuando se haya encontrado una inconsistencia. Si no hay inconsistencias, se
retorna además los datos de la factura.
NOTA: Cuando se mencione referencia o factura en este documento, se hace referencia al mismo elemento.

Atributos método iInfoPago


Name Type Description Constraints

hashCode string(100) El hashCode es asignado cuando Obligatorio:


el usuario administrador del ws True
crea el usuario. Entonces debe Reglas de Validación:
entregarle esta credencial al El string debe ser
proveedor de pasarela para que exactamente igual al
agreguen este dato en todos los hashcode generado por
mensajes SOAP. el mecanismo de
seguridad de la
aplicación.

user string(100) Nombre de usuario registrado por Obligatorio:


el administrador del ws True
Reglas de Validación:
El string debe ser
exactamente igual al
usuario registrado por el
mecanismo de seguridad
de la aplicación.

password string(50) Password actualizado por el Obligatorio:


proveedor de pasarela True
Reglas de Validación:
El string debe ser
exactamente igual al
password actualizado
por el usuario proveedor
de pasarela mediante el
mecanismo de seguridad
de la aplicación.

nitCompania String(15) Nit del municipio con el dígito de Obligatorio:


verificación True
Reglas de Validación:
NA

referencia String(10) Número de la factura que se está Obligatorio:


pagando True
Reglas de Validación:
NA

Respuesta iInfoPago
Name Type Description

status String(10) Estado de la operación.


OK: Operación correcta.
ERROR: Ocurrió un error, code indica el código de error y
message la descripción del mismo.

code String(2) Código de resultado de la operación.


00: Referencia encontrada.
10: Autenticación fallida.
20: Referencia inválida.

message String(200) Mensaje indicando el resultado de la operación.

nitCompania String(20) NIT del municipio, incluyendo el dígito de verificación.

factura String(10) Número de la factura a pagar.

nombrePagador String(240) Nombre completo del tercero que está realizando el pago.

tipoIdentificacion String(3) Tipo de identificación del tercero que está realizando el


pago. CC cédula, CE extranjería, NIT nit, TI tarjeta de
identidad y PP pasaporte.

identificacion String(50) Número de identificación del tercero que está realizando el


pago.

valorTotal Number Valor a pagar por la factura.

descripcionPago String(200) Descripción con información del pago que se está


realizando.

iva Number Valor del IVA correspondiente a la factura. Siempre es 0.

fechaVencimiento String(10) Fecha de vencimiento de la factura con formato YYYY-MM-


DD.

fechaRegistro String(10) Fecha en la que se está realizando el pago, con formato


YYYY-MM-DD.

recId Number Número único interno asignado a la transacción de pago


iniciada por el contribuyente en el portal de pagos del
municipio.

medioPago String(10) Medio por el cual se está realizando el pago. PSE o TC.

codigoServicio String(10) Código de servicio al cual corresponde la factura.


0001 - IMPUESTO PREDIAL
0002 - INDUSTRIA Y COMERCIO
0003 - RETEICA
0004 - Estampilla IMDER
4541 - Código de Policía
5946 - Alumbrado Público

Ejemplo iInfoPago - Referencia Válida

Mensaje enviado:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln
s:wss="http://wssiim/">
<soapenv:Header/>
<soapenv:Body>
<wss:iInfoPago>
<hashCode>e62644eab838abab8eacb3622cdjs508</hashCode>
<user>PASARELA01</user>
<password>123</password>
<nitCompania>8913800073</nitCompania>
<referencia>1007593415</referencia>
</wss:iInfoPago>
</soapenv:Body>
</soapenv:Envelope>

Respuesta:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:iInfoPagoResponse xmlns:ns2="http://wssiim/">
<result>
<status>OK</status>
<code>00</code>
<message>Referencia encontrada</message>
<nitCompania>8913800073</nitCompania>
<factura>1007593415</factura>
<nombrePagador>PEDRO GOMEZ</nombrePagador>
<tipoIdentificacion>CC</tipoIdentificacion>
<identificacion>10203040</identificacion>
<medioPago>25</medioPago>
<codigoServicio>0001</codigoServicio>
<valorTotal>95499</valorTotal>
<iva>0</iva>
<descripcionPago>Pago Factura 1007593415 -- 000100020901000</descripc
ionPago>
<fechaVencimiento>2020-10-30</fechaVencimiento>
<fechaRegistro>2020-10-15</fechaRegistro>
</result>
</ns2:iInfoPagoResponse>
</soap:Body>
</soap:Envelope>

Ejemplo iInfoPago - Autenticación Fallida

Mensaje enviado:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln


s:wss="http://wssiim/">
<soapenv:Header/>
<soapenv:Body>
<wss:iInfoPago>
<hashCode>f48e007c642e7c59616371820b1b07f3</hashCode>
<user>PASARELA01</user>
<password>CLAVE_ERRONEA</password>
<referencia>1020304050</referencia>
</wss:iInfoPago>
</soapenv:Body>
</soapenv:Envelope>

Respuesta:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:iInfoPagoResponse xmlns:ns2="http://wssiim/">
<result>
<status>ERROR</status>
<code>10</code>
<message>Problemas de validación de usuario. Registro rechazado</mess
age>
</result>
</ns2:iInfoPagoResponse>
</soap:Body>
</soap:Envelope>

Ejemplo iInfoPago - Referencia Inválida

Mensaje enviado:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln
s:wss="http://wssiim/">
<soapenv:Header/>
<soapenv:Body>
<wss:iInfoPago>
<hashCode>5660aab6486e9aec0aa503164b33fcb9</hashCode>
<user>PASARELA01</user>
<password>123</password>
<nitCompania>8913800073</nitCompania>
<referencia>1020304050</referencia>
</wss:iInfoPago>
</soapenv:Body>
</soapenv:Envelope>

Respuesta:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:iInfoPagoResponse xmlns:ns2="http://wssiim/">
<result>
<status>ERROR</status>
<code>20</code>
<message>No se encontraron datos para referencia: 1020304050</message
>
</result>
</ns2:iInfoPagoResponse>
</soap:Body>
</soap:Envelope>

Operación iResumenPago

Registra la información de un pago de factura correspodiente a uno de los impuestos del Municipio, ya sea
predial, Industria y Comercio u Otras Rentas, por parte de un usuario en la pasarela de pagos en línea. Un solo
pago a la vez por envío.

Atributos método iResumenPago

Name Type Description Constraints


hashCode string(100) El hashCode es asignado Obligatorio:
cuando el usuario True
administrador del ws crea el Reglas de Validación:
usuario. Entonces debe El string debe ser exactamente igual al
entregarle esta credencial al hashcode generado por el mecanismo
proveedor de pasarela para de seguridad de la aplicación.
que agreguen este dato en
todos los mensajes SOAP.

user string(100) Nombre de usuario registrado Obligatorio:


por el administrador del ws True
Reglas de Validación:
El string debe ser exactamente igual al
usuario registrado por el mecanismo
de seguridad de la aplicación.

password string(50) Password actualizado por el Obligatorio:


proveedor de pasarela True
Reglas de Validación:
El string debe ser exactamente igual al
password actualizado por el usuario
proveedor de pasarela mediante el
mecanismo de seguridad de la
aplicación.

nitCompania String(15) Nit del municipio con el dígito Obligatorio:


de verificación True
Reglas de Validación:
NA

referencia String(10) Número de la factura pagada Obligatorio:


True
Reglas de Validación:
NA

identificacion String(50) Número de identificación del Obligatorio:


tercero pagador False
Reglas de Validación:
Ninguna

valorPago Number Valor pagado de la factura Obligatorio:


True
Reglas de Validación:
Solo números, no debe agregarse el
símbolo separador de miles.

cus String(20) Código único de seguimiento Obligatorio:


True
Reglas de Validación:
Ninguna

banco String(100) Nombre del banco Obligatorio:


correspondiente al método de False
pago Reglas de Validación:
Ninguna

ciclo Number Ciclo Obligatorio:


False
Reglas de Validación:
Ninguna

fechaPago String(10) Fecha de realización del pago Obligatorio:


True
Reglas de Validación:
Formato de 8 caracteres: YYYYMMDD
o YYYY-MM-DD.
Año (YYYY) 4 dígitos.
Mes (MM) 2 dígitos. Si el mes es de
una sola cifra se debe anteponer un
cero (0) para completar los 2 dígitos.
Día (DD) 2 dígitos. Si el día es de una
sola cifra se debe anteponer un cero
(0) para completar los 2 dígitos.

estadoPago Number Estado final del pago Obligatorio:


True
Reglas de Validación:
0 para rechazado y 1 para éxito

medioPago Number Código del medio de Pago de Obligatorio:


acuerdo a las especificaciones True
de Asobancaria 2011 Reglas de Validación:
Se valida que el medio de pago
corresponda a los códigos asignados
por el municipio. 15 para débito en
cuenta por Internet y 25 para tarjeta
de crédito por Internet.
Respuesta iResumenPago
Name Type Description

status String(10) Estado de la operación.


OK: Operación correcta.
ERROR: Ocurrió un error, code indica el
código de error y message la descripción del
mismo.

code String(2) Código de resultado de la operación.


00: Pago registrado correctamente.
10: Autenticación fallida.
14: NIT de municipio errado.
40: Formato fecha de pago inválido.
46: Pago duplicado (Ya existe un pago
registrado con el mismo CUS).
50: Error interno.

message String(200) Mensaje indicando el resultado de la


operación.

Ejemplo iResumenPago - Pago Válido

Mensaje enviado:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln


s:wss="http://wssiim/">
<soapenv:Header/>
<soapenv:Body>
<wss:iResumenPago>
<hashCode>5a331d77758496a23a123ba7e24f27a9</hashCode>
<user>PASARELA01</user>
<password>123</password>
<nitCompania>8913800073</nitCompania>
<referencia>1007405647</referencia>
<!--Optional:-->
<identificacion>10203040</identificacion>
<valorPago>393983</valorPago>
<cus>123456788</cus>
<!--Optional:-->
<banco>VISA</banco>
<!--Optional:-->
<ciclo>1</ciclo>
<fechaPago>20200907</fechaPago>
<estadoPago>1</estadoPago>
<medioPago>25</medioPago>
</wss:iResumenPago>
</soapenv:Body>
</soapenv:Envelope>

Respuesta:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:iResumenPagoResponse xmlns:ns2="http://wssiim/">
<result>
<status>OK</status>
<code>00</code>
<message>Pago registrado correctamente. CUS: 123456788</message>
</result>
</ns2:iResumenPagoResponse>
</soap:Body>
</soap:Envelope>

Ejemplo iResumenPago - Autenticación Fallida

Mensaje enviado:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln


s:wss="http://wssiim/">
<soapenv:Header/>
<soapenv:Body>
<wss:iResumenPago>
<hashCode>5a331d77758496a23a123ba7e24f27a9</hashCode>
<user>PASARELA01</user>
<password>CLAVE_ERRONEA</password>
<nitCompania>8913800073</nitCompania>
<referencia>1007374348</referencia>
<!--Optional:-->
<identificacion>10203040</identificacion>
<valorPago>41588</valorPago>
<cus>123456789</cus>
<!--Optional:-->
<banco>VISA</banco>
<!--Optional:-->
<ciclo>1</ciclo>
<fechaPago>20200904</fechaPago>
<estadoPago>1</estadoPago>
<medioPago>25</medioPago>
</wss:iResumenPago>
</soapenv:Body>
</soapenv:Envelope>
Respuesta:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:iResumenPagoResponse xmlns:ns2="http://wssiim/">
<result>
<status>ERROR</status>
<code>10</code>
<message>Problemas de validación de usuario. Registro rechazado</mess
age>
</result>
</ns2:iResumenPagoResponse>
</soap:Body>
</soap:Envelope>

Ejemplo iResumenPago - Autenticación Fallida

Mensaje enviado:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln


s:wss="http://wssiim/">
<soapenv:Header/>
<soapenv:Body>
<wss:iResumenPago>
<hashCode>5a331d77758496a23a123ba7e24f27a9</hashCode>
<user>PASARELA01</user>
<password>123</password>
<nitCompania>000000001</nitCompania>
<referencia>1007374348</referencia>
<!--Optional:-->
<identificacion>10203040</identificacion>
<valorPago>41588</valorPago>
<cus>123456789</cus>
<!--Optional:-->
<banco>VISA</banco>
<!--Optional:-->
<ciclo>1</ciclo>
<fechaPago>20200904</fechaPago>
<estadoPago>1</estadoPago>
<medioPago>25</medioPago>
</wss:iResumenPago>
</soapenv:Body>
</soapenv:Envelope>

Respuesta:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:iResumenPagoResponse xmlns:ns2="http://wssiim/">
<result>
<status>ERROR</status>
<code>14</code>
<message>No se encontró el NIT del municipio 000000001</message>
</result>
</ns2:iResumenPagoResponse>
</soap:Body>
</soap:Envelope>

Ejemplo iResumenPago - Formato Fecha Pago Invalido

Mensaje enviado:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln


s:wss="http://wssiim/">
<soapenv:Header/>
<soapenv:Body>
<wss:iResumenPago>
<hashCode>5a331d77758496a23a123ba7e24f27a9</hashCode>
<user>PASARELA01</user>
<password>123</password>
<nitCompania>8913800073</nitCompania>
<referencia>1007405647</referencia>
<!--Optional:-->
<identificacion>10203040</identificacion>
<valorPago>393983</valorPago>
<cus>123456781</cus>
<!--Optional:-->
<banco>VISA</banco>
<!--Optional:-->
<ciclo>1</ciclo>
<fechaPago>2020/09/07</fechaPago>
<estadoPago>1</estadoPago>
<medioPago>25</medioPago>
</wss:iResumenPago>
</soapenv:Body>
</soapenv:Envelope>

Respuesta:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:iResumenPagoResponse xmlns:ns2="http://wssiim/">
<result>
<status>ERROR</status>
<code>40</code>
<message>Fecha de pago 2020/09/07 no tiene un formato válido YYYYMMDD
</message>
</result>
</ns2:iResumenPagoResponse>
</soap:Body>
</soap:Envelope>

Ejemplo iResumenPago - Pago Duplicado

Mensaje enviado:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln


s:wss="http://wssiim/">
<soapenv:Header/>
<soapenv:Body>
<wss:iResumenPago>
<hashCode>5a331d77758496a23a123ba7e24f27a9</hashCode>
<user>PASARELA01</user>
<password>123</password>
<nitCompania>8913800073</nitCompania>
<referencia>1007405647</referencia>
<!--Optional:-->
<identificacion>10203040</identificacion>
<valorPago>393983</valorPago>
<cus>123456788</cus>
<!--Optional:-->
<banco>VISA</banco>
<!--Optional:-->
<ciclo>1</ciclo>
<fechaPago>20200907</fechaPago>
<estadoPago>1</estadoPago>
<medioPago>25</medioPago>
</wss:iResumenPago>
</soapenv:Body>
</soapenv:Envelope>

Respuesta:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:iResumenPagoResponse xmlns:ns2="http://wssiim/">
<result>
<status>ERROR</status>
<code>46</code>
<message>Ya existe un pago con CUS 123456788</message>
</result>
</ns2:iResumenPagoResponse>
</soap:Body>
</soap:Envelope>

Actualización de Clave

Cuando un usuario es creado en el sistema, la clave por defecto es “123”. Por esta razón el usuario del banco
debe ingresar a este URL y actualizar su clave. De la misma manera es conveniente que periódicamente se
actualice este password por razones de seguridad.

Entorno URL actualizar clave

Pruebas https://aprpal.siifweb.com:8070/wsuser/updateUser

Producción https://oas.palmira.gov.co:8070/wsuser/updateUser
Para que un usuario pueda actualizar su password, debe ingresar las credenciales necesarias para su
identificación. Estas son:

Campo Descripción

Código HASH asignado Este dato es suministrado por el administrador del sistema. Y debe
ser incluído en cada invocación de la operación SOAP.

Nombre del usuario WS Este dato es suministrado por el administrador del sistema. Y debe
ser incluído en cada invocación de la operación SOAP.

Password actual El password actual, y que se desea cambiar

Nuevo Password El nuevo password que se desea como llave de seguridad. Y debe
ser incluído en cada invocación de la operación SOAP

Repetir el nuevo Password El nuevo password se debe repetir exactamente, con fines de
seguridad

Facturas de Prueba

En el entorno de pruebas es posible acceder a un listado de 50 facturas vigentes para realizar las pruebas de
los diferentes métodos. Para acceder a este listado se usa la URL
https://aprpal.siifweb.com:8070/wsuser/listFacturasPrueba y proveer el usuario y clave asignados al banco.
Listado de Facturas de Prueba

También podría gustarte