
Utilidades
DestacamosProyecto de funcionamiento básico de la pasarela (Cursillo)
Incorporación de una aplicación a la Pasarela de Pagos:
Incorporación de una una entidad financiera:
Documentación TécnicaConfiguración, literales y ficheros de propiedades
Fecha última actualización de librerias: 3 Febrero 2015
Librerias Entidades Finanacieras| SDK Librerias Pasarela de Pagos para Entidades Financieras | ||||
|---|---|---|---|---|
| Utilidades Pasarela Pagos | p12f 4.0.0 | Javadoc ZIP | Jar libs | Source Code: ClassMap: |
| API Entidades Financieras | p12e 4.0.0 | Javadoc ZIP | Jar libs | Source Code: Config: |
| Utilidades Generales | r01f 2.33.1 * | Javadoc ZIP | Jar libs | Necesita:
|
| * Por cambios en la numeración de la r01f numeros superiores no corresponden a la última versión. Por lo que es conveniente que se descargen la versión actual. | ||||
Librerias Aplicaciones Departamentales| SDK Librerias Pasarela de Pagos para Aplicaciones Departamentales | ||||
|---|---|---|---|---|
| API Aplicaciones Departamentales | p12dtClasses-4.1.2 | Jar libs (JDK 14) |
||
| Utilidades Pasarela Pagos | p12ftClasses-4.1.2 | |||
| Utilidades Generales | r01ftShLibClasses-3.5 * | |||
| Librerías comunes necesarias | ||||
| * Por cambios en la numeración de la r01f numeros superiores no corresponden a la última versión. Por lo que es conveniente que se descargen la versión actual. | ||||
| SDK PHP Pasarela de Pagos para aplicaciones departamentales | |||
|---|---|---|---|
| Librerías PHP desarrolladas por Zundan | Código opensource distribuido bajo licencia GNU/GPL | Zundan PHP SDK | Zundan PHP SDK |
| Librería PHP y ejemplos
Puede obtenerse la versión más actualizada, así como ver los ejemplos online, en la web de P12PHP. Existe además un repositorio Subversion en SourceForge: svn co https://p12php.svn.sourceforge.net/svnroot/p12php p12php |
Código opensource distribuido bajo licencia Apache 2.0 | P12PHP(v1.1.1) | P12PHP |
Utilidades Aplicaciones Departamentales| Utilidades para descargar | ||
|---|---|---|
| Generador de pdf en local. Para probar el correcto funcionamiento de las Plantillas | Contiene los archivos necesarios para su implementación en local y un documento HELP.doc con ayuda adicional. | GeneradorPDF |
| Ejemplos nuevas plantillas V3 | Las nuevas plantillas que se creen se crean en esta versión | EjemplosPlantillasV3 |
Ficheros de configuraciónSon ficheros que indican propiedades y configuraciones de los módulos usados por Entidades Financieras y Administraciones.
| Ficheros de configuración y propiedades | |
|---|---|
Ficheros de properties y classmap (Entorno de Pruebas) |
p12Config |
Existen dos posibilidades:
Por defecto, se colocarán bajo un directorio que esté en el classPath donde se crearán los directorios p12f, r01f, p12e.
Si se quiere cambiar el comportamiento por defecto se pueden usar variables del sistema en el arranque del Servidor de Aplciaciones:
Ejemplo 1: Modificar el patrón de carga vía classPath. Para este caso se usan dos variables de sistema.
-DEJIE_PROPERTY_LOADER=classPathLoader indica que se debe cargar de un directorio que esté en el classPath y DEJIE_PROPERTIES_PATTERN indica el patrón de la ruta en el que estará el directorio del classPath. Por ejemplo, si la ruta del classPath es D:/eadmin/config y el directorio del classPath está dentro de config se quedará como /p12d/p12/p12d.properties.xml.
Ejemplo 2: Modificar el patrón de carga vía ruta física. Se usan tres variables de sistema.
-DEJIE_PROPERTY_LOADER=fileLoader indica que se debe cargar de un directorio físico. -DEJIE_CONFIG_FILES_ROOT indica la ruta física de la cual se va a cargar el fichero, por ejemplo, D:/properties/config. -DEJIE_PROPERTIES_PATTERN indica el patrón de la ruta que sige dentro de ese directorio físico, siguiendo el ejemplo anterior sería /p12d/p12/p12d.properties.xml
Ficheros classMapSon ficheros que sirven para transformar de xml a objetos y viceversa.
classMap.xml
La ruta donde colocar los ficheros classMap se especificará en el fichero p12f.properties.xml, en el tag objectMapPath. Por ejemplo, /datosSoft/p12f/file/classMap.xml
Procesos de las entidades financieras
El procedimiento a implementar es el siguiente:
1. En la entrada de la entidad financiera (por ejemplo, EFServlet) instanciar una clase que implemente el interfaz FinantialOrgFunctions y que contiene la lógica propia de la entidad financiera.
// Se instancia la clase que implementa la logica de la entidad financiera
FinantialOrgFunctions foFunctions = new FinantialOrgFunctionsImpl();
2. En el punto de recepción de pagos desde la pasarela, se recibe el XML con el lote de pagos y se inicializa la clase EFClass
// Al hacer esto, automáticamente, la clase EF solicita la validación del pago contra la Pasarela del Gobierno
FClass ef = new EFClass(foFunctions);3. La clase EFClass internamente realiza las dos siguientes tareas:
4. Redirigir a la página de login de la aplicación de la EntidadFinanciera, implementando el método abstracto doRedirectClient de la clase que implementada por la EntidadFinanciera FinantialOrgFunctions.
Para implementar este método en la clase foFunctions se puede utilizar la clase auxiliar p12e.exe.pasarelaPagos.redirection.ClientRedirector que tiene varios métodos de redirigir al login:
5. En la página de login se accede a la banca electrónica y comienza el pago del lote, para lo cual se recuperan los datos (clase ef), bien de la sesion, de la request o se reconstruyen de un parámetro (dependiendo de la forma en la que se ha hecho la redirección).
6. Servicio de Pago, por ejemplo, obtener de nuevo la instancia de la clase EFClass e ir haciendo cada uno de los pagos en el host y actualizando el estado del mismo en la clase ef :
// Método 1: Redirección de servidor utilizando session.
En la llamada a setPaymentData se puso en session el objeto EFClass -HttpSession session = request.getSession(); EFClass ef = (EFClass)session.getAttribute(SessionAttrs.EFCLASS);// Método 2: Redirección de servidor sin utilizar session. En la llamada a setPaymentData se puso en la request el objeto EFClass
EFClass ef = (EFClass)request.getAttribute(RequestAttrs.EFCLASS);// Método 3: Redirección de servidor a través del cliente. Se utilizó una redirección de cliente para llegar a esta página. En la redirección se pasaron como parámetro los XML y ahora hay que obtener de nuevo los objetos.
String paymentDataXML = request.getParameter(RequestParams.PAYMENT_DATA); String presentationDataXML = request.getParameter(RequestParams.PRESENTATION_DATA); String protocolDataXML = request.getParameter(RequestParams.PROTOCOL_DATA); EFClass ef = new EFClass(paymentDataXML, presentationDataXML, protocolDataXML);Una vez obtenido la EFClass por cualquiera de los tres métodos, se recorre el lote de pagos , y por cada pago:
// Consultar Ejemplo Completo
PaymentData paymentData = ef.getPaymentData();7. Devolver el resultado a la Pasarela de Pagos.

Las llamadas a los métodos de la interfaz GatewayAPI en la parte de la entidad financiera se transforman en llamadas XML - RPC que se ejecutarán en la parte de la Pasarela de Pagos.
Para posibilitar esta comunicación es neceasario:
Se deber verificar que desde el servidor donde esté implantado el módulo de la entidad financiera se tenga acceso (post via HttpConnection) hacia el servlet encargado de la escucha de peticiones XML - RPC: https://mipago.sandbox.euskadi.eus/p12jWar/p12jRPCDistpacherServlet
Una vez asegurada la posibiliad de conexión con el RPCDistpacherServlet se debe indicar donde está la ruta de los ficheros de mapeo: xoMapFil
<businessDelegatesConfig> <businessDelegate oid='gateway'> <bzdType>RPCServlet</bzdType> <bzdClass>p12e.exe.pasarelapagos.gatewayclient.GatewayBzd</bzdClass> <bzdRemote> <rpcServlet>https://mipago.sandbox.euskadi.eus/p12jWar/p12jRPCDistpacherServlet</rpcServlet> <module>IG</module> <xoMapFile>/datos/p12f/file/classMap.xml</xoMapFile> //Indicar la ruta del fichero de mapeo </bzdRemote> </businessDelegate> </businessDelegatesConfig>