La forma más sólida de comprobar un recibo de Trustvice es con código que controlas, en una máquina que controlas, contra claves que fijaste tú. Este artículo construye ese verificador desde cero. Al final tendrás un único módulo de JavaScript sin dependencias, un vector de prueba que demuestra que funciona y una lista de casos que demuestran que falla cuando debe.
Qué necesitas#
Node 20 o posterior, o cualquier runtime cuyo crypto.subtle admita Ed25519: los navegadores actuales, Deno, Bun y Cloudflare Workers sirven. No hay paquete que instalar. Tampoco necesitas una cuenta de Trustvice: el vector de prueba de abajo está firmado con una clave desechable generada para este artículo.
Paso 1: guarda el vector de prueba#
Guarda esto como receipt.json. Es un recibo de prueba firmado con esa clave desechable. Su body es solo ilustrativo; lo que importa es que está firmado de verdad.
{
"version": "1",
"receiptId": "01JTEST0000000000000000000",
"issuedAt": "2026-10-01T00:00:00.000Z",
"type": "example.receipt",
"signatureKeyId": "LfPAIisXFvNmFhD6vBQbBw",
"body": {
"type": "example.receipt",
"contentSha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
: ,
:
},
:
}
