{"_id":"@arkaxapp/payments-js","_rev":"5-735ab67d9070b8dcef66fd28bd3afcd5","name":"@arkaxapp/payments-js","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.0":{"name":"@arkaxapp/payments-js","version":"1.0.0","keywords":["arkax","payments","checkout","card-payments","iframe","typescript"],"author":{"name":"Arkax"},"license":"MIT","_id":"@arkaxapp/payments-js@1.0.0","maintainers":[{"name":"gbernal","email":"giovas94@gmail.com"}],"homepage":"https://checkout.arkax.app/docs","bugs":{"url":"https://github.com/2dine/arkax-card-payments/issues"},"dist":{"shasum":"afe71005eec479eb1db101a2988dc7ec8eb551d2","tarball":"https://registry.npmjs.org/@arkaxapp/payments-js/-/payments-js-1.0.0.tgz","fileCount":5,"integrity":"sha512-4L651glfBY6gAD/VVz7D+iimSkhZ3gmxCrbaatnyyfKch1fJTgr1oTxar5IpvDBrGOtcx37ERycB8HeorIhQgg==","signatures":[{"sig":"MEUCIQCUZJBjWwTYlKbfi6de3Stqtn7PKY32f/CAAr09Md0AiQIgb7Z8qRRdBuh1F4K9Kg3SUcvWHuDS5I+a3DMO1NgHqY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10927},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1315cf61c9e5608606d9fc2ccf162b7050873586","scripts":{"build":"tsc -p tsconfig.json","check":"npm run build && npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"gbernal","email":"giovas94@gmail.com"},"repository":{"url":"git+https://github.com/2dine/arkax-card-payments.git","type":"git","directory":"packages/payments-js"},"_npmVersion":"10.9.2","description":"SDK oficial para integrar el checkout alojado de Arkax Payments","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/payments-js_1.0.0_1786654941919_0.038635269002638806","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@arkaxapp/payments-js","version":"1.0.1","keywords":["arkax","payments","checkout","card-payments","iframe","typescript"],"author":{"name":"Arkax"},"license":"MIT","_id":"@arkaxapp/payments-js@1.0.1","maintainers":[{"name":"gbernal","email":"giovas94@gmail.com"}],"homepage":"https://checkout.arkax.app/docs","bugs":{"url":"https://github.com/2dine/arkax-card-payments/issues"},"dist":{"shasum":"89c7cb53cb2a175d9bb7ff200eba1df47a1c7f1e","tarball":"https://registry.npmjs.org/@arkaxapp/payments-js/-/payments-js-1.0.1.tgz","fileCount":5,"integrity":"sha512-8FPDoYt4PlJht7/tPqJbw4HaYM6/B0Nw18xKuuNOW5utkj+iO9TXZMZHnFfcNxY1obluzG9Iktq/735V71XWbA==","signatures":[{"sig":"MEYCIQDjVaB/44jMMtqE52qknWhN4d2lgZbSFcFrl/SQdWIMqgIhANqFxcad3Z9h7iIjqNsgk9PId8ZkwCrOBJqbAUMX+1s+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12664},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"921a2a2457cb23d8a1b954c4094f01b0801ecbf8","scripts":{"build":"tsc -p tsconfig.json","check":"npm run build && npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"gbernal","email":"giovas94@gmail.com"},"repository":{"url":"git+https://github.com/2dine/arkax-card-payments.git","type":"git","directory":"packages/payments-js"},"_npmVersion":"10.9.2","description":"SDK oficial para integrar el checkout alojado de Arkax Payments","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/payments-js_1.0.1_1786718185505_0.9520126977832335","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arkaxapp/payments-js","version":"1.1.0","keywords":["arkax","payments","checkout","card-payments","iframe","typescript"],"author":{"name":"Arkax"},"license":"MIT","_id":"@arkaxapp/payments-js@1.1.0","maintainers":[{"name":"gbernal","email":"giovas94@gmail.com"}],"homepage":"https://checkout.arkax.app/docs","bugs":{"url":"https://github.com/2dine/arkax-card-payments/issues"},"dist":{"shasum":"a620bad6d2fb6fa2f9b9873b7d8fc0059912a7f5","tarball":"https://registry.npmjs.org/@arkaxapp/payments-js/-/payments-js-1.1.0.tgz","fileCount":5,"integrity":"sha512-zPb4SLWLhknGk1mOBUHrjzbGPXaQhE8mJ4OtN9VYJAyuU6cZ9Tfje7LINcvaMJXh8XZoYYagIubu2NamsIkWYg==","signatures":[{"sig":"MEUCIFCHckaIk6G57K0uayiCFKkTHui7UNj+Ly0rTSkoEasLAiEA8lbO+MEj+Q22Vpt5gQpAqsRdEeQIRR2aoGxyDutVr8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13262},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c21521ff1b3b635d09e6fa4a348c830cd194c02c","scripts":{"build":"tsc -p tsconfig.json","check":"npm run build && npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"gbernal","email":"giovas94@gmail.com"},"repository":{"url":"git+https://github.com/2dine/arkax-card-payments.git","type":"git","directory":"packages/payments-js"},"_npmVersion":"10.9.2","description":"SDK oficial para integrar el checkout alojado de Arkax Payments","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/payments-js_1.1.0_1786723745992_0.025278881679006604","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@arkaxapp/payments-js","version":"1.1.1","keywords":["arkax","payments","checkout","card-payments","iframe","typescript"],"author":{"name":"Arkax"},"license":"MIT","_id":"@arkaxapp/payments-js@1.1.1","maintainers":[{"name":"gbernal","email":"giovas94@gmail.com"}],"homepage":"https://checkout.arkax.app/docs","bugs":{"url":"https://github.com/2dine/arkax-card-payments/issues"},"dist":{"shasum":"d9902dd85a63211350cea85f5dd302e9d6f1ad48","tarball":"https://registry.npmjs.org/@arkaxapp/payments-js/-/payments-js-1.1.1.tgz","fileCount":5,"integrity":"sha512-wxIfxrQqS+4U7cbQd894s0iOTJ3rx1uWEYCIl15JK7AHR6L3cBrCKsgqtUlM5q7wm8/gyClJyoo7o5WrgRuImw==","signatures":[{"sig":"MEUCIQCBI3l5i5h1usjEBsBKLftMegJATOQltznvb7PDcj0JcwIgM/RDzDIDQO037DnhFf1tR1UMhfmxMPbUEReoF5rnS3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13309},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5cdaa22a5629c9c4413ac3e6eb4acc0622311867","scripts":{"build":"tsc -p tsconfig.json","check":"npm run build && npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"gbernal","email":"giovas94@gmail.com"},"repository":{"url":"git+https://github.com/2dine/arkax-card-payments.git","type":"git","directory":"packages/payments-js"},"_npmVersion":"10.9.2","description":"SDK oficial para integrar el checkout alojado de Arkax Payments","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/payments-js_1.1.1_1786985963133_0.06869805828409703","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@arkaxapp/payments-js","version":"1.1.2","description":"SDK oficial para integrar el checkout alojado de Arkax Payments","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"sideEffects":false,"publishConfig":{"access":"public"},"scripts":{"build":"tsc -p tsconfig.json","check":"npm run build && npm pack --dry-run","prepublishOnly":"npm run build"},"devDependencies":{"typescript":"^5.9.3"},"license":"MIT","author":{"name":"Arkax"},"homepage":"https://checkout.arkax.app/docs","repository":{"type":"git","url":"git+https://github.com/2dine/arkax-card-payments.git","directory":"packages/payments-js"},"bugs":{"url":"https://github.com/2dine/arkax-card-payments/issues"},"keywords":["arkax","payments","checkout","card-payments","iframe","typescript"],"_id":"@arkaxapp/payments-js@1.1.2","gitHead":"35466a32a807d01839e5323d9422e91c1772b9c4","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-lmGNNf+/GC5xOHW7y9vUdKIyUAw2YVwsl1UXVGoGzMcV3qkm9Yt/kJx0SqH/dvKXw0msLQXp3tYNoT3iQ+lh1Q==","shasum":"baad29ddd0a061834b3b9b777e6c03d51faacc99","tarball":"https://registry.npmjs.org/@arkaxapp/payments-js/-/payments-js-1.1.2.tgz","fileCount":5,"unpackedSize":13516,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDzOhwCYlN+ndNOHB1ItMUYMqN9fi5Zt5tNGs2fgR3M8QIgK6krSHxy/2X+ebqDbxxBSFuc60XFP8KrDy3BpoTxcbw="}]},"_npmUser":{"name":"gbernal","email":"giovas94@gmail.com"},"directories":{},"maintainers":[{"name":"gbernal","email":"giovas94@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/payments-js_1.1.2_1787910291435_0.6266088614181662"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-13T21:02:21.636Z","modified":"2026-08-28T09:44:51.758Z","1.0.0":"2026-08-13T21:02:22.080Z","1.0.1":"2026-08-14T14:36:25.659Z","1.1.0":"2026-08-14T16:09:06.137Z","1.1.1":"2026-08-17T16:59:23.314Z","1.1.2":"2026-08-28T09:44:51.578Z"},"bugs":{"url":"https://github.com/2dine/arkax-card-payments/issues"},"author":{"name":"Arkax"},"license":"MIT","homepage":"https://checkout.arkax.app/docs","keywords":["arkax","payments","checkout","card-payments","iframe","typescript"],"repository":{"type":"git","url":"git+https://github.com/2dine/arkax-card-payments.git","directory":"packages/payments-js"},"description":"SDK oficial para integrar el checkout alojado de Arkax Payments","maintainers":[{"name":"gbernal","email":"giovas94@gmail.com"}],"readme":"# `@arkaxapp/payments-js`\n\nSDK oficial, tipado y sin dependencias para integrar el checkout alojado de Arkax Payments mediante un `iframe` embebido o un modal.\n\nLa API key permanece siempre en el servidor del comercio. El navegador recibe únicamente el `client_secret` efímero devuelto al crear una sesión de pago.\n\n## Instalación\n\n```bash\nnpm install @arkaxapp/payments-js\n```\n\n## Antes de montar el checkout\n\nCrea la sesión desde tu backend. Nunca expongas `ARKAX_API_KEY` en el navegador:\n\n```ts\nconst response = await fetch(\"https://checkout.arkax.app/v1/payment-sessions\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.ARKAX_API_KEY}`,\n    \"Idempotency-Key\": order.id,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({\n    amount: 20100,\n    currency: \"484\",\n    reference: order.id,\n    metadata: {\n      customer_id: customer.id,\n      internal_order_id: order.id,\n    },\n    customer: {\n      email: customer.email,\n      first_name: customer.firstName,\n      last_name: customer.lastName,\n    },\n    return_url: \"https://comercio.example/pago/resultado\",\n    allowed_origin: \"https://comercio.example\",\n  }),\n});\n\nconst session = await response.json();\n```\n\nLos importes de la API usan unidades menores: `20100` representa MXN 201.00.\n\n## Modo prueba\n\nUsa el mismo `baseUrl` de producción con una API key `akx_test_...` al crear la sesión. Arkax selecciona automáticamente el simulador; nunca contacta al procesador ni mueve dinero. Los pagos devuelven `livemode: false` y permanecen aislados de los recursos creados con `akx_live_...`.\n\n| Tarjeta | Resultado |\n| --- | --- |\n| `4242424242424242` | Aprobada |\n| `4000000000000002` | Rechazada |\n| `4000000000009995` | Fondos insuficientes |\n| `4000000000003220` | 3DS |\n| `4000000000000000` | `unknown` |\n\nUsa cualquier fecha futura y CVV de tres dígitos.\n\n`metadata` es un objeto JSON opcional que Arkax conserva en el pago y entrega mediante la API autenticada y los webhooks firmados. Admite hasta 50 claves y 8 KB; no se muestra al pagador.\n\n### Parámetros de la sesión\n\n| Campo | Tipo | Requerido | Validación |\n| --- | --- | --- | --- |\n| `amount` | `integer` | Sí | Centavos; actualmente MXN `20000`–`600000`. |\n| `currency` | `string` | No | Tres dígitos; default `\"484\"`. |\n| `reference` | `string` | Sí | 3–30 caracteres y única por intento. Usa `metadata` para IDs internos más largos. |\n| `metadata` | `Record<string, JSONValue>` | No | 50 claves y 8 KB máximo. |\n| `customer.email` | `string` | Sí | Email válido. |\n| `customer.first_name` | `string` | Sí | 1–80 caracteres. |\n| `customer.last_name` | `string` | Sí | 1–80 caracteres. |\n| `customer.phone` | `string` | No | 7–15 dígitos, con `+` inicial opcional. |\n| `return_url` | `string` URL | Sí | HTTPS de retorno. |\n| `allowed_origin` | `string` origin | Sí | Origen registrado exacto, sin path. |\n| `expires_in` | `integer` | No | 300–86400 segundos; default 1800. |\n\nTodas las mutaciones requieren un `Idempotency-Key` no vacío de hasta 128 caracteres. Reutiliza la misma clave únicamente para reintentar el mismo body.\n\nLa respuesta contiene `{ id, object, client_secret, checkout_url, expires_at, payment }`. Conserva `payment.id` en tu backend y confirma su estado con `GET /v1/payments/{paymentId}` o un webhook firmado. Después del intento, `payment.card_brand` y `payment.card_last_four` permiten conciliar la tarjeta sin exponer el PAN completo ni el CVV.\n\n## Checkout embebido\n\n```ts\nimport { mount } from \"@arkaxapp/payments-js\";\n\nconst checkout = mount({\n  container: \"#arkax-checkout\",\n  baseUrl: \"https://checkout.arkax.app\",\n  clientSecret: session.client_secret,\n  onReady() {\n    console.log(\"Checkout listo\");\n  },\n  onResult(payment) {\n    console.log(payment.id, payment.status);\n  },\n  onError(error) {\n    console.error(error.message);\n  },\n});\n\n// Cuando ya no lo necesites:\ncheckout.destroy();\n```\n\n## Modal\n\n```ts\nimport { open } from \"@arkaxapp/payments-js\";\n\nconst modal = open({\n  baseUrl: \"https://checkout.arkax.app\",\n  clientSecret: session.client_secret,\n  onResult(payment) {\n    if (payment.status === \"approved\") {\n      modal.close();\n      window.location.assign(\"/pedido/confirmado\");\n    }\n  },\n});\n```\n\n## Opciones\n\n- `clientSecret`: secreto público y efímero de la sesión.\n- `baseUrl`: `https://checkout.arkax.app` en producción.\n- `container`: selector CSS o elemento HTML; requerido únicamente por `mount`.\n- `title`: título accesible del checkout.\n- `height`: altura inicial del iframe; se actualiza automáticamente.\n- `borderRadius`: radio visual del iframe.\n- `closeOnEscape`: permite cerrar el modal con Escape; predeterminado `true`.\n- `closeOnBackdrop`: permite cerrar al pulsar fuera del modal; predeterminado `true`.\n- `onReady`, `onResult`, `onError`, `onClose`: callbacks del ciclo de vida.\n\nEl SDK valida `event.origin` y `event.source` antes de aceptar mensajes. Confirma el resultado definitivo desde tu backend mediante `GET /v1/payments/{paymentId}` o webhooks firmados.\n\nReferencia completa de parámetros, estados, links, refunds, reversals, webhooks y errores: [checkout.arkax.app/docs](https://checkout.arkax.app/docs) y [OpenAPI 1.3.1](https://checkout.arkax.app/openapi.json).\n","readmeFilename":"README.md"}