jgs1038 / GESPRO_Practica_2_Curso_2024_2025

Repositorio GESPRO para la práctica 2. Curso 2024-2025
0 stars 0 forks source link

Manage from Android Device #9

Open jgs1038 opened 1 week ago

lbr1014 commented 1 week ago

Debemos hacer que Bizum funcione en Android

jgs1038 commented 1 week ago

public class BizumPayment {

// Configuración del comercio (debes obtener estos valores de Redsys)
private static final String FUC = "XXXXXXXX";
private static final String TERMINAL = "XXXXXXXX";
private static final String CURRENCY = "978"; // Código ISO para EUR
private static final String TRANSACTION_TYPE = "0"; // Compra normal
private static final String MERCHANT_SECRET = "clave_secreta_proporcionada_por_redsys";

public static void main(String[] args) {
    try {
        String orderId = "000001"; // Genera un número de pedido único para cada transacción
        String amount = "1000"; // El monto en céntimos (por ejemplo, 10 EUR -> 1000)
        String merchantURL = "https://tu-sitio.com/pago-respuesta";
        String urlBizum = "https://sis-t.redsys.es:25443/sis/realizarPago"; // URL de Redsys para pruebas

        // Crea los datos de pago
        Map<String, String> datosPago = new HashMap<>();
        datosPago.put("DS_MERCHANT_AMOUNT", amount);
        datosPago.put("DS_MERCHANT_ORDER", orderId);
        datosPago.put("DS_MERCHANT_MERCHANTCODE", FUC);
        datosPago.put("DS_MERCHANT_CURRENCY", CURRENCY);
        datosPago.put("DS_MERCHANT_TERMINAL", TERMINAL);
        datosPago.put("DS_MERCHANT_TRANSACTIONTYPE", TRANSACTION_TYPE);
        datosPago.put("DS_MERCHANT_MERCHANTURL", merchantURL);
        datosPago.put("DS_MERCHANT_PAYMETHODS", "z"); // "z" para indicar pago con Bizum

        // Genera la firma
        String signature = generarFirma(datosPago, MERCHANT_SECRET);
        datosPago.put("DS_MERCHANT_MERCHANTSIGNATURE", signature);

`

Algo como esto sería adecuado para comenzar