No mostrar más este mensaje

ecommerce

Pago con Referencia  (petición inicial)

 

La firma electrónica del comercio, en la petición inicial del Pago con Referencia al TPV Virtual WebService, se deberá calcular concatenando el valor de los siguientes campos (salvo que sea alguno de valor nulo en cuyo caso no se considerará en la firma) incluyendo al final la clave secreta de encriptación:

DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_CURRENCY + DS_MERCHANT_PAN + DS_MERCHANT_MERCHANTURL + DS_MERCHANT_CVV2 + DS_MERCHANT_TRANSACTIONTYPE + DS_MERCHANT_IDENTIFIER + DS_MERCHANT_GROUP + CLAVE SECRETA

Para ello usaremos el siguiente método:

public static String getFirmaWebServicePagoReferenciaNueva(Double importe, 
                                                           String pedido, 
                                                           String comercio, 
                                                           String moneda, 
                                                           String tarjeta, 
                                                           String url, 
                                                           String cvv2,
                                                           String tipoTransaccion, 
                                                           String claveSecreta) 
                                                           throws NoSuchAlgorithmException {

        Integer importeFinal = (int) (importe * 100);

        StringBuilder firma = new StringBuilder();

        firma.append(importeFinal);
        appendNoNull(firma, pedido);
        appendNoNull(firma, comercio);
        appendNoNull(firma, moneda);
        appendNoNull(firma, tarjeta);
        appendNoNull(firma, url);
        appendNoNull(firma, cvv2);
        appendNoNull(firma, tipoTransaccion);
        appendNoNull(firma, "REQUIRED");
        appendNoNull(firma, claveSecreta);

        return getHash(firma.toString());
    }