{"_id":"@core-tecnologias-empresariales/core-billing","_rev":"5-d379543223988fa7d774070d12b508d9","name":"@core-tecnologias-empresariales/core-billing","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"@core-tecnologias-empresariales/core-billing","version":"0.1.0","license":"UNLICENSED","_id":"@core-tecnologias-empresariales/core-billing@0.1.0","maintainers":[{"name":"balamchac","email":"marcelosazop@gmail.com"}],"dist":{"shasum":"5d73ea257e4c28982ffe7293145ffc7fe0d7ed30","tarball":"https://registry.npmjs.org/@core-tecnologias-empresariales/core-billing/-/core-billing-0.1.0.tgz","fileCount":14,"integrity":"sha512-jO6+YjHs2PLF303D1pq336bPhfeivowdshG7fjXEH0lxye0mqFcH4ONMzPxW+3dW78Z/blWLe6/V7BXU27IKDA==","signatures":[{"sig":"MEUCIHXQKDSVbY4fWv7W75/02jk9X/XsaNCtDW7s3AIN074fAiEA4AJreKaRcOW6yhg6XtvbwaRrlGdtmV80IXPjYr9HTOM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9435},"main":"./dist/index.js","type":"module","_from":"file:core-tecnologias-empresariales-core-billing-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"test":"tsc -p tsconfig.json && node --test dist","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"balamchac","email":"marcelosazop@gmail.com"},"_resolved":"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\93b58aa6b635126bd524dec08d1671cc\\core-tecnologias-empresariales-core-billing-0.1.0.tgz","_integrity":"sha512-jO6+YjHs2PLF303D1pq336bPhfeivowdshG7fjXEH0lxye0mqFcH4ONMzPxW+3dW78Z/blWLe6/V7BXU27IKDA==","_npmVersion":"11.11.0","description":"SDK de comercio/facturación transversal — planes públicos y (a futuro) checkout Webpay — para que un landing/marketing site consuma el catálogo comercial de cualquier producto Core (CorePyme, Core Tributario, futuros) sin conocer su backend a mano.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@core-tecnologias-empresariales/core-http":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/core-billing_0.1.0_1788121616122_0.05515779253241537","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@core-tecnologias-empresariales/core-billing","version":"0.1.2","license":"UNLICENSED","_id":"@core-tecnologias-empresariales/core-billing@0.1.2","maintainers":[{"name":"balamchac","email":"marcelosazop@gmail.com"}],"dist":{"shasum":"a827fd1d1952446765d51cb583bbfa8469769e2d","tarball":"https://registry.npmjs.org/@core-tecnologias-empresariales/core-billing/-/core-billing-0.1.2.tgz","fileCount":14,"integrity":"sha512-r9jItxEaE+CfDoOrM8KJpsUVjUYKVebrEaPTUVsyXsso8vRxX5+JzAKCKtZylrZATjShvk/xXWpoudme1W0VSw==","signatures":[{"sig":"MEUCIQC1EGKmFh9q207XvHXEk4b0Ol+3zkC7a5faCgbxic/KXAIgOfmNmEN2mkPGRHvCvAUJwq4aCJZHyHkVxLTTqR/8Px4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD8ODFjJGo1ahiC5apCe/3LGy2BF1J8tNk0o4Fs5cUBxwIhANzNwuqUnx2XCJgh9CC2tV8/oQx44i6FUKbMescPcxpB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13648},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"test":"tsc -p tsconfig.json && node --test dist","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"balamchac","email":"marcelosazop@gmail.com"},"_npmVersion":"11.11.0","description":"SDK de comercio/facturación transversal — planes públicos y (a futuro) checkout Webpay — para que un landing/marketing site consuma el catálogo comercial de cualquier producto Core (CorePyme, Core Tributario, futuros) sin conocer su backend a mano.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@core-tecnologias-empresariales/core-http":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/core-billing_0.1.2_1788130485649_0.4811715346410086","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@core-tecnologias-empresariales/core-billing","version":"0.1.3","license":"UNLICENSED","_id":"@core-tecnologias-empresariales/core-billing@0.1.3","maintainers":[{"name":"balamchac","email":"marcelosazop@gmail.com"}],"dist":{"shasum":"16db37fef312bf5f6f480e49259219b40bf29b7e","tarball":"https://registry.npmjs.org/@core-tecnologias-empresariales/core-billing/-/core-billing-0.1.3.tgz","fileCount":14,"integrity":"sha512-q/lj4Me1IpsYZgPWyTZWBONKrIWCgmZ0CTfSvXYjUyZ3NMvS6r3zM8+6Jn4kbOQrRPLHvCcN3QgWBbAg+80TiQ==","signatures":[{"sig":"MEQCIGFinY8GPu0qVd8oNgj2pP0w2d0RFaEBqBFK0bEc9tcAAiAhbCTm0rxWN6fJi93WL35bPA5tMzTuz0wnkHGUchv2qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG2c17Rh1EvZKrpqb8c2+gmul2wKP1XxnACHaiGlN4fbAiEAu10xgSBqZEeYImSXJ9CW+qGenu8EVOfLJ4zsT8nafs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13649},"main":"./dist/index.js","type":"module","_from":"file:core-tecnologias-empresariales-core-billing-0.1.3.tgz","types":"./dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"test":"tsc -p tsconfig.json && node --test dist","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"balamchac","email":"marcelosazop@gmail.com"},"_resolved":"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\7f66a41cbac6b623b18d66f369a3f3a5\\core-tecnologias-empresariales-core-billing-0.1.3.tgz","_integrity":"sha512-q/lj4Me1IpsYZgPWyTZWBONKrIWCgmZ0CTfSvXYjUyZ3NMvS6r3zM8+6Jn4kbOQrRPLHvCcN3QgWBbAg+80TiQ==","_npmVersion":"11.11.0","description":"SDK de comercio/facturación transversal — planes públicos y (a futuro) checkout Webpay — para que un landing/marketing site consuma el catálogo comercial de cualquier producto Core (CorePyme, Core Tributario, futuros) sin conocer su backend a mano.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@core-tecnologias-empresariales/core-http":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/core-billing_0.1.3_1788130914256_0.036110516351884225","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@core-tecnologias-empresariales/core-billing","version":"0.1.5","license":"UNLICENSED","_id":"@core-tecnologias-empresariales/core-billing@0.1.5","maintainers":[{"name":"balamchac","email":"marcelosazop@gmail.com"}],"dist":{"shasum":"11c20461c1a87d43e6d00db2c22e48b24d189dbd","tarball":"https://registry.npmjs.org/@core-tecnologias-empresariales/core-billing/-/core-billing-0.1.5.tgz","fileCount":14,"integrity":"sha512-6JBkPFBCROFvrYeyrgq3cOdCuJlh4IfuODbsdcs0DW92v57rKr2JGwgsx63nuc8TXtGzwE/wpfDAj9bKuJkKdA==","signatures":[{"sig":"MEUCIHK2pdXKZN6gGkhdmmg+NCHrkTPGXidSLbnyhz8GUHtVAiEAzxHdz469UkyWzvbvzCJn2Hsy3yda01PnKs1ggIntWF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDuAz0qHrBZEZMfOQWiirQ2leS4gxapLEGUYIrnQwwhdgIhALKf68X7n6ABEbmdOC46r98kKSmCRRzZv696ME99PHqv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18681},"main":"./dist/index.js","type":"module","_from":"file:core-tecnologias-empresariales-core-billing-0.1.5.tgz","types":"./dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"test":"tsc -p tsconfig.json && node --test dist","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"balamchac","email":"marcelosazop@gmail.com"},"_resolved":"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\c49c597bfedb620ea196af5cd82f9227\\core-tecnologias-empresariales-core-billing-0.1.5.tgz","_integrity":"sha512-6JBkPFBCROFvrYeyrgq3cOdCuJlh4IfuODbsdcs0DW92v57rKr2JGwgsx63nuc8TXtGzwE/wpfDAj9bKuJkKdA==","_npmVersion":"11.11.0","description":"SDK de comercio/facturación transversal — planes públicos y (a futuro) checkout Webpay — para que un landing/marketing site consuma el catálogo comercial de cualquier producto Core (CorePyme, Core Tributario, futuros) sin conocer su backend a mano.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@core-tecnologias-empresariales/core-http":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/core-billing_0.1.5_1788134340941_0.37601434740782747","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"_id":"@core-tecnologias-empresariales/core-billing@0.1.6","dist":{"shasum":"d658daca1b9263c0529c619b5fe194267cb6a4a3","tarball":"https://registry.npmjs.org/@core-tecnologias-empresariales/core-billing/-/core-billing-0.1.6.tgz","fileCount":14,"integrity":"sha512-cIlJKJ7lD9V3tlevfCHgARG2VGaogFxgNtuZKUwjY2pLJpIY0koeAlJALRu8QZasqTcZruo/4LtJeqhrmO1xBg==","signatures":[{"sig":"MEQCIGrb8CrkEGYAqOFE+YsVdoWyuMYH8CFDZI1c3uS2VEeHAiBBeFy0wLmSy0CSzXGNJgORe0PSKyy1ZlUayKrxh5T+Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDHZZ+aYO9Az1Zy0YYqfSikBQpjYmZxqpkU53eXM5wqcAIgJ2FGN3OTqjcEGI2Z1spL4+EHNljX32a+BqYJRIhgw80="}],"unpackedSize":21725},"main":"./dist/index.js","name":"@core-tecnologias-empresariales/core-billing","type":"module","types":"./dist/index.d.ts","exports":{".":"./dist/index.js"},"license":"UNLICENSED","scripts":{"test":"tsc -p tsconfig.json && node --test dist","build":"tsc -p tsconfig.json"},"version":"0.1.6","_npmUser":{"name":"balamchac","email":"marcelosazop@gmail.com"},"_npmVersion":"11.11.0","description":"SDK de comercio/facturación transversal — planes públicos y (a futuro) checkout Webpay — para que un landing/marketing site consuma el catálogo comercial de cualquier producto Core (CorePyme, Core Tributario, futuros) sin conocer su backend a mano.","directories":{},"maintainers":[{"name":"balamchac","email":"marcelosazop@gmail.com"}],"_nodeVersion":"20.20.0","dependencies":{"@core-tecnologias-empresariales/core-http":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^20.14.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core-billing_0.1.6_1789163530171_0.3808164596751735"}}},"time":{"created":"2026-08-30T20:26:55.904Z","modified":"2026-09-11T21:52:10.500Z","0.1.0":"2026-08-30T20:26:56.259Z","0.1.2":"2026-08-30T22:54:45.726Z","0.1.3":"2026-08-30T23:01:54.346Z","0.1.5":"2026-08-30T23:59:01.072Z","0.1.6":"2026-09-11T21:52:10.266Z"},"license":"UNLICENSED","description":"SDK de comercio/facturación transversal — planes públicos y (a futuro) checkout Webpay — para que un landing/marketing site consuma el catálogo comercial de cualquier producto Core (CorePyme, Core Tributario, futuros) sin conocer su backend a mano.","maintainers":[{"name":"balamchac","email":"marcelosazop@gmail.com"}],"readme":"# @core-tecnologias-empresariales/core-billing\n\nSDK de comercio transversal — para que un landing/marketing site consuma el catálogo de planes\npúblicos de **cualquier producto Core** (CorePyme, Core Tributario, futuros) sin acoplarse a mano a\ncada backend.\n\n## Para qué sirve\n\nUn landing (ej. `corepyme.cl`, futuro `motortributario.cl`) necesita mostrar precios/planes\nreales, editables desde el panel SuperAdmin del producto correspondiente — nunca hardcodeados en el\nmarketing site. Este paquete es el puente: cada producto expone un endpoint público\n`GET {baseUrl}/public/planes` (sin autenticación, siempre sólo planes activos), y cualquier landing\nlo consume con la misma API sin importar de qué producto se trate.\n\n## Para qué NO sirve\n\nNo conoce reglas de negocio de ningún producto — sólo los contratos genéricos `PlanPublico`/\n`DatosCheckoutOneclick`. No reemplaza el CRUD administrativo de planes (`GET/POST/PUT /planes`,\nprotegido, sigue viviendo en cada producto). No guarda ni conoce la credencial de cobro (`tbk_user`)\nque Transbank asigna a la tarjeta inscrita — eso vive exclusivamente en el backend del producto\n(CorePyme: `checkout_oneclick.tbk_user`), nunca en el SDK ni en el landing. No dispara el cobro\nrecurrente mensual todavía — hoy sólo cubre inscripción + primer cobro; el job de renovación\nperiódica es el siguiente capítulo.\n\n## Uso\n\n```ts\nimport { createBillingClient } from \"@core-tecnologias-empresariales/core-billing\";\n\nconst billing = createBillingClient({ baseUrl: \"https://api.corepyme.cl/v1\" });\nconst planes = await billing.listarPlanesPublicos();\n// [{ id, nombre, descripcion, usuariosIncluidos, sucursalesIncluidas, precio, moneda, periodicidad }, ...]\n\n// Países activos (para el <select> de país de un formulario público):\nconst paises = await billing.listarPaisesPublicos(); // [{ codigo: \"CL\", nombre: \"Chile\" }, ...]\n\n// Checkout Webpay Oneclick Mall (agregado 2026-08-30, primera implementación real en CorePyme) —\n// mismos campos que el alta manual de un cliente (\"el símil de un nuevo cliente\", pedido explícito\n// del usuario): nombre/apellido + contacto completo, todos opcionales salvo email/firstName.\nconst { redirectUrl } = await billing.iniciarCheckoutOneclick({\n  planId: planes[0].id,\n  email: \"cliente@empresa.cl\",\n  firstName: \"Juan\",\n  lastName: \"Pérez\",\n  contacto: { rut: \"12.345.678-9\", telefono: \"+56912345678\", pais: \"Chile\", region: \"Metropolitana de Santiago\", ciudad: \"Santiago\", comuna: \"Providencia\" },\n  aceptaTerminos: true, // obligatorio explícito — el backend lo rechaza sin esto\n  aceptaMarketing: false, // opt-in, default false\n});\nwindow.location.href = redirectUrl; // navegar el navegador COMPLETO, nunca fetch/XHR — el paso siguiente es un POST a Transbank\n```\n\n## Contrato que debe implementar cada producto\n\n```\nGET {baseUrl}/public/planes\n→ 200 { \"planes\": PlanPublico[] }\n\nGET {baseUrl}/public/paises\n→ 200 { \"paises\": PaisPublico[] }\n\nPOST {baseUrl}/public/checkout/iniciar\n  body { planId, email, firstName, lastName?, contacto? }\n→ 201 { \"redirectUrl\": string }\n```\n\n- Sin autenticación — es un endpoint público, cualquier visitante anónimo puede leerlo.\n- SIEMPRE sólo planes activos — nunca un borrador/desactivado, hardcodeado en el backend del\n  producto (no un parámetro que el cliente pueda desactivar).\n- `PlanPublico`: `{ id, nombre, descripcion, usuariosIncluidos: number | null, sucursalesIncluidas: number | null, precio: number | null, moneda, periodicidad }`\n  — `usuariosIncluidos`/`sucursalesIncluidas` en `null` significa \"Personalizado\"/ilimitado;\n  `precio` en `null` significa \"A contratar\" (sin precio de lista público).\n\n## Roadmap\n\n- **v0.1.0**: planes públicos.\n- **v0.1.2** (actual): checkout Webpay Oneclick Mall — inscripción de tarjeta + primer cobro,\n  implementado primero en CorePyme (`backend/src/routes/checkout.ts`, `transbank-sdk` oficial). Cada\n  producto sigue dueño de sus propias credenciales de comercio Transbank; este SDK sólo estandariza\n  el contrato cliente↔producto (`iniciarCheckoutOneclick`), nunca las credenciales.\n- **Futuro**: job de cobro recurrente mensual (reutiliza el `tbk_user` guardado por el producto);\n  Webpay Plus para pago único (si algún producto lo necesita).\n","readmeFilename":"README.md"}