Calcular la firma
Para poder calcular el valor del campo firma debe disponer:
- de los campos cuyos nombres comienzan con vads_;
- del tipo de algoritmo elegido en la configuración de la tienda;
- de la clave.
El valor de la clave está disponible en el Back Office Vendedor en el menú Configuración > Tienda > pestaña Clave(s).
El tipo de algoritmo se define en su Back Office Vendedor en el menú Configuración > Tienda > pestaña Configuración.
Atención: No debe utilizar las claves de API REST para calcular la firma de su formulario de pago.
Solo el algoritmo HMAC-SHA-256 se implementa en nuestro ejemplo de código.
Para calcular la firma:
- Ordene los campos cuyo nombre comienza con vads_ en orden alfabético.
- Asegúrese de que todos los campos estén codificados en UTF-8.
- Concatene los valores de estos campos separándolos con el carácter "+".
- Concatene el resultado con la clave de prueba o de producción separándolos con el carácter "+".
- Calcule y codifique en formato Base64 la firma usando el algoritmo HMAC-SHA-256 con los siguientes parámetros:
- la función hash SHA-256,
- la clave de prueba o de producción (según el valor del campo vads_ctx_mode) como clave compartida,
- el resultado del paso anterior como mensaje a autenticar.
- Guarde el resultado del paso anterior en el campo signature.
Ejemplo de parámetros enviados a la plataforma de pago:
<form method="POST" action="https://secure.cobroinmediato.tech/vads-payment/entry.silentInit.a"> <input type="hidden" name="vads_action_mode" value="INTERACTIVE" /> <input type="hidden" name="vads_amount" value="5124" /> <input type="hidden" name="vads_ctx_mode" value="TEST" /> <input type="hidden" name="vads_currency" value="840" /> <input type="hidden" name="vads_page_action" value="PAYMENT" /> <input type="hidden" name="vads_payment_config" value="SINGLE" /> <input type="hidden" name="vads_site_id" value="12345678" /> <input type="hidden" name="vads_trans_date" value="20170129130025" /> <input type="hidden" name="vads_trans_id" value="123456" /> <input type="hidden" name="vads_version" value="V2" /> <input type="hidden" name="signature" value="92dec271594ddef9842a33340ffc8532ac5a3a44"/> <input type="submit" name="pagar" value="Pagar"/> </form>
Este ejemplo de formulario se desglosa de la siguiente manera:
- Se organizan en orden alfabética los campos cuyo nombre comienza con vads_ :
- vads_action_mode
- vads_amount
- vads_ctx_mode
- vads_currency
- vads_page_action
- vads_payment_config
- vads_site_id
- vads_trans_date
- vads_trans_id
- vads_version
- Se concatena el valor de estos campos con el carácter "+" :
INTERACTIVE+5124+TEST+840+PAYMENT+SINGLE+12345678+20170129130025+123456+V2
- Se agrega el valor de la clave de prueba al final del string, separado por el carácter "+". En este ejemplo, la clave de prueba es 1122334455667788
INTERACTIVE+5124+TEST+840+PAYMENT+SINGLE+12345678+20170129130025+123456+V2+1122334455667788
- Calcule y codifique en formato Base64 la firma del mensaje usando el algoritmo HMAC-SHA-256 con los siguientes parámetros:
- la función hash SHA-256,
- la clave de prueba o de producción (según el valor del campo vads_ctx_mode) como clave compartida,
- el resultado del paso anterior como mensaje a autenticar.
El resultado a transmitir en el campo firma es:
EKrcj4e8N38LGCP/xkJMaHUajUfvsRG50mDwYLNBsMU=