No mostrar más este mensaje

ecommerce

XML Directo 

 

Se dotará al comercio de una clave, que se utilizará para firmar los datos aportados por el mismo, pudiendo verificarse no solo la identificación del comercio, sino que los datos no han sido alterados en ningún momento. Se utilizará como algoritmo de securización el Hash SHA-1, que garantiza los requisitos mínimos de seguridad en cuanto a la autenticación del origen. La clave se proporcionará para ser incluida en la web del comercio.

Este mismo algoritmo se utilizará para asegurar al comercio la autenticidad de los datos de la respuesta, en caso de que se proporcione URL de notificación por parte del comercio.

La firma electrónica del comercio se deberá calcular de la forma siguiente:

DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_CURRENCY + DS_MERCHANT_PAN + DS_MERCHANT_URL + DS_MERCHANT_CVV2 + DS_MERCHANT_SUMTOTAL + DS_MERCHANT_TRANSACTIONTYPE + CLAVE SECRETA

Para ello usaremos el siguiente método:

public static String getFirmaHostToHost(Double importe, 
                                        String pedido, 
                                        String comercio, 
                                        String moneda, 
                                        String tarjeta, 
                                        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, cvv2);
        appendNoNull(firma, tipoTransaccion);
        appendNoNull(firma, claveSecreta);

        return getHash(firma.toString());
    }