Descarga PDF - Gobierno de Canarias

Anuncio
Interoperabilidad de los servicios telemáticos de la
Administración Pública de la CAC
Página 1 de 31
MARCO DE REFERENCIA PARA LA
PLATAFORMA DE INTEROPERABILIDAD
VOLUMEN IV: MANUAL DEL DESARROLLADOR
SERVICIO DE PASARELA DE PAGOS TELEMÁTICOS
Historial de revisiones en la siguiente página
Documento :
PLA-DOC-FIN-v2.1-Vol IV. Servicio de Pasarela de Pagos Telematicos
Ubicación en eRoom:
Preparado por
Revisado por
Aprobado por
D. Gral. de Telecomunicaciones y
Nuevas Tecnologías
D. Gral. de Telecomunicaciones y
Nuevas Tecnologías
D. Gral. de Telecomunicaciones y
Nuevas Tecnologías
Fecha: 10/05/2016
Fecha: 10/05/2016
Fecha: 10/05/2016
Índice de contenido
1 DESCRIPCIÓN GENERAL ..........................................................................................3
2 VERSIÓN DEL SERVICIO...........................................................................................3
3 CASOS DE USO..........................................................................................................4
3.1 CU-PPA-04: Verificar NRC..................................................................................... 5
3.1.1 Interfaz..............................................................................................................5
3.1.2 Entrada del servicio..........................................................................................5
3.1.3 Salida del servicio.............................................................................................7
3.1.4 Excepciones..................................................................................................... 7
3.2 CU-PPA-05: Obtener Versión del Servicio.............................................................8
3.2.1 Interfaz..............................................................................................................8
3.2.2 Entrada del servicio..........................................................................................8
3.2.3 Salida del servicio.............................................................................................8
3.3 CU-PPA-06: Realizar Pago Firmado......................................................................9
3.3.1 Interfaz..............................................................................................................9
3.3.2 Entrada del servicio..........................................................................................9
3.3.3 Salida del servicio...........................................................................................13
3.3.4 Excepciones................................................................................................... 15
3.4 CU-PPA-07: Realizar Consulta Firmada.............................................................. 16
3.5 CU-PPA-08: Realizar una BusquedaSPT:............................................................17
3.5.1 Interfaz:...........................................................................................................17
3.5.2 Entrada del servicio:.......................................................................................17
3.5.3 Salida del servicio:..........................................................................................19
3.5.4 Excepciones:.................................................................................................. 20
3.6 EXCEPCIONES....................................................................................................20
3.7 InvalidParameterValueException......................................................................... 20
3.8 MalFormedXmlDatosException............................................................................20
3.9 ExcepcionPasarelaFirmaInvalida.........................................................................21
3.10 ExcepcionPasarelaErrorFirma........................................................................... 21
4 INFORMACIÓN ADICIONAL DEL SERVICIO.......................................................... 22
4.1 Códigos de respuesta del Servicio de Pago Telemático......................................22
4.2 Códigos de retorno de la entidades financieras...................................................27
1
DESCRIPCIÓN GENERAL
La Pasarela de Pagos de PLATINO es una infraestructura común que permite a la
Administración incorporar el pago electrónico en sus tramitaciones. Como tal
infraestructura básica, el objetivo principal es abstraer a procedimientos y aplicaciones
de tramitación de la complejidad del pago electrónico. Para lograr este objetivo la
pasarela se basa en:
•
Estandarizar un formato de intercambio único con todas las Entidades
Financieras.
•
Estandarizar un interfaz programático único con las aplicaciones que deseen
incorporar pago.
•
Estandarizar una operativa de pago, independientemente de la naturaleza del
pago, la tramitación o la Administración concreta.
•
No interferir en los acuerdos entre Entidades Financieras y Administraciones.
Estos planteamientos proporcionan una serie de ventajas que se enumeran a
continuación:
•
Para las Administraciones una infraestructura única permite:
•
Independizar a las aplicaciones de las de las complejidades técnicas del
pago electrónico.
•
La incorporación de una nueva Entidad Financiera es transparente.
•
Cualquier nueva funcionalidad está disponible para todas las
Administraciones.
•
Para las Entidades Financieras, hay una Pasarela única, válida para todas las
Administraciones en lugar de una por cada una de ellas con los ahorros de
desarrollo y mantenimiento que esto conlleva.
•
El establecimiento de un interfaz de usuario único en los procesos de pago con
la Administración da confianza a los ciudadanos/as en el pago Electrónico.
Cualquier transacción económica que se realice con esta plataforma de pago será
notificada a la Dirección General de Tributos, mediante mensajes.
Este servicio se apoya en una aplicación desarrollada por la empresa Red.es
denominada "Plataforma de Pagos", de forma que actuará como fachada de las
funcionalidades que proporciona.
2
VERSIÓN DEL SERVICIO
Este documento corresponde a la versión 2.1 del servicio en la arquitectura de Platino
2.0.
3
CASOS DE USO
A continuación se muestra el diagrama de casos de uso del servicio de Pasarela de
Pago:
Estos casos de uso han dado lugar a la siguiente interfaz de servicio:
Operaciones
3.1
CU-PPA-04: Verificar NRC
Esta funcionalidad permite realizar una solicitud de comprobación de validez de un
NRC emitido por una entidad financiera. En caso de éxito en la invocación, devolverá
un booleano indicando si el NRC es correcto o no.
3.1.1
Interfaz
3.1.2
Entrada del servicio
El parámetro de entrada que espera este método, es un xml con los datos básicos del
NRC a verificar.
Parámetro
Descripción
verificacionNRCXml
String que contiene los datos necesarios para comprobar la validez del
NRC
El xml de entrada debe corresponderse con el siguiente esquema.
peticion_verificacion.xsd
<xs:schema
version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="peticionVerificacion">
<xs:complexType >
<xs:sequence>
<xs:element name="nrc" type="Alfanumerico" minOccurs="1"/>
<xs:element name="organismoEmisor" type="Numerico" minOccurs="1" />
<xs:element name="codigoOrganismo" type="Alfanumerico" minOccurs="1" />
<xs:element name="cpr" type="Numerico" minOccurs="1" />
<xs:element name="fechaOperacion" type="Numerico" minOccurs="1"/>
<xs:element name="justificante" type="Numerico" minOccurs="1" />
<xs:element name="nif" type="Alfanumerico" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="Alfanumerico">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Numerico">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]+" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
Breve descripción de lo que se espera en cada elemento del xml.
Nombre
Tipo
Descripción
nrc
N(22)
NRC que se va a verificar
organismoEmisor
N
Código emisor del Gobierno de Canarias, debe asignarse el
valor 65006.
codigoOrganismo
AN
Código de organismo del Gobierno de Canarias, debe
asignarse el valor GOB_CANARIAS.
cpr
N(7)
•
•
Código de procedimiento de Recaudación.
Autoliquidaciones 9054258
Liquidaciones 9054357
fechaOperacion
N(8)
Fecha en la que se realizó la operación de pago, con el formato
AAAAMMDD
justificante
N(13)
Número de justificante de la operación asociada al NRC
nif
AN(8)
NIF del contribuyente que realizó el pago
N – Numérico
An – AlfaNumérico
Un ejemplo típico de una invocación a esta operación es la que se muestra a
continuación:
Ejemplo de Entrada
<peticionVerificacion>
<nrc>0411864306474223E54B16</nrc>
<organismoEmisor>65006</organismoEmisor>
<codigoOrganismo>GOB_CANARIAS</codigoOrganismo>
<cpr>9053466</cpr>
<fechaOperacion>20140714</fechaOperacion>
<justificante>4118643064742</justificante>
<nif>44444444A</nif>
</peticionVerificacion>
3.1.3
Salida del servicio
A continuación se muestra el modelo de datos que devuelve el Servicio en respuesta
a una invocación con éxito de esta operación.
Un ejemplo típico de respuesta de esta operación es la que se muestra a
continuación:
Ejemplo de Salida
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:verificarNRCResponse xmlns:ns2="http://platino.gobcan.es/servicios/pasarelaPagosTelematico">
<return>true</return>
</ns2:verificarNRCResponse>
</soapenv:Body>
</soapenv:Envelope>
3.1.4
Excepciones
Este servicio puede lanzar las siguientes excepciones en caso de encontrar errores
•
MalFormedXmlDatosException
•
InvalidParameterValueException
3.2
CU-PPA-05: Obtener Versión del Servicio
Este caso de uso permite averiguar la versión en formato X.Y.Z.YYYYMMDD del
servicio web desplegado.
3.2.1
Interfaz.
3.2.2
Entrada del servicio.
Este método no tiene parámetros de entrada.
Un ejemplo típico de una invocación a esta operación es la que se muestra a
continuación.
Ejemplo de Entrada
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pas="http://platino.gobcan.es/servicios/pasarelaPagos">
<soapenv:Header/>
<soapenv:Body>
<pas:getVersion/>
</soapenv:Body>
</soapenv:Envelope>
3.2.3
Salida del servicio
Ejemplo de salida del servicio.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:getVersionResponse xmlns:ns2="http://platino.gobcan.es/servicios/pasarelaPagosTelematico">
<return>1.20140729.0</return>
</ns2:getVersionResponse>
</soapenv:Body>
</soapenv:Envelope>
3.3
CU-PPA-06: Realizar Pago Firmado
Esta funcionalidad permite a los backoffices que se integren con PLATINO, la
realización de un pago telemático. El usuario, a través de un formulario, introducirá y
firmará los parámetros referentes al pago y el sistema, devolverá el resultado de la
operación.
El pago permitido actualmente es el correspondiente a la norma 65, según la
especificación de Red.es.
3.3.1
Interfaz
3.3.2
Entrada del servicio
A continuación se muestra el modelo de datos que se ha de utilizar cuando queremos
invocar a la operación de pago:
Parámetro
Descripción
datosPagoXml
String que contiene los datos de la solicitud del pago rellenas por el
ciudadano
firma
Bytes de la firma en formato CAdES realizada por el usuario, del String
datosPagoXml.
norma
Valor correspondiente a la norma 65, siguiendo la especificación de
Red.es.
modalidad
En caso de tratarse de un pago bajo la norma 60, además se debe
especificar la modalidad, que pueden ser 1, 2 o 3.
Para la norma 65, este campo no se tiene en cuenta, por tanto puede
dejarse vacío.
Pagos bajo Norma65
El xml que llega en el parámetro datosPagoXML, debe cumplir el siguiente esquema.
peticion_norma65.xsd
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="peticionNorma65">
<xs:complexType >
<xs:sequence>
<xs:element name="idAplicacion" type="Alfanumerico" minOccurs="0" />
<xs:element name="organismoEmisor" type="Numerico" minOccurs="1"/>
<xs:element name="codigoOrganismo" type="Alfanumerico" minOccurs="1"/>
<xs:element name="cpr" type="Numerico" minOccurs="1"/>
<xs:element name="cvc" type="Numerico" minOccurs="0"/>
<xs:element name="importeOperacion" type="Decimal" minOccurs="1"/>
<xs:element name="codigoEntidad" type="Numerico" minOccurs="1"/>
<xs:element name="acreditacionTerceros" type="Numerico" minOccurs="1"/>
<xs:element name="medioPago" type="Numerico" minOccurs="1"/>
<xs:element name="numeroMedioPago" type="Alfanumerico" minOccurs="1"/>
<xs:element name="primerRepresentante" type="Alfanumerico" minOccurs="0"/>
<xs:element name="nifPrimerRepresentante" type="Alfanumerico" minOccurs="0"/>
<xs:element name="segundoRepresentante" type="Alfanumerico" minOccurs="0"/>
<xs:element name="nifSegundoRepresentante" type="Alfanumerico" minOccurs="0"/>
<xs:element name="modelo" type="Numerico" minOccurs="1"/>
<xs:element name="concepto" type="Numerico" minOccurs="1"/>
<xs:element name="ejercicio" type="Numerico" minOccurs="0"/>
<xs:element name="periodo" type="Alfanumerico" minOccurs="0"/>
<xs:element name="justificante" type="Numerico" minOccurs="1"/>
<xs:element name="anagrama" type="Alfanumerico" minOccurs="1"/>
<xs:element name="codigoTerritorial" type="Alfanumerico" minOccurs="0"/>
<xs:element name="fechaDevengo" type="Numerico" minOccurs="0"/>
<xs:element name="contribuyente" type="Alfanumerico" minOccurs="1"/>
<xs:element name="nifContribuyente" type="Alfanumerico" minOccurs="1"/>
<xs:element name="nifSolicitante" type="Alfanumerico" minOccurs="0"/>
<xs:element name="info" type="Alfanumerico" minOccurs="0"/>
<xs:element name="datosOrganismo" type="Alfanumerico" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="Alfanumerico">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Numerico">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]+" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Decimal">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]+(\.[0-9]+)?" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
La descripción de cada uno de los elementos descritos en el XSD es la siguiente:
NOMBRE
idAplicacion
TIPO
DESCRIPCIÓN
An(10)
Código de la aplicación que realiza la invocación al
servicio
organismoEmisor
N
Código emisor del Gobierno de Canarias, debe
asignarse el valor 65006.
codigoOrganismo
AN
Código de organismo del Gobierno de Canarias, debe
asignarse el valor GOB_CANARIAS.
cpr
N(7)
Código de procedimiento de recaudación del pago.
cvc
N(3)
Corresponde al código que se encuentra en el reverso
de la tarjeta de crédito.
importeOperacion
Número
decimal
Importe de la operación de pago
codigoEntidad
An(4)
Código de la entidad financiera dada de alta en la
Pasarela ⁽⁴ ⁾
acreditacionTerceros
N(1)
Indica si el representante está autorizado a realizar el
pago en nombre del contribuyente.⁽² ⁾
medioPago
N(1)
Identificador medio de pago:
1 = Cargo en cuenta
2 = Pago con tarjeta débito
3 = Pago con tarjeta crédito
numeroMedioPago
N(20)
En el caso de pagos en cuenta corriente, se
corresponde con el IBAN donde se hará el cargo. El
formato a seguir es N(24)
En el caso de pagos con tarjeta, se compone del
número de la tarjeta, seguida por el mes y año de
caducidad. Se debe seguir este formato N(16)MMAA
primerRepresentante
An(40)
Apellidos y nombre del primer representante (titular de
la cuenta)
nifPrimerRepresentante
AN(8)
NIF/CIF/NIE del primer representante (titular de la
cuenta)
segundoRepresentante
An(40)
Apellidos y nombre del segundo representante
nifSegundoRepresentante
AN(8)
NIF/CIF/NIE del segundo representante
modelo
N(3)
Modelo admitido por la Pasarela para el Organismo
indicado
concepto
N(4)
Concepto correspondiente al Modelo y al Organismo
indicado
ejercicio
N(4)
Valor del ejercicio fiscal con formato AAAA
periodo
N(2)
Valor del periodo con formato MM (9)
justificante
N(13)
Número de justificante que identifica unívocamente la
operación de pago. ⁽⁵ ⁾
anagrama
An(4)
Anagrama fiscal del contribuyente. (Si no se aporta, la
pasarela asigna el valor 0000).
codigoTerritorial
An(6)
Valor del código territorial.
fechaDevengo
N(8)
Fecha de devengo con formato AAAAMMDD
contribuyente
An(40)
Apellidos y nombres del contribuyente
nifContribuyente
AN(8)
NIF del contribuyente
nifSolicitante
AN(8)
NIF del solicitante del pago ⁽³ ⁾
info
An(25)
Reservada para información específica
datosOrganismo
An(59)
Reservada para el uso del organismo
N – Numérico
An – AlfaNumérico
⁽¹ ⁾ Los tipos de trama válidos son los siguientes:
•
2, correspondiente a la TRAMA65 de Red.es.
En caso de no especificarse ninguna, se utilizará por defecto la trama 2. En caso de
especificar otro valor, se devolverá un código de respuesta “TT”, correspondiente a un
tipo de trama desconocida.
⁽² ⁾ Los posibles valores para este elemento son:
•
1 = tercero autorizado.
•
0 = tercero no autorizado.
Si no se aporta ninguno, la pasarela lo asigna automáticamente siguiendo el siguiente
patrón: si el NIF del firmante es igual al NIF del Contribuyente, asigna valor 0. Si el
NIF del firmante es diferente al NIF del Contribuyente, asigna valor 1.
⁽³ ⁾ Si no se indica ningún valor se tomará por defecto el siguiente:
•
Si se especifica el NIF del primer representante, se tomará ese valor.
•
Si no se especifica el NIF del primer representante, entonces se utilizará el NIF
del contribuyente.
⁽⁴ ⁾ Si no se indica ningún valor se tomará el código de organismo o se determinará a
través del número del medio de pago.
⁽⁵ ⁾ Este campo tiene la siguiente forma: [MMMYZZZZZZZZD], siendo:
•
"M” : modelo
•
•
•
3.3.3
“Y”: indicador de datos a obtener pudiendo tomar los siguientes valores:
•
0: No se obtienen datos opcionales
•
1: Expediente
•
2: Fecha de devengo
•
3: Expediente y fecha de devengo
•
4: Datos específicos
•
5: Expediente y datos específicos
•
6: Fecha de devengo y datos específicos
•
7: Fecha de devengo, datos específicos y expediente
“Z”: número secuencial
“D”: dígito de control
Salida del servicio
El método en cuestión, devolverá un objeto tipo PeticionResponse, con los datos
de la respuesta que llega desde la Pasarela de Pagos.
A continuación vemos los valores que podemos esperar al realizar un pago.
NOMBRE
DESCRIPCIÓN
codigoRespuesta
Código de respuesta
Telemático(SPT)
descripcionRespuesta
Descripción de la respuesta devuelta por el Servicio de Pagos
Telemático(SPT)
cpr
Código de procedimiento de recaudación del pago.
tipoPeticion
Tipo de petición, devuelto por la EEFF (alta de un pago)
medioPago
Identificador medio de pago:
1 = Cargo en cuenta
2 = Pago con tarjeta
numeroMedioPago
En el caso de pagos en cuenta corriente, se corresponde con el
CCC donde se hará el cargo. El formato a seguir es N(20)
En el caso de pagos con tarjeta, se compone del número de la
tarjeta, seguida por el mes y año de caducidad. Se debe seguir este
formato N(16)MMAA
importeOperacion
Importe de la operación de pago
nifPrimerRepresentante
NIF/CIF/NIE del primer representante (titular de la cuenta)
nifSegundoRepresentante
NIF/CIF/NIE del segundo representante
contribuyente
Apellidos y nombres del contribuyente
primerRepresentante
Apellidos y nombre del primer representante (titular de la cuenta)
segundoRepresentante
Apellidos y nombre del segundo representante
codigoOrganismo
Organismo admitido en la Pasarela
modelo
Modelo admitido por la Pasarela para el Organismo indicado
ejercicio
Valor del ejercicio fiscal con formato AAAA
periodo
Valor del periodo con formato MM
nifContribuyente
NIF del contribuyente
nifSolicitante
NIF del solicitante del pago
anagrama
Anagrama fiscal del contribuyente
codigoTerritorial
Valor del código territorial
fechaDevengo
Fecha de devengo con formato AAAAMMDD
justificante
Número de justificante que identifica unívocamente la operación de
pago.
info
Reservada para información específica
conceptoAutoliquidacion
Concepto de la autoliquidación
datosOrganismo
Reservada para el uso del organismo
acreditacionTerceros
Indica si el representante está autorizado a realizar el pago en
nombre del contribuyente.
1 = tercero autorizado.
0 = tercero no autorizado.
devuelto
por
el
Servicio
de
Pagos
nrc
NRC correspondiente a la operación de pago
codigoRetorno
Código de retorno de la entidad financiera
fechaOperacion
Fecha de la operación
Un ejemplo típico de respuesta de esta operación es la que se muestra a
continuación:
Ejemplo de Salida
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:pagoFirmadoResponse xmlns:ns2="http://platino.gobcan.es/servicios/pasarelaPagosTelematico">
<return>
<codigoOrganismo>65006</codigoOrganismo>
<codigoRespuesta>OK</codigoRespuesta>
<codigoRetorno>00</codigoRetorno>
<codigoTerritorial>065021</codigoTerritorial>
<cpr>9054258</cpr>
<datosOrganismo>65006</datosOrganismo>
<descripcionConcepto>0001</descripcionConcepto>
<descripcionRespuesta>Operación finalizada OK</descripcionRespuesta>
<ejercicio>2014</ejercicio>
<fechaDevengo>20130429</fechaDevengo>
<fechaOperacion>20140718</fechaOperacion>
<idPasarela>01</idPasarela>
<importeOperacion>12.5</importeOperacion>
<justificante>4113731827222</justificante>
<medioPago>1</medioPago>
<modelo>411</modelo>
<nifContribuyente>44444444A</nifContribuyente>
<nifSolicitante>44444444A</nifSolicitante>
<nrc>04113731827222B661E9D6</nrc>
<numeroMedioPago>ES70null</numeroMedioPago>
<periodo>01</periodo>
<reservada>1GOB_CANARIAS
ES70</reservada>
<tipoPeticion>01</tipoPeticion>
</return>
</ns2:pagoFirmadoResponse>
</soap:Body>
</soapenv:Envelope>
3.3.4
Excepciones
Este servicio puede lanzar las siguientes excepciones en caso de encontrar errores
•
Exception
•
MalFormedXmlDatosException
•
InvalidParameterValueException
•
ExcepcionPasarelaFirmaInvalida
•
ExcepcionPasarelaFirmaError
3.4
CU-PPA-07: Realizar Consulta Firmada
Esta funcionalidad permite a los backoffices que se integren con PLATINO, la
realización de una consulta sobre un determinado pago realizado con anterioridad. El
usuario, a través de un formulario, introducirá y firmará los parámetros referentes a la
consulta, y el sistema devolverá el resultado de la operación.
De cara al cliente, este método se comporta de la misma forma que lo hace
pagoFirmado. Admite los mismos parámetros de entrada y devuelve los mismos
objetos con los mismos valores. Por tanto, para su comprensión detallada, remítase al
apartado CU-PPA-06: Realizar Pago Firmado
3.5
CU-PPA-08: Realizar una BusquedaSPT:
Esta funcionalidad permite a los backoffices que se integren con PLATINO, la
realización de búsquedas contra la pasarela de pagos de Red.es, en lugar de contra
la entidad financiera.
3.5.1
Interfaz:
3.5.2
Entrada del servicio:
El parámetro de entrada que espera este método, es un xml con los datos básicos de
la búsqueda a realizar:
Parámetro
Descripción
datosBusquedaXml
String que contiene los datos necesarios para realizar la búsqueda
deseada.
El xml que llega en el parámetro datosPagoXML, debe cumplir el siguiente esquema.
peticion_busqueda_sop.xsd
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="busquedaSop">
<xs:complexType>
<xs:sequence>
<xs:element name="NRC" nillable="true" type="xs:string" />
<xs:element name="codOrganismo" nillable="true" type="xs:string" />
<xs:element name="cpr" nillable="true" type="xs:string" />
<xs:element name="estado" nillable="true" type="xs:string" />
<xs:element name="fechaDesde" nillable="true" type="xs:string" />
<xs:element name="fechaHasta" nillable="true" type="xs:string" />
<xs:element name="idLote" nillable="true" type="xs:string" />
<xs:element name="justificante" nillable="true" type="xs:string" />
<xs:element name="nifCertificado" nillable="true" type="xs:string" />
<xs:element name="nifContribuyente" nillable="true" type="xs:string" />
<xs:element name="organismoEmisor" nillable="true" type="xs:string" />
<xs:element name="referencia" nillable="true" type="xs:string" />
<xs:element name="superorganismo" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
La descripción de cada uno de los elementos descritos en el XSD es la siguiente:
NOMBRE
TIPO
NRC
N(22)
DESCRIPCIÓN
NRC correspondiente a la operación de pago.
codigoOrganismo
AN
Código de organismo del Gobierno de Canarias, debe
asignarse el valor GOB_CANARIAS.
cpr
N(7)
Código de procedimiento de recaudación del pago.
estado
AN
Estado en que se encuentra el pago que desea
buscarse.
fechaDesde
N(8)
Fecha desde la que se empezará la búsqueda, con el
formato AAAAMMDD
fechaHasta
N(8)
Fecha hasta la que se realizará la búsqueda, con el
formato AAAAMMDD
N
Número del lote que queremos consultar. Obligatorio
si queremos consultar lote.
justificante
N(13)
Número de justificante de la operación asociada al
NRC
nifCertificado
AN(8)
Nif del certificado con el que se realiza la firma
nifContribuyente
AN(8)
Nif del certificado correspondiente al contribuyente
organismoEmisor
N
idLote
referencia
N(12-13)
superOrganismo
AN(20)
N – Numérico
An – AlfaNumérico
Código emisor del Gobierno de Canarias, debe
asignarse el valor 65006.
Campo identificador de un pago. Habrá sido
generado previamente por el Organismo Emisor.
Código de súperorganismo
Un ejemplo típico de una invocación a esta operación es la que se muestra a
continuación:
Ejemplo de Entrada
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pas="http://platino.gobcan.es/servicios/pasarelaPagosTelematico">
<soapenv:Header/>
<soapenv:Body>
<pas:busquedaSPT>
<!--Optional:-->
<datosBusquedaXml><![CDATA[<peticionNorma65>
<idAplicacion>AP001</idAplicacion>
<organismoEmisor>65006</organismoEmisor>
<codigoOrganismo>GOB_CANARIAS</codigoOrganismo>
<cpr>9054258</cpr>
<importeOperacion>12.5</importeOperacion>
<codigoEntidad>2100</codigoEntidad>
<acreditacionTerceros>0</acreditacionTerceros>
<medioPago>1</medioPago>
<numeroMedioPago>ES2821000555350201327185</numeroMedioPago>
<modelo>620</modelo>
<concepto>0000</concepto>
<ejercicio>2014</ejercicio>
<periodo>01</periodo>
<justificante>6200559545092</justificante>
<anagrama>
</anagrama>
<codigoTerritorial>103507</codigoTerritorial>
<fechaDevengo>20140329</fechaDevengo>
<contribuyente>Apellido1PF1 Apellido2PF1 NombrePF1</contribuyente>
<nifContribuyente>44444444A</nifContribuyente>
<nifSolicitante>44444444A</nifSolicitante>
</peticionNorma65>]]></datosBusquedaXml>
</pas:busquedaSPT>
</soapenv:Body>
</soapenv:Envelope>
3.5.3
Salida del servicio:
El método en cuestión, devolverá un objeto tipo PeticionResponse, con los datos
de la respuesta que llega desde la Pasarela de Pagos. Para más información
remítase al punto 3.3.3.
Ejemplo de Salida
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:busquedaSPTResponse xmlns:ns2="http://platino.gobcan.es/servicios/pasarelaPagosTelematico">
<return>
<acreditacionTerceros>0</acreditacionTerceros>
<anagrama></anagrama>
<codigoOrganismo>65006</codigoOrganismo>
<codigoRespuesta>OK</codigoRespuesta>
<codigoRetorno>00</codigoRetorno>
<codigoTerritorial>103507</codigoTerritorial>
<cpr>9054258</cpr>
<datosOrganismo>65006</datosOrganismo>
<descripcionConcepto>0000</descripcionConcepto>
<descripcionRespuesta>Operación finalizada OK</descripcionRespuesta>
<ejercicio>2014</ejercicio>
<fechaDevengo>20140329</fechaDevengo>
<fechaOperacion>20140625</fechaOperacion>
<idPasarela>01</idPasarela>
<importeOperacion>12.5</importeOperacion>
<justificante>6200559545092</justificante>
<medioPago>1</medioPago>
<modelo>620</modelo>
<nifContribuyente>44444444A</nifContribuyente>
<nifSolicitante>44444444A</nifSolicitante>
<nombreContribuyente>Apellido1PF1 Apellido2PF1 NombrePF1</nombreContribuyente>
<nrc>06200559545092329AA926</nrc>
<numeroMedioPago>ES2821000555350201327185</numeroMedioPago>
<periodo>01</periodo>
<reservada>1GOB_CANARIAS
ES28</reservada>
<tipoPeticion>01</tipoPeticion>
</return>
</ns2:busquedaSPTResponse>
</soap:Body>
</soap:Envelope>
3.5.4
Excepciones:
Este servicio puede lanzar las siguientes excepciones en caso de encontrar errores:
3.6
•
Exception
•
MalformedXMLDatosException
•
InvalidParameterValueException
EXCEPCIONES
Para que los clientes tengan más conocimiento de lo que ocurre cuando se encuentra
algún error, se ha planteado un pequeño control de errores basados en excepciones.
Cada vez que algo vaya mal en las invocaciones a los distintos métodos, el servicio
de Pasarela de Pagos devolverá una excepción concreta, que ayudará a determinar
más fehacientemente el motivo del error.
A continuación, vemos explicadas más en detalle todas las excepciones que se
pueden encontrar.
3.7
InvalidParameterValueException
Esta excepción se lanza cuando alguno de los parámetros de entrada es inválido.
Cabe destacar que no se hace una comprobación exhaustiva de todos los
parámetros. Por ejemplo, aquellos que vengan dentro de los xml, se delegan a la
propia aplicación de Pasarela de Pagos. Si se encontrase un error en este punto, esta
devolverá una respuesta con su correspondiente código de error.
3.8
MalFormedXmlDatosException
Cada vez que se recibe un parámetro en forma de xml, a este se le aplica una
operación de unmarshalling, para obtener un objeto de dominio con el que se
pueda trabajar más fácilmente. Es en este proceso donde se realiza la validación con
el esquema correspondiente. Si ocurre algún tipo de error, una excepción del tipo
MalFormedXmlDatosException es lanzada.
3.9
ExcepcionPasarelaFirmaInvalida
Esta excepción será lanzada, cuando la firma del xml que se recibe como parámetro,
no sea válida.
3.10
ExcepcionPasarelaErrorFirma
Esta excepción será lanzada cuando se encuentre algún error en el proceso de
verificación de la firma o en el momento de extraer el NIF del firmante del certificado.
4
INFORMACIÓN ADICIONAL DEL SERVICIO
4.1
Códigos de respuesta del Servicio de Pago Telemático
A continuación se presentan todos los valores de código de respuesta, que se
contemplan como propios de la aplicación del Servicio de Pago Telemático. Estos son
devueltos en el objeto PeticionResponse, en el atributo codigoRespuesta.
CÓDIGO
RESPUESTA
DESCRIPCIÓN
EF
Error devuelto y controlado por la EEFF.
J0
Error en el campo nif de certificado es obligatorio y no ha sido informado.
J1
Error en el campo nif de certificado no contiene un valor válido.
J2
Error en el campo fecha es obligatorio y no ha sido informado.
J3
Error en el campo fecha no contiene un valor válido.
J4
Error en el campo hora es obligatorio y no ha sido informado.
J5
Error en el campo hora no contiene un valor válido.
J6
Error en el campo CPR es obligatorio y no ha sido informado.
J7
Error en el campo CPR no contiene un valor válido.
J8
Error en el campo pasarela es obligatorio y no ha sido informado.
J9
Error en el campo pasarela no contiene un valor válido.
JA
Error en el campo tipo de petición es obligatorio y no ha sido informado.
JB
Error en el campo tipo de petición no contiene un valor válido.
JC
Error en el campo código de la entidad financiera es obligatorio y no ha sido
informado.
JD
Error en el campo código de la entidad financiera no contiene un valor válido.
JE
Error al validar la MAC de la Fecha y Hora es un dato incorrecto.
JF
Error en el campo código identificador medio de pago es obligatorio y no ha
sido informado.
JG
Error en el campo código identificador medio de pago no contiene un valor
válido.
JH
Error en el campo tipo medio de pago (Código Cuenta Cliente o Número de
tarjeta) es obligatorio y no ha sido informado.
JI
Error en el campo tipo medio de pago (Código Cuenta Cliente o Número de
tarjeta) no contiene un valor válido.
JJ
Error en el campo Fecha de caducidad es obligatorio y no ha sido informado.
JK
Error en el campo importe es obligatorio y no ha sido informado.
JL
Error en el campo importe no contiene un valor válido.
JM
Error en el campo nif del representante 1 no contiene un valor válido.
JN
Error en el campo nif del representante 2 no contiene un valor válido.
JO
Error en el campo nombre del representante 1 no contiene un valor válido
(Supera los 40 caracteres).
JP
Error en el campo nombre del representante 2 no contiene un valor válido
(Supera los 40 caracteres)
JQ
Error en el campo nombre del contribuyente no contiene un valor válido
(Supera los 40 caracteres).
JR
Error en el campo reservado es obligatorio y no ha sido informado.
JS
Error en el campo reservado no contiene un valor válido.
JT
Error en el campo código de organismo en el campo reservado contiene un
valor no válido.
JU
Error en el campo código del organismo emisor es obligatorio y no ha sido
informado.
JV
Error en el campo superorganismo no contiene un valor válido.
JW
Error en el campo organismo emisor no contiene un valor válido.
JX
Error en el campo idioma es obligatorio y no ha sido informado.
JY
Error en el campo idioma no contiene un valor válido.
JZ
Error en el campo url es obligatorio y no ha sido informado.
K0
Error en el campo url no contiene un valor válido.
K1
Error en el campo Referencia es obligatorio y no ha sido informado.
K2
Error en el campo Referencia no contiene un valor válido.
K3
Error en el campo (ident1) la primera parte de la identificación es obligatorio y
no ha sido informado
K4
Error en el campo (ident1) la primera parte de la identificación no contiene un
valor válido.
K5
Error en el campo (ident2) la segunda parte de la identificación es obligatorio y
no ha sido informado.
K6
Error en el campo (ident2) la segunda parte de la identificación no contiene un
valor válido.
K7
Error en el campo Concepto no contiene un valor válido.
K8
Error en el campo código domiciliación es obligatorio y no ha sido informado.
K9
Error en el campo código domiciliación no contiene un valor válido.
KA
Error en el campo ccc de domiciliación es obligatorio y no ha sido informado.
KB
Error en el campo ccc de domiciliación no contiene un valor válido.
KC
Error en el campo justificante es obligatorio y no ha sido informado.
KD
Error en el campo justificante no contiene un valor válido.
KE
Error en el campo nif contribuyente es obligatorio y no ha sido informado.
KF
Error en el campo nif contribuyente no contiene un valor válido.
KG
Error en el campo código de modelo es obligatorio y no ha sido informado.
KH
Error en el campo código de modelo no contiene un valor válido.
KI
Error en el campo acreditación de pagos por cuenta de terceros es obligatorio y
no ha sido informado.
KJ
KError en el campo acreditación de pagos por cuenta de terceros no contiene
un valor válido.
KK
Error en el campo la acreditación de pagos por cuenta de terceros el
NIF_CERTIFICADO es distinto del NIF_CONTRIBUYENTE.
KL
Error en el campo expediente no contiene un valor válido.
KM
Error en el campo fecha de devengo no contiene un valor válido.
KN
Error en el campo información específica no contiene un valor válido.
KO
Error en el campo anagrama fiscal es obligatorio y no ha sido informado.
KP
Error en el campo anagrama fiscal no contiene un valor válido.
KQ
Error en el campo código territorial no contiene un valor válido.
KR
Error en el campo concepto autoliquidación no contiene un valor válido.
KS
Error en el campo identificación no contiene un valor válido.
KT
El cuaderno no tiene un código de organismo válido.
KU
El SOAP recibido es incorrecto.
KV
La petición no viene firmada.
KW
No se pudo conectar con ASF.
KX
No viene un nif del certificado en el pago.
KY
Pago firmado por más de dos firmantes. Error de validación.
KZ
Número de serie no validado contra el superorganismo.
L0
Error al obtener del repositorio los datos del organismo.
L1
El código de Validación del organismo indica que debería venir el pago firmado
por el ciudadano y el organismo, y sólo está firmado una vez.
L2
No coinciden el número de serie del certificado con el existente en la B.B.D.D
L3
El código de Validación del organismo indica que debería venir el pago firmado
sólo por el organismo, y hay dos firmantes.
L4
No coincide el número de serie de ningún firmante con el que está configurado
para el organismo.
L5
Certificado no autorizado para el pago.
L6
Verificación NO correcta.
L7
Error detectado en la aplicación de firma webservice.
L8
Firma No Válida.
L9
Certificado no válido (Intervalo de validez incorrecto).
LA
Certificado no verificado (la firma de la CA sobre el mismo no es correcta).
LB
Certificado revocado (el certificado ha sido revocado, posteriormente se
añadirán a este código las razones de revocación).
LC
El estado de revocación del certificado no se ha podido verificar.
LE
El uso del certificado en esta aplicación y operación no es válido.
LF
El algoritmo de firma no está definido.
LG
El algoritmo de firma no es valido.
LH
El certificado no se encontró.
LI
Formato de la firma es incorrecto.
LJ
No se encontró la cadena del certificado de la firma.
LK
Los datos del pago no han superado la validación XSS.
LL
El dígito de control del campo Justificante no es válido.
LM
El dígito de control del campo Referencia no es válido.
LQ
No se ha informado del IBAN asociado al CCC.
LR
No se ha informado del IBAN asociado a la CCC domiciliada.
LS
Error en el código IBAN asociado al CCC.
LT
Error en el código IBAN asociado al CCC domiciliada.
LU
Error no hay un CCC pero se informan de un código IBAN.
LV
Error no hay un CCC Domiciliada pero se informan de un código IBAN.
OK
Operación finalizada OK
4.2
Códigos de retorno de la entidades financieras
A continuación se presentan aquellos valores de código de retorno devueltos por las
entidades financieras para una operación ya sea de consulta o de pago.
Su contenido tendrá significado únicamente en los siguientes casos:
• Cuando para una operación de pago se obtenga de la pasarela un codigoRespuesta
con valor EF
• Cuando para una operación de consulta se obtenga de la pasarela un
codigoRespuesta con valor 00
En ambos casos el significado de los códigos de retorno son los que se muestran a
continuación:
CÓDIGO RETORNO
00
DESCRIPCIÓN
Operación finalizada OK
1
Número de justificante o importe erróneo o ausente
2
Modelo o tipo de operación no soportado
3
Solicitud anulada
4
El certificado firmante no está autorizado para realizar el pago por personas
ajenas
5
El representante del certificado firmante no está autorizado para realizar el pago
por personas ajenas
6
El certificado firmante no está autorizado para pagar y presentar este modelo
7
El certificado firmante no está autorizado para realizar este pago por convenio
8
La entidad emisora de esta tarjeta no admite este tipo de servicio
10
Concepto o modelo erróneo
11
Falta concepto o modelo
12
Ejercicio fiscal erróneo
13
Falta ejercicio fiscal
14
Período erróneo
15
Falta período
16
Tipo de moneda erróneo (distinto de E)
17
NIF/CIF incorrecto para este modelo
18
Falta tipo de moneda
19
Importe ingreso erróneo
20
Falta importe de ingreso
21
NIF contribuyente erróneo
22
Falta NIF del contribuyente
23
NIF del primer representante erróneo
24
Falta NIF del representante
25
Sobra NIF del representante
26
Falta nombre del contribuyente
27
Falta nombre del representante
28
Sobra nombre del representante
29
Código administración erróneo
30
Falta código administración
31
Anagrama erróneo
32
Falta anagrama
33
Sobra anagrama
34
Importe total y parcial no cuadra
35
Falta importe total
36
Sobra importe total
37
Opción fraccionamiento errónea
38
Falta opción fraccionamiento
39
C.C.C. (Código Cuenta Cliente) erróneo
40
Falta C.C.C. (Código Cuenta Cliente)
41
Falta importe redenominación erróneo
42
Falta importe redenominación
43
Tipo de operación erróneo
44
Falta tipo de operación
45
Tipo de petición erróneo (distinto de 01 o 02)
46
Falta tipo de petición
47
Tipo de autoliquidación erróneo (distinto de I o D)
48
Falta tipo de autoliquidación
49
NIF del segundo representante erróneo
50
Concepto o modelo no permitidos
51
Ejercicio fiscal no permitido
52
Período no permitido
53
Ingreso no fraccionable por estar fuera del período voluntario
54
Ingreso fuera de período
55
Movimiento distinto de 01 y 02
56
NIF certificado distinto a NIF tecleado
57
NIF primer certificado distinto a NIF tecleado
58
NIF segundo certificado distinto a NIF tecleado
59
El horario de servicio es desde las 2:00 h. hasta las 23:00 h. diariamente
60
Fecha de presentación fuera de plazo
61
Importe total de la deuda erróneo
62
Autoridad certificadora errónea
63
Certificado caducado
64
Certificado revocado
65
Presentador no autorizado en nombre de terceras personas
66
Ha firmado dos veces con el mismo representante
67
Período impositivo concluido errónea
68
Fecha de conclusión período impositivo errónea
69
Error de formato en los datos de la petición
70
Petición duplicada
71
No existe cargo con los datos consultados
72
C.C.C. cancelado
73
C.C.C. bloqueado (judicialmente)
74
C.C.C. con saldo no disponible
75
C.C.C. con saldo insuficiente
76
C.C.C. cuenta no es de ahorro a la vista
77
C.C.C. inexistente
78
C.C.C. inoperante
79
NIF del contribuyente no titular a la cuenta
80
NIF representante no apoderado de la cuenta
81
Contribuyente no persona jurídica (e informa representante)
82
Falta segundo NIF por se cuenta conjunta
83
El segundo NIF no corresponde a titular de la cuenta
84
MAC erróneo
85
No hay suficientes apoderados
86
Esta entidad no atiende la solicitud de cargo por esta vía en este rango
horario (y se le añade opcionalmente explicación de horario de servicio que
puede venir en la cadena de respuesta desde la posición 211 hasta la 400)
87
Texto de la Entidad Colaboradora en la cadena de respuesta desde la
posición 211 hasta la 400 con explicación amplia sobre la incidencia
y teléfono de atención al cliente.
88
Contribuyente no identificado
89
Fecha de validez/caducidad de la tarjeta excedida, errónea o ausente
90
No está autorizado para realizar el pago por personas ajenas
91
Número de tarjeta no valido, erróneo o ausente
92
El titular del certificado con el que se ha firmado no es el titular de la tarjeta
93
Se ha excedido el límite de la operación
94
Tipo de tarjeta no soportado
95
Solo se aceptan tarjetas emitidas por la propia entidad
99
Error técnico
A4
NRC no existe
A6
NIF no existe
A7
NRC ya constituido. Inténtelo por consulta
A8
NRC no preconstituido. Inténtelo por consulta
A9
NRC ya existe
B6
NRC no disponible para devolución
B8
NRC ya liberado
C1
Incoherencia de datos
C2
NRC de operación ya existe
F2
NRC no disponible para devolución, ya devuelto
H4
Imposible cobro, NRC ya cobrado
I3
Dígito de control erróneo.
I4
Carácter de control erróneo.
I6
Error en el modelo de operación.
I7
Error en el código del Banco de España.
I8
Error en el código IBAN
Descargar