{"_id":"@autra-io/react-native-card","_rev":"7-182058c86a2b3e1b6666388946df1c56","name":"@autra-io/react-native-card","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@autra-io/react-native-card","version":"0.1.0","keywords":["react-native","card","tokenization","payments","pci","autra","hosted-page","webview"],"license":"MIT","_id":"@autra-io/react-native-card@0.1.0","maintainers":[{"name":"magnoaura","email":"magno@weaura.tech"},{"name":"adminautra","email":"it@autra.io"}],"homepage":"https://github.com/autratech/autra-card-sdk-react-native#readme","bugs":{"url":"https://github.com/autratech/autra-card-sdk-react-native/issues"},"dist":{"shasum":"5ea44288084fb79b357b56046c022ab9f30d2861","tarball":"https://registry.npmjs.org/@autra-io/react-native-card/-/react-native-card-0.1.0.tgz","fileCount":12,"integrity":"sha512-d7gzsLDePR5SUpgtssMTauGztCoV7ESKH89V5w56eUvipjkoD4Z2/r378rCBV3lhQzCHEB5wTJyiekwZWpiEqA==","signatures":[{"sig":"MEYCIQCmre85Eclugulj/1nbFrSAfhlitMW+hyBzf8et3gEOHQIhAJlEd6Y+hajlu7mgCbEMag0Q1B8XG7hqEFLHuw3leTEf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103540},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a04e63d6cd53a0979d426a6e60a2456a9a6fab98","scripts":{"ci":"npm run format:check && npm run lint && npm run typecheck && npm run test:coverage && npm run build && npm run pack:dry-run","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage .tsbuildinfo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","format:write":"prettier --write .","pack:dry-run":"npm pack --dry-run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci","verify:install":"bash scripts/verify-pack-install.sh"},"_npmUser":{"name":"magnoaura","email":"magno@weaura.tech"},"repository":{"url":"git+https://github.com/autratech/autra-card-sdk-react-native.git","type":"git"},"_npmVersion":"11.6.2","description":"React Native SDK for secure card tokenization via Autra's hosted card page.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","eslint":"^9.15.0","vitest":"^2.1.8","prettier":"^3.3.3","@eslint/js":"^9.15.0","typescript":"^5.6.3","@types/node":"^20.11.0","@types/react":"^19.2.17","typescript-eslint":"^8.16.0","@vitest/coverage-v8":"^2.1.8","react-test-renderer":"^19.2.7","eslint-config-prettier":"^9.1.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":">=18.0.0","react-native":">=0.72.0","react-native-webview":">=13.0.0"},"peerDependenciesMeta":{"react-native-webview":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/react-native-card_0.1.0_1783536932511_0.9419053189126148","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@autra-io/react-native-card","version":"0.1.1","keywords":["react-native","card","tokenization","payments","pci","autra","hosted-page","webview"],"license":"Apache-2.0","_id":"@autra-io/react-native-card@0.1.1","maintainers":[{"name":"magnoaura","email":"magno@weaura.tech"},{"name":"adminautra","email":"it@autra.io"}],"homepage":"https://autra.io","bugs":{"url":"https://github.com/autratech/autra-card-sdk-react-native/issues"},"dist":{"shasum":"4d6fba350adaf0371abf4735d1839ab41a666420","tarball":"https://registry.npmjs.org/@autra-io/react-native-card/-/react-native-card-0.1.1.tgz","fileCount":13,"integrity":"sha512-SacbD8nKUBSADa8TptlsCtvEtdy4IxFkllCWY9YmO66tP8pE5bgxvTE89tv7xl+ozxl5Uw+d80AG/ZtZvcSodg==","signatures":[{"sig":"MEYCIQCETmn4izbJLJzJ8c4tLhw2wozpZNaq7kgPVVRNyz8LlgIhAIClf3P1358N1EFLZ8B/6/LJ1i9MCN4TXDhgD9/JrlGS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116424},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7c45e858d9f7e6f339559caa49b74b6262ee2de4","scripts":{"ci":"npm run format:check && npm run lint && npm run typecheck && npm run test:coverage && npm run build && npm run pack:dry-run","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage .tsbuildinfo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","format:write":"prettier --write .","pack:dry-run":"npm pack --dry-run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci","verify:install":"bash scripts/verify-pack-install.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f05c84fd-5486-437a-acc3-7ddde7609cac"}},"repository":{"url":"git+https://github.com/autratech/autra-card-sdk-react-native.git","type":"git"},"_npmVersion":"11.18.0","description":"React Native SDK for secure card tokenization via Autra's hosted card page.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","eslint":"^9.15.0","vitest":"^2.1.8","prettier":"^3.3.3","@eslint/js":"^9.15.0","typescript":"^5.6.3","@types/node":"^20.11.0","@types/react":"^19.2.17","semantic-release":"25.0.5","typescript-eslint":"^8.16.0","@vitest/coverage-v8":"^2.1.8","react-test-renderer":"^19.2.7","eslint-config-prettier":"^9.1.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":">=18.0.0","react-native":">=0.72.0","react-native-webview":">=13.0.0"},"peerDependenciesMeta":{"react-native-webview":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/react-native-card_0.1.1_1783540161636_0.44841791873741954","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@autra-io/react-native-card","version":"0.1.2","keywords":["react-native","card","tokenization","payments","pci","autra","hosted-page","webview"],"license":"Apache-2.0","_id":"@autra-io/react-native-card@0.1.2","maintainers":[{"name":"magnoaura","email":"magno@weaura.tech"},{"name":"adminautra","email":"it@autra.io"}],"homepage":"https://autra.io","bugs":{"url":"https://github.com/autratech/autra-card-sdk-react-native/issues"},"dist":{"shasum":"9bc81ef231a5fd1de9b300d5ef1691522e8b9d13","tarball":"https://registry.npmjs.org/@autra-io/react-native-card/-/react-native-card-0.1.2.tgz","fileCount":13,"integrity":"sha512-WpKd+egE5zMQkv54J4e7aySk3Oj9TF7TOWRD9RUCCcglRGtRAQpGISizHhcIGDcztCXrv5zStFMFp74ltCC7og==","signatures":[{"sig":"MEYCIQCkpkNsACQeFjmzUf3/YOOVY57ieodVWRP3Be9prj+8SgIhAMtVm8F8mlMbX1hwAaNIG1a/ZRwfEaMBit6Si7RPNJW6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124984},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2fef6a018133aff8c6f43b8a5118f9f99c00fe8e","scripts":{"ci":"npm run format:check && npm run lint && npm run typecheck && npm run test:coverage && npm run build && npm run pack:dry-run","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage .tsbuildinfo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","format:write":"prettier --write .","pack:dry-run":"npm pack --dry-run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci","verify:install":"bash scripts/verify-pack-install.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f05c84fd-5486-437a-acc3-7ddde7609cac"}},"repository":{"url":"git+https://github.com/autratech/autra-card-sdk-react-native.git","type":"git"},"_npmVersion":"11.18.0","description":"React Native SDK for secure card tokenization via Autra's hosted card page.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","eslint":"^9.15.0","vitest":"^2.1.8","prettier":"^3.3.3","@eslint/js":"^9.15.0","typescript":"^5.6.3","@types/node":"^20.11.0","@types/react":"^19.2.17","semantic-release":"25.0.5","typescript-eslint":"^8.16.0","@vitest/coverage-v8":"^2.1.8","react-test-renderer":"^19.2.7","eslint-config-prettier":"^9.1.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":">=18.0.0","react-native":">=0.72.0","react-native-webview":">=13.0.0"},"peerDependenciesMeta":{"react-native-webview":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/react-native-card_0.1.2_1783656088074_0.6953864976735313","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@autra-io/react-native-card","version":"0.2.0","keywords":["react-native","card","tokenization","payments","pci","autra","hosted-page","webview"],"license":"Apache-2.0","_id":"@autra-io/react-native-card@0.2.0","maintainers":[{"name":"magnoaura","email":"magno@weaura.tech"},{"name":"adminautra","email":"it@autra.io"}],"homepage":"https://autra.io","bugs":{"url":"https://github.com/autratech/autra-card-sdk-react-native/issues"},"dist":{"shasum":"0ea547a693814b39c11ad7d11db441fcfc7aabbc","tarball":"https://registry.npmjs.org/@autra-io/react-native-card/-/react-native-card-0.2.0.tgz","fileCount":13,"integrity":"sha512-J1bfnDZNFN2NdpzT5YFiutYK1bTYQxDSCJZHyNskLbHNgZtVjay6OEPkpQ0NiUtT2j3jtUaV7OtdXlW7m3OeoQ==","signatures":[{"sig":"MEUCIA8NCLyCutreWKGgpFZ1Igj0f5PbsHzCFOY2T65AmauyAiEA2QOGxVYC/bMJW6afFnKwVWag+9DDbHxL+pEzKvJ2LfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126859},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"423e307d8042c1e51d543bd18915278429b73712","scripts":{"ci":"npm run format:check && npm run lint && npm run typecheck && npm run test:coverage && npm run build && npm run pack:dry-run","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage .tsbuildinfo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","format:write":"prettier --write .","pack:dry-run":"npm pack --dry-run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci","verify:install":"bash scripts/verify-pack-install.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f05c84fd-5486-437a-acc3-7ddde7609cac"}},"repository":{"url":"git+https://github.com/autratech/autra-card-sdk-react-native.git","type":"git"},"_npmVersion":"11.18.0","description":"React Native SDK for secure card tokenization via Autra's hosted card page.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","eslint":"^9.15.0","vitest":"^2.1.8","prettier":"^3.3.3","@eslint/js":"^9.15.0","typescript":"^5.6.3","@types/node":"^20.11.0","@types/react":"^19.2.17","semantic-release":"25.0.5","typescript-eslint":"^8.16.0","@vitest/coverage-v8":"^2.1.8","react-test-renderer":"^19.2.7","eslint-config-prettier":"^9.1.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":">=18.0.0","react-native":">=0.72.0","react-native-webview":">=13.0.0"},"peerDependenciesMeta":{"react-native-webview":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/react-native-card_0.2.0_1783670197110_0.26198938459917986","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@autra-io/react-native-card","version":"0.3.0","keywords":["react-native","card","tokenization","payments","pci","autra","hosted-page","webview"],"license":"Apache-2.0","_id":"@autra-io/react-native-card@0.3.0","maintainers":[{"name":"magnoaura","email":"magno@weaura.tech"},{"name":"adminautra","email":"it@autra.io"}],"homepage":"https://autra.io","bugs":{"url":"https://github.com/autratech/autra-card-sdk-react-native/issues"},"dist":{"shasum":"8e6776c2474ad44945881b84c72c1a9a84928f6d","tarball":"https://registry.npmjs.org/@autra-io/react-native-card/-/react-native-card-0.3.0.tgz","fileCount":13,"integrity":"sha512-9V7O1EaxdY7Cfhg9+Ys35vZ3DAc3qkQEpX+5RPrtCCnkXTmv515r4SJcu9XSaGJaUQWLutIdtZ/IqbO3bcbo7w==","signatures":[{"sig":"MEUCIQCdnosJxAlQPlcmQcBPtj/Dyl1BsE0FELpUnYsxfkGrtwIgJpL51+CBVk+gsuIkQhRTaCKVHT0eMp6du+FslNH7IIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133697},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f289497489416ca48b80aa28f263a1a923c16088","scripts":{"ci":"npm run format:check && npm run lint && npm run typecheck && npm run test:coverage && npm run build && npm run pack:dry-run","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage .tsbuildinfo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","format:write":"prettier --write .","pack:dry-run":"npm pack --dry-run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci","verify:install":"bash scripts/verify-pack-install.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f05c84fd-5486-437a-acc3-7ddde7609cac"}},"repository":{"url":"git+https://github.com/autratech/autra-card-sdk-react-native.git","type":"git"},"_npmVersion":"11.18.0","description":"React Native SDK for secure card tokenization via Autra's hosted card page.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","eslint":"^9.15.0","vitest":"^2.1.8","prettier":"^3.3.3","@eslint/js":"^9.15.0","typescript":"^5.6.3","@types/node":"^20.11.0","@types/react":"^19.2.17","semantic-release":"25.0.5","typescript-eslint":"^8.16.0","@vitest/coverage-v8":"^2.1.8","react-test-renderer":"^19.2.7","eslint-config-prettier":"^9.1.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":">=18.0.0","react-native":">=0.72.0","react-native-webview":">=13.0.0"},"peerDependenciesMeta":{"react-native-webview":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/react-native-card_0.3.0_1783806700526_0.49306193927846187","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@autra-io/react-native-card","version":"0.4.0","keywords":["react-native","card","tokenization","payments","pci","autra","hosted-page","webview"],"license":"Apache-2.0","_id":"@autra-io/react-native-card@0.4.0","maintainers":[{"name":"magnoaura","email":"magno@weaura.tech"},{"name":"adminautra","email":"it@autra.io"}],"homepage":"https://autra.io","bugs":{"url":"https://github.com/autratech/autra-card-sdk-react-native/issues"},"dist":{"shasum":"6326e82306263ed8e1cf543f235e8714da0eb1a9","tarball":"https://registry.npmjs.org/@autra-io/react-native-card/-/react-native-card-0.4.0.tgz","fileCount":13,"integrity":"sha512-JAsikC70cLAW+/bBjXBuHZv8Wz6vByRRcX2Ntuzax/1VG+GJQlcsqlMxL9wiScthcvkJ04z9HRB77oj/1Yx5yg==","signatures":[{"sig":"MEUCIQCACv3mUxQ9YoYopa48fnZz/UIacxaMaHZuhTrXrUnO0QIgd11WEc5f/hjL3LvGQsz12QcA18XDXVKDGsOK8nvnf6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143807},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fd1192576169eae9b2914095f48ceccb18a3a76f","scripts":{"ci":"npm run format:check && npm run lint && npm run typecheck && npm run test:coverage && npm run build && npm run pack:dry-run","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rm -rf dist coverage .tsbuildinfo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","format:write":"prettier --write .","pack:dry-run":"npm pack --dry-run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci","verify:install":"bash scripts/verify-pack-install.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f05c84fd-5486-437a-acc3-7ddde7609cac"}},"repository":{"url":"git+https://github.com/autratech/autra-card-sdk-react-native.git","type":"git"},"_npmVersion":"11.18.0","description":"React Native SDK for secure card tokenization via Autra's hosted card page.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","eslint":"^9.15.0","vitest":"^2.1.8","prettier":"^3.3.3","@eslint/js":"^9.15.0","typescript":"^5.6.3","@types/node":"^20.11.0","@types/react":"^19.2.17","semantic-release":"25.0.5","typescript-eslint":"^8.16.0","@vitest/coverage-v8":"^2.1.8","react-test-renderer":"^19.2.7","eslint-config-prettier":"^9.1.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":">=18.0.0","react-native":">=0.72.0","react-native-webview":">=13.0.0"},"peerDependenciesMeta":{"react-native-webview":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/react-native-card_0.4.0_1783869201094_0.08088272733113633","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-07-08T18:55:32.393Z","modified":"2026-08-21T12:50:12.626Z","0.1.0":"2026-07-08T18:55:32.647Z","0.1.1":"2026-07-08T19:49:21.809Z","0.1.2":"2026-07-10T04:01:28.241Z","0.2.0":"2026-07-10T07:56:37.265Z","0.3.0":"2026-07-11T21:51:40.656Z","0.4.0":"2026-07-12T15:13:21.222Z"},"bugs":{"url":"https://github.com/autratech/autra-card-sdk-react-native/issues"},"license":"Apache-2.0","homepage":"https://autra.io","keywords":["react-native","card","tokenization","payments","pci","autra","hosted-page","webview"],"repository":{"url":"git+https://github.com/autratech/autra-card-sdk-react-native.git","type":"git"},"description":"React Native SDK for secure card tokenization via Autra's hosted card page.","maintainers":[{"email":"magno@weaura.tech","name":"magnoaura"},{"email":"it@autra.io","name":"adminautra"},{"email":"victor.ximenis@weaura.tech","name":"ximenis-weaura"}],"readme":"<!--\n  Este arquivo espelha apenas o essencial (features, instalação, quickstart,\n  erros) do README.md. Ao alterar o quickstart ou a API no README.md,\n  atualize este arquivo também. A documentação completa vive no README.md.\n-->\n\n# @autra-io/react-native-card\n\nSDK React Native para tokenização segura de cartões via página hospedada da\nAutra. **Os dados do cartão nunca passam pelo seu app nem pelos seus\nservidores.**\n\n> 🌎 `README.md` (in English) (documentação completa) ·\n> Guias completos no portal do desenvolvedor\n> <!-- PLACEHOLDER: URL do portal do desenvolvedor -->\n\n## Por que usar\n\n- **Tokenização em página hospedada** — o portador digita PAN/CVV em uma\n  página hospedada pela Autra, dentro de uma WebView. Os dados do cartão nunca\n  transitam pelo seu app ou backend, o que ajuda a reduzir seu escopo PCI DSS.\n- **WebView endurecida por padrão** — HTTPS-only, allow-list de navegação,\n  sem conteúdo misto, incognito, sem cache em disco, sem acesso a arquivos.\n- **Bridge de mensagens estrita** — validação de origem e de schema em toda\n  mensagem; `onSuccess` dispara no máximo uma vez.\n- **Tipado de ponta a ponta** e **zero dependências de runtime**.\n\n## Instalação\n\n```bash\nnpm install @autra-io/react-native-card react-native-webview\n# iOS (React Native bare): cd ios && pod install\n# Expo: npx expo install react-native-webview\n```\n\nRequisitos: React >= 18, React Native >= 0.72, `react-native-webview` >= 13\n(peer dependency obrigatória). Expo: requer development build / `expo\nprebuild` (Expo Go não é suportado).\n\n## Início rápido\n\n### Passo 1 — Backend: criar uma sessão de cartão hospedada\n\nAs sessões são criadas **no servidor**, com suas credenciais de serviço Autra.\nNunca chame esta API do app e nunca embuta credenciais no app.\n\n```ts\n// Seu backend (exemplo Node). Sandbox: https://api.sandbox.autra.io\n// Produção: consulte o portal do desenvolvedor. <!-- PLACEHOLDER: URL produção -->\napp.post('/card-sessions', async (_req, res) => {\n  const response = await fetch('https://api.sandbox.autra.io/v1/acquiring/card-sessions', {\n    method: 'POST',\n    headers: {/* credenciais de serviço Autra — somente no servidor */},\n  });\n  const { hostedCardUrl } = await response.json();\n  // hostedCardUrl é de curta duração e uso único — gere uma por tentativa.\n  res.json({ hostedCardUrl });\n});\n```\n\n### Passo 2 — App: renderizar o formulário\n\n```tsx\nimport { useState } from 'react';\nimport { Button, View } from 'react-native';\nimport {\n  AutraCardForm,\n  type AutraCardTokenizedResult,\n  type AutraCardError,\n} from '@autra-io/react-native-card';\n\nexport function AdicionarCartaoScreen() {\n  const [hostedCardUrl, setHostedCardUrl] = useState<string | null>(null);\n\n  async function iniciarEntradaDeCartao() {\n    // Peça ao SEU backend uma sessão nova (Passo 1). URLs são de uso único:\n    // solicite uma nova a cada tentativa — nunca fixe ou reutilize.\n    const response = await fetch('https://seu-backend.example.com/card-sessions', {\n      method: 'POST',\n    });\n    const body = (await response.json()) as { hostedCardUrl: string };\n    setHostedCardUrl(body.hostedCardUrl);\n  }\n\n  if (!hostedCardUrl) {\n    return <Button title=\"Adicionar cartão\" onPress={iniciarEntradaDeCartao} />;\n  }\n\n  return (\n    <View style={{ flex: 1 }}>\n      <AutraCardForm\n        hostedCardUrl={hostedCardUrl}\n        onReady={() => {\n          // Página hospedada pronta — esconda seu indicador de carregamento.\n        }}\n        onSuccess={(result: AutraCardTokenizedResult) => {\n          // Envie result.slugStoredCard ao seu backend e armazene lá.\n          // O backend usa essa referência para cobranças futuras.\n        }}\n        onError={(error: AutraCardError) => {\n          if (error.code === 'token_expired' || error.retryable) {\n            // Sessões expiram rápido: crie uma NOVA sessão e tente de novo.\n            setHostedCardUrl(null);\n            return;\n          }\n          // Não recuperável: mostre uma mensagem amigável e reporte error.code.\n        }}\n        style={{ flex: 1 }}\n      />\n    </View>\n  );\n}\n```\n\n## Códigos de erro (`AutraCardError`)\n\n| Código                    | Significado                                                          | O que fazer                                                        |\n| ------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------ |\n| `configuration_error`     | `hostedCardUrl` inválida/não-HTTPS ou `allowedOrigins` vazio.        | Corrigir a integração — não é erro do usuário.                     |\n| `token_expired`           | Sessão expirada ou não autorizada.                                   | Criar nova sessão e recarregar o formulário.                       |\n| `tenant_mismatch`         | A sessão não pertence ao `expectedTenantId` informado (SDK ≥ 0.4.0). | Não prosseguir; garantir que a sessão foi criada para este tenant. |\n| `message_origin_rejected` | Mensagem/navegação de origem fora da allow-list.                     | Investigar; não enfraquecer `allowedOrigins`.                      |\n| `message_invalid`         | Mensagem malformada da página hospedada.                             | Tentar com nova sessão; reportar `requestId`.                      |\n| `validation_error`        | Dados do cartão rejeitados.                                          | A própria página orienta o usuário.                                |\n| `tokenization_failed`     | Falha de carregamento ou de tokenização.                             | Se `retryable`, tentar com nova sessão.                            |\n\n## Documentação completa\n\nReferência completa da API, segurança & PCI, testes e troubleshooting:\no `README.md` (em inglês) que acompanha este pacote.\n\n## Licença\n\nApache-2.0 — veja o arquivo `LICENSE` que acompanha este pacote.\n","readmeFilename":"README.pt-BR.md"}