No mostrar más este mensaje

ecommerce

Pago con Referencia 

 

La firma electrónica del comercio, en las peticiones 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_MERCHANTURL + DS_MERCHANT_TRANSACTIONTYPE + DS_MERCHANT_IDENTIFIER + DS_MERCHANT_GROUP + DS_MERCHANT_DIRECTPAYMENT + CLAVE SECRETA

Para ello usaremos el siguiente método:

public static String getFirmaWebServicePagoReferencia(Double importe, 
                                                      String pedido, 
                                                      String comercio, 
                                                      String moneda, 
                                                      String tipoTransaccion, 
                                                      String url, 
                                                      String identificador, 
                                                      String group, 
                                                      String directPayment, 
                                                      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, url);
        appendNoNull(firma, tipoTransaccion);
        appendNoNull(firma, identificador);
        appendNoNull(firma, group);
        appendNoNull(firma, directPayment);
        appendNoNull(firma, claveSecreta);

        return getHash(firma.toString());
    }