Generación de QR para pagos

Los QR de pago y transferencia en Criptoladrillo contienen un JSON con el siguiente esquema

Key
Nombre
Tipo
Descripción
Requerido

a

Amount

Number

Monto con hasta 18 decimales

c

Currency

String

Moneda en la que se expresa el monto, actualmente soportamos CLAD

d

Destination

String

ID del receptor, cada proveedor tendrá el suyo

i

Internal ID

String

Aquí se podrá un identificador interno de la operación. Este valor se informará en el llamado al WebHook al finalizar el proceso

Ejemplo:

{
    "a": 23.4055,
    "c": "CLAD",
    "d": "DLtI3g1m2dmFlvMUpUCu",
    "i": "459"
}

El usuario escaneará este QR y cuando finalice el pago se llamará al Webhook definido por el proveedor. El llamado al WebHook se hará con un método POST y con el siguiente payload.

Nombre
Descripción
Tipo

operation_id

Hash del Identificador de la operación dentro del sistema

String

amount

Monto con hasta 18 decimales

Number

currency

Moneda en la que se expresa el monto, actualmente soportamos CLAD

String

destination

ID del receptor, cada proveedor tendrá el suyo

String

internal_id

Valor del internal_id especificado en el código QR para identificar la operación.

String

transaction_hash

Hash de la transacción en la blockchain

String

Ejemplo:

{
    "operation_id": "503d7cde08565628b21928d054b107310694a006d66a85577ecbcdc913dc76f9",
    "amount": 23.4055,
    "currency": "CLAD",
    "destination": "DLtI3g1m2dmFlvMUpUCu",
    "internal_id": "459",
    "transaction_hash": "0x520d5ea81ce9892cff86fee5b09fc5882ba40351377ecedd4898027010d66fce"
}

Verificación de los eventos enviados por Criptoladrillo a los webhooks

Criptoladrillo firma los eventos de webhooks enviados a los endpoints incluyendo una signature en el header Criptoladrillo-Signature. Esto le permite verificar que el evento fue enviado por Criptoladrillo y no por un tercero.

Para verificar las firma necesita una clave secreta que nosotros habremos generado y enviado previamente.

El header es de la forma:

Criptoladrillo-Signature:v0=[SIGNATURE]

Ejemplo:

Criptoladrillo-Signature:v0=6ffbb59b2300aae63f272406069a9788598b792a944a07aba816edb039989a39

Criptoladrilo genera las firmas usando un mensaje de autenticación basado en hash (HMAC) con SHA-256

Pasos para verificar la firma:

  1. Obtener el signed_payload que es request body en JSON

  2. Determinar la firma esperada, computando HMAC con una función hash SHA256, usando su clave secreta como la key, y signed_payload como el mensaje.

  3. Comparar el resultado con la firma enviada en el header, la cadena de texto que sigue a v0= que deberían ser idénticas.

Última actualización