Generación de QR para pagos
Los QR de pago y transferencia en Criptoladrillo contienen un JSON con el siguiente esquema
a
Amount
Monto con hasta 18 decimales
c
Currency
Moneda en la que se expresa el monto, actualmente soportamos CLAD
d
Destination
ID del receptor, cada proveedor tendrá el suyo
i
Internal ID
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.
operation_id
Hash del Identificador de la operación dentro del sistema
amount
Monto con hasta 18 decimales
currency
Moneda en la que se expresa el monto, actualmente soportamos CLAD
destination
ID del receptor, cada proveedor tendrá el suyo
internal_id
Valor del internal_id especificado en el código QR para identificar la operación.
transaction_hash
Hash de la transacción en la blockchain
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=6ffbb59b2300aae63f272406069a9788598b792a944a07aba816edb039989a39Criptoladrilo genera las firmas usando un mensaje de autenticación basado en hash (HMAC) con SHA-256
Pasos para verificar la firma:
Obtener el
signed_payloadque es request body en JSONDeterminar la firma esperada, computando HMAC con una función hash SHA256, usando su clave secreta como la key, y
signed_payloadcomo el mensaje.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