Generación de HMAC
Esta página guía la implementación del cálculo de HMAC para el acceso a nuestras API. HMAC es una nueva capa de seguridad que garantiza la correcta identificación del llamante.
Básicamente, esta capa funciona incluyendo una firma electrónica en las llamadas. Nuestras API, al recibir la llamada, recalcularán la misma firma y la compararán con la firma enviada.
#
RequisitosNecesitará la siguiente información, que normalmente ya se utiliza en llamadas sin esta capa de autenticación:
- Clave API: Su identificación como cliente. Su código de cliente o ID de comercio.
- Clave secreta: Su clave de seguridad. En llamadas sin esta capa, se envía como Clave de comercio. En llamadas con HMAC, esta información nunca se envía. Solo participa en el cálculo.
#
Adaptación de las llamadasLos ejemplos a continuación se comportarán de la misma manera que los ejemplos mencionados en la página pagemento.
Considere una llamada simple como la que se ilustra a continuación:
Hagamos los siguientes cambios para que sea compatible con la nueva capa de seguridad.
- Paso 1: Coloque el siguiente script en su Postsman como prerrequisito:
- Paso 2: Establezca las siguientes variables de encabezado en Postman:
Parámetro | Descripción | Formato | Obligatorio |
---|---|---|---|
Content-Type | Debe enviarse con el valor application/json . | = 15 AN | SÍ |
merchant_id | Almacene el código en Carat. Los códigos de producción y certificación serán diferentes. | < 15 AN | SÍ |
merchant_key | Almacene la clave de autenticación en Carat. Las claves de producción y certificación serán diferentes. | < 80 AN | SÍ |
Auth-Token-Type | Identificación del tipo de autenticación utilizado en la llamada. En este caso, HMAC | < 10 AN | SÍ |
Authorization | Resultado generado en la rutina JavaScript del paso 1. En Postman, {Authorization} se puede usar para obtener la variable de entorno creada por el script | < 250 AN | |
Timestamp | Debe contener la representación numérica de la fecha y la hora. En Postman, {time} se puede usar para obtener la variable de entorno creada por el script | < 15 N | SÍ |
Client-Request-Id | Este campo contendrá un número único generado que se propagará a lo largo de la transacción. | < 100 N | SÍ |
api-key | Contendrá su clave de acceso mediante HMAC. Fiserv debería proporcionar esto. | < 100 N | SÍ |
- Paso 3: Ejecutar la llamada:
Tras ejecutar la llamada, el curl generado sería similar al siguiente:
El ejemplo anterior se comportará igual que las demás llamadas en la página payment.