Crear una TPV Virtual (pasarela de pago)
Hoy os voy a comentar como crear una pequeña aplicación para integrarla con una TPV.
La integración está hecha con la tpv de 4B, pero os podrá servir de ejemplo para otras tantas.
Este programa genera un XML y lo envía a un servidor tpv del cual esperamos respuesta. En primer lugar recibe los parámetros
de nuestra aplicación, genera con ellos dicho XML y posteriormente lo envía. La parte más dificil puede ser la
implementación de la función hash. Una función hash es un método para generar claves o llaves que representen de manera
casi unívoca a un documento, registro, archivo, etc..
Recibimos los parámetros
/* @author deckerix @jsp java class implementar tpv virtual */ package tpv; public class GestionConexion { public static void main(String args[] ){ String URL = "https://entrada.4b.es/PPI/PPIXMLServer"; String PAN = "xxxxxxxxxx"; //numero de tarjeta String IMPORTE = "1"; String MONEDA = "978"; String USUARIO = "PIxxxxxxx"; String COMERCIO_PUC = "xxxxxx"; String IP = "xxx.xxx.xxx.xxx"; //nuestra ip de salida String IdComercioPPI = "PIxxxxxxxx"; //nuestro codigo de comercio String referencia = "1"; String fechaHora = "20080820114251"; String fechaCaducidad = "1009"; String formaDePago = "999"; /*Generacion del hash*/ String concatenacion = PAN + IMPORTE + MONEDA + USUARIO + COMERCIO_PUC + IP; String hashGenerado = Hash.generarHash4B(concatenacion); |
Generamos el XML
String xml = "<!--?xml version='1.0' encoding='ISO-8859-1'?-->" +"" + "" + ""+IdComercioPPI+"" + ""+referencia+"" + ""+fechaHora+"" + ""+PAN+"" + ""+fechaCaducidad+"" + ""+IMPORTE+"" + ""+MONEDA+"" + ""+formaDePago+"" + ""+USUARIO+"" + ""+hashGenerado+"" + "" + ""; |
Mandamos el XML
/*Imprimimos el XML que mandamos*/ System.out.println(xml); try { byte[] res = Conexion.OpenHttpRequest(URL, "POST", "application/xml", xml.getBytes()); /*Imprimimos la respuesta*/ System.out.println(new String(res)); } catch (Exception ex) { ex.printStackTrace(); } } //fin main |
El código entero os lo podeis descargar de aquí
Buenas, aún dispones del código, estoy intentando hacer la misma integración pero por algún motivo siempre me devuelve un error de configuración.
Creo que se debe al valor del Comercio_PUC que no tengo muy claro que es.
Si pudiera responderme se lo agradecería muchisimo
Corregido!!