{"_id":"@capawesome/capacitor-square-mobile-payments","_rev":"10-a5386619f9556837dc57f41cf156db48","name":"@capawesome/capacitor-square-mobile-payments","dist-tags":{"dev":"0.1.0-dev.c7d6d67c.1767704952","latest":"0.1.6"},"versions":{"0.0.1":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.0.1","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-square-mobile-payments@0.0.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"9bda8373e7a7ed827d80a91720cf380eb73344b9","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.0.1.tgz","fileCount":82,"integrity":"sha512-5L/MHr9Bbi5d5mm8nPo4OGlG+WGXjQnU3xVggmTrVM1iOBAtFnbOv02NFkph9pBeW/gXZYMMjsB+cYvbSsoirQ==","signatures":[{"sig":"MEUCIHUX6qflzL3scFjSi4szLXrVhvw6eloF96a62OWYSFJKAiEAhp2L+RKU+49u0IH6lQzJNhNZhYGEwES+pDGmvD27JSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431446},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"0a2aa5426030c4ac7000894052bb601323eb6ead","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"robingenz","email":"mail@robingenz.dev"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"10.9.4","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK.","directories":{},"_nodeVersion":"22.21.1","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-square-mobile-payments_0.0.1_1767540927404_0.6865737149843423","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.1.0","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-square-mobile-payments@0.1.0","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"ead3c64a8cef4a89b7184219f5f2dbd12409d5cb","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.1.0.tgz","fileCount":82,"integrity":"sha512-QoOjwOIMzMPfTL2JEYQSMynqJulEwHq3HnYpz2eA9OQxyvKvsuRYXTpAPfIgt2GwTLfia5JTUKs7gTDn/89rrA==","signatures":[{"sig":"MEQCIHCTtVdSt1DOP41eMaoQG2Dq8T1HXGMNXDBG8gHCHT3+AiAB7p+c/bEYarcStM2Mg8wXkVBxxIAF6bXbqDPbTx0c2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-square-mobile-payments@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":431528},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"dd2534eb439246881c0afb58100704ea06f3af16","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2d323fdc-8e51-4571-b0e8-bdb44790c5e8"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.7.0","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK.","directories":{},"_nodeVersion":"22.21.1","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-square-mobile-payments_0.1.0_1767543687278_0.9844673799399393","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-dev.8f3159be.1767704525":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.1.0-dev.8f3159be.1767704525","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-square-mobile-payments@0.1.0-dev.8f3159be.1767704525","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"acde6056e1185c424bbda6e320ba4c54f9092b79","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.1.0-dev.8f3159be.1767704525.tgz","fileCount":82,"integrity":"sha512-YXR4pZDJ/6l3IX9xJjhKte+CnGLu1q//YauO+oftcdVTCHtZggHyYvxt3yaAiJKOUDp1SFa3XV8EJ6Yvnb+84g==","signatures":[{"sig":"MEYCIQDJIEjS1GViwK2NJtzPLYbkAnie0DQ16LneabK+XTZbsgIhAL28EHPcZn2n+/JeUcHSeZM3TEnFHyzIhzVVODRPJ1Ow","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445184},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"8f3159be89c69f1c538e66e4feb5b03f9b38f87d","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"robingenz","email":"mail@robingenz.dev"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"10.9.4","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK.","directories":{},"_nodeVersion":"22.21.1","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-square-mobile-payments_0.1.0-dev.8f3159be.1767704525_1767704572077_0.5724961558753008","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-dev.c7d6d67c.1767704952":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.1.0-dev.c7d6d67c.1767704952","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-square-mobile-payments@0.1.0-dev.c7d6d67c.1767704952","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"3767ef639302794f5e9d23f255adf0623512a756","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.1.0-dev.c7d6d67c.1767704952.tgz","fileCount":82,"integrity":"sha512-ShEkm8bWWPfPd4Dbc5pplMSN9aR9IB4GzXMPH5dvRY8w0E7U6atut+7Se7xHzVLq/dMhTHMbxM9tNjAP8ZyyEA==","signatures":[{"sig":"MEUCIQCN/iTL75N575lu11bmH3Ve6is85DEuy5fRkspltoUyegIgHwnGtrSm+puw5YmQeRzOEIX89IM/Bqe7klN/ygI4VeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445106},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"c7d6d67c009db864f276cbfa1d9926304fdcb41d","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"robingenz","email":"mail@robingenz.dev"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"10.9.4","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK.","directories":{},"_nodeVersion":"22.21.1","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-square-mobile-payments_0.1.0-dev.c7d6d67c.1767704952_1767704978761_0.6455036021116427","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.1.1","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-square-mobile-payments@0.1.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"c33580da9132e00f990b219cf352a947646db9a0","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.1.1.tgz","fileCount":82,"integrity":"sha512-gDYqzL791CPoYygaR46xy7Wl0pGTlRLRFbFXbQpO/TUZeGT2XKbrNNiE7o1E3c0VnLvbi6DV+BnLxvKx6Aod5A==","signatures":[{"sig":"MEQCIFUk4t8bAFuJVBvquJRAu6Rn/OaIhTvCffyohjSv0nKPAiAlkqukCdGOHFj8kEjKrKd2y5Rjy5q9qCKJDqHKTT6K2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-square-mobile-payments@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445082},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"1b2b685967319e368f368e819d23264ec6334f0d","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2d323fdc-8e51-4571-b0e8-bdb44790c5e8"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.7.0","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK.","directories":{},"_nodeVersion":"22.21.1","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-square-mobile-payments_0.1.1_1767818944053_0.32359859775734034","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.1.2","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-square-mobile-payments@0.1.2","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"68d55ea3ed32479ed9c9bf5399b8237f29ed5e08","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.1.2.tgz","fileCount":82,"integrity":"sha512-W6wIjTI2szkDIdLwFEdqp5s9EhIHeZQy8Drg9fQjXdwdruxFrfzRdXbUE+fXd73QndNnd/s+QEecCLpCPfEKnw==","signatures":[{"sig":"MEYCIQC+IIcAxwCj9DTQGSgcJ+1DkQI3RjxWNnMdOr+7LN7L8QIhAJTFi8IDZD0HJEB9L71iASB4KcWKg/y7OmkMnw46TR86","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-square-mobile-payments@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":447078},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"8ca6cb86f738aba1a76d306aeae35fa9f5ee642b","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2d323fdc-8e51-4571-b0e8-bdb44790c5e8"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.7.0","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK.","directories":{},"_nodeVersion":"22.21.1","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-square-mobile-payments_0.1.2_1767901304614_0.014790424701376592","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.1.3","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-square-mobile-payments@0.1.3","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"c2b7f74fe2e7d8129f4739a3699cab4bd0754097","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.1.3.tgz","fileCount":84,"integrity":"sha512-EvVHoKkgEiGNZ97E2Y4edNJyEkn7fEF3FDf/T/ihEflTRygc5nagTSqE6NEtKfURruxRp0fCRIGWUXSGsNRjMQ==","signatures":[{"sig":"MEUCIQDH6vhqt8EwdY46hmC3MDaTlgBFF5uJXwo5BvbzRPWYzwIgKUgdtatSVxk69Ih+xNBoLIvpHpn+I8qCx3fpvEyFmVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-square-mobile-payments@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":466468},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"3b06dbfdf8e25a8fee1a04fc84731b27e36ed5fa","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2d323fdc-8e51-4571-b0e8-bdb44790c5e8"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.9.0","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK.","directories":{},"_nodeVersion":"22.22.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-square-mobile-payments_0.1.3_1770636910021_0.2849432452918712","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.1.4","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-square-mobile-payments@0.1.4","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"fb76471f5d34717a510abadfc3cbb6f80391d0af","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.1.4.tgz","fileCount":84,"integrity":"sha512-fHyyTKjA1dPOg9Qo9j/jMlJOHbryseyqXpvzq2nAh+knWL5azLtGUB5A0fbctqdo6aAwfu4RIHhrRE7YpcHwgQ==","signatures":[{"sig":"MEQCIFTOL6yuLFX2rHvY2ahs+WE28AYCtqS/z0l3yBVbeiUuAiBCvkaX92JpuRQCquJpP1qnqyqBaDuDWFFXitcP1VwQLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-square-mobile-payments@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":466477},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"fa5661b9d1f85edd21f503e2eeb9875d0089f0ae","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2d323fdc-8e51-4571-b0e8-bdb44790c5e8"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.10.0","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK.","directories":{},"_nodeVersion":"22.22.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-square-mobile-payments_0.1.4_1771486785650_0.8642213064352839","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.1.5","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-square-mobile-payments@0.1.5","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"6a19b7615e95c3b10d8bde0d31efd742029928ad","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.1.5.tgz","fileCount":84,"integrity":"sha512-SbctNh6nMtNUUc8P4aPUjuL20MFYm+ZmEQzSE30ya8fbpSFMBTBa/OIDG6nNe84ynBVvJpHTqHuiCBUx1acyvA==","signatures":[{"sig":"MEQCIFhd1S5Q92NI2OUboTu4sD+QgPcfn5SDuC98T0hCjjRVAiApfLbUruJYGb2jM2PuUJC81Q97yjpv/HIfwOFVuFTcWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-square-mobile-payments@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":470269},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"014bca28c4f465c7d843365631a7b31b124885f5","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2d323fdc-8e51-4571-b0e8-bdb44790c5e8"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.11.0","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK.","directories":{},"_nodeVersion":"22.22.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-square-mobile-payments_0.1.5_1772387812241_0.8103909063926873","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@capawesome/capacitor-square-mobile-payments","version":"0.1.6","description":"Unofficial Capacitor plugin for Square Mobile Payments SDK to accept in-person payments on Android and iOS.","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"funding":[{"type":"github","url":"https://github.com/sponsors/capawesome-team/"},{"type":"opencollective","url":"https://opencollective.com/capawesome"}],"keywords":["capacitor","plugin","native","capacitor-plugin","square","mobile payments","in-person payments","card reader","point of sale","pos","tap to pay","payment processing"],"scripts":{"verify":"npm run verify:ios && npm run verify:android && npm run verify:web","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:web":"npm run build","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","eslint":"eslint . --ext ts","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","docgen":"docgen --api SquareMobilePaymentsPlugin --output-readme README.md --output-json dist/docs.json","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd ..","prepublishOnly":"npm run build"},"devDependencies":{"@capacitor/android":"8.0.0","@capacitor/cli":"8.4.2","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/ios":"8.0.0","@ionic/eslint-config":"0.4.0","eslint":"8.57.0","prettier-plugin-java":"2.9.7","rimraf":"6.1.2","rollup":"4.62.3","swiftlint":"2.0.0","typescript":"5.9.3"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"publishConfig":{"access":"public"},"gitHead":"7c1937ed10b7de86ca2c1cdc3539a2735fd69a00","_id":"@capawesome/capacitor-square-mobile-payments@0.1.6","homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-Qw+l/77O4+3pBZx3w0YUZMvH+aFxFLRDG6YuY3B5ubahpmC5EGENsy2PF6GwIXA7Yf0dz0chospnYwfU4LqY9A==","shasum":"891285e446ff44375506feeea161bf905b0d226b","tarball":"https://registry.npmjs.org/@capawesome/capacitor-square-mobile-payments/-/capacitor-square-mobile-payments-0.1.6.tgz","fileCount":84,"unpackedSize":476732,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-square-mobile-payments@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEAGjA7uP8J5JcVMEgg2wTk+AbWpPGrsvYAYwdZTgdCEAiEAhk59MmWEs5slqoDaSYw386viLsIhvYJv9+CI1nGp15M="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2d323fdc-8e51-4571-b0e8-bdb44790c5e8"}},"directories":{},"maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-square-mobile-payments_0.1.6_1788337421472_0.6814898329794004"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-04T15:35:27.301Z","modified":"2026-09-02T08:23:42.049Z","0.0.1":"2026-01-04T15:35:27.597Z","0.1.0":"2026-01-04T16:21:27.430Z","0.1.0-dev.8f3159be.1767704525":"2026-01-06T13:02:52.207Z","0.1.0-dev.c7d6d67c.1767704952":"2026-01-06T13:09:38.913Z","0.1.1":"2026-01-07T20:49:04.206Z","0.1.2":"2026-01-08T19:41:44.751Z","0.1.3":"2026-02-09T11:35:10.180Z","0.1.4":"2026-02-19T07:39:45.794Z","0.1.5":"2026-03-01T17:56:52.417Z","0.1.6":"2026-09-02T08:23:41.635Z"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","homepage":"https://github.com/capawesome-team/capacitor-plugins#readme","keywords":["capacitor","plugin","native","capacitor-plugin","square","mobile payments","in-person payments","card reader","point of sale","pos","tap to pay","payment processing"],"repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"description":"Unofficial Capacitor plugin for Square Mobile Payments SDK to accept in-person payments on Android and iOS.","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"readme":"# Capacitor Square Mobile Payments Plugin\n\nUnofficial Capacitor plugin for [Square Mobile Payments SDK](https://developer.squareup.com/docs/mobile-payments-sdk).[^1]\n\n<div class=\"capawesome-z29o10a\">\n  <a href=\"https://cloud.capawesome.io/\" target=\"_blank\">\n    <img alt=\"Deliver Live Updates to your Capacitor app with Capawesome Cloud\" src=\"https://cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1\" />\n  </a>\n</div>\n\n## Features\n\nThis plugin provides a comprehensive integration with Square's Mobile Payments SDK for in-person payment processing. Here are some of the key features:\n\n- 🖥️ **Cross-platform**: Supports Android and iOS.\n- 💳 **Payment Processing**: Accept in-person payments with Square card readers.\n- 📱 **Reader Management**: Pair, manage, and monitor Square card readers.\n- 🔐 **Secure Authorization**: OAuth-based authorization with Square access tokens.\n- 🎨 **Flexible UI**: Choose between Square's default payment UI or build your own custom interface.\n- 📊 **Real-time Updates**: Listen to reader status changes, pairing events, and payment completion.\n- 💰 **Multiple Payment Methods**: Support for contactless (tap), chip (dip), swipe, and manual entry.\n- 🌐 **Online & Offline**: Process payments online or offline with automatic sync.\n- 🧾 **Receipt Data**: Access card details, authorization codes, and EMV data for compliant receipts.\n- 🔁 **Up-to-date**: Always supports the latest Capacitor version.\n\nMissing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!\n\n## Use Cases\n\nThe Square Mobile Payments plugin is typically used to accept in-person payments in a Capacitor app, for example:\n\n- **Point of sale**: Turn your app into a POS system that accepts tap, dip, swipe, and manually entered card payments with Square card readers.\n- **Tap to Pay on iPhone**: Accept contactless payments directly on an iPhone without additional hardware by linking a Square seller account with an Apple ID.\n- **Mobile and pop-up sales**: Pair, monitor, and manage Square readers for markets, food trucks, or events, and process payments offline with automatic sync when connectivity is limited.\n- **Compliant receipts**: Access card details, authorization codes, and EMV data of completed payments to generate compliant receipts.\n- **Testing without hardware**: Use the mock reader in debug builds to test the whole payment flow without a physical reader.\n\n## Compatibility\n\n| Plugin Version | Capacitor Version | Status         |\n| -------------- | ----------------- | -------------- |\n| 0.1.x          | >=8.x.x           | Active support |\n\n## Installation\n\nYou can use our **AI-Assisted Setup** to install the plugin.\nAdd the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:\n\n```bash\nnpx skills add capawesome-team/skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```\n Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-square-mobile-payments` plugin in my project.\n```\n\nIf you prefer **Manual Setup**, install the plugin by running the following commands and follow the platform-specific instructions below:\n\n```bash\nnpm install @capawesome/capacitor-square-mobile-payments\nnpx cap sync\n```\n\n### Android\n\n#### SDK Initialization\n\nThe Square Mobile Payments SDK must be initialized in your `Application` class before using the plugin. Create a custom `Application` class (if you don't already have one) and add the following code:\n\n1. Create a file `MainApplication.java` in your app's `android/app/src/main/java/<your-package>/` directory:\n\n```java\npackage com.example.app;\n\nimport android.app.Application;\nimport com.squareup.sdk.mobilepayments.MobilePaymentsSdk;\n\npublic class MainApplication extends Application {\n\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        MobilePaymentsSdk.initialize(\"YOUR_SQUARE_APPLICATION_ID\", this);\n    }\n}\n```\n\n**Note**: Replace `YOUR_SQUARE_APPLICATION_ID` with your actual Square Application ID.\n\n2. Register the custom `Application` class in your `AndroidManifest.xml`:\n\n```xml\n<application\n    android:name=\".MainApplication\"\n    ...>\n```\n\n#### Variables\n\nIf needed, you can define the following project variable in your app's `variables.gradle` file to change the default version of the dependency:\n\n- `$squareMobilePaymentsSdkVersion` version of `com.squareup.sdk:mobile-payments-sdk` (default: `2.3.4`)\n\nThis can be useful if you encounter dependency conflicts with other plugins in your project.\n\n### iOS\n\n#### SDK Initialization\n\nThe Square Mobile Payments SDK must be initialized in your `AppDelegate.swift` file before using the plugin. Add the following code to your `AppDelegate.swift`:\n\n1. Import the `SquareMobilePaymentsSDK` at the top of the file:\n\n```swift\nimport SquareMobilePaymentsSDK\n```\n\n2. Add the Square Application ID to your `Info.plist` file:\n\n```xml\n<key>SquareApplicationID</key>\n<string>YOUR_SQUARE_APPLICATION_ID_HERE</string>\n```\n\n**Note**: Replace `YOUR_SQUARE_APPLICATION_ID_HERE` with your actual Square Application ID. Do not use the placeholder value in production.\n\n3. Initialize the SDK in the `application(_:didFinishLaunchingWithOptions:)` method:\n\n```swift\nfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n    // Initialize Square Mobile Payments SDK\n    // Get the Square Application ID from info.plist\n    if let squareAppID = Bundle.main.object(forInfoDictionaryKey: \"SquareApplicationID\") as? String,\n       !squareAppID.isEmpty && squareAppID != \"YOUR_SQUARE_APPLICATION_ID_HERE\" {\n        MobilePaymentsSDK.initialize(\n            applicationLaunchOptions: launchOptions,\n            squareApplicationID: squareAppID\n        )\n    }\n\n    // Override point for customization after application launch.\n    return true\n}\n```\n\n#### Build Phases\n\nAdd a new \"Run Script Phase\" in Xcode to run the Square SDK setup script by following these steps:\n\n1. On the **Build Phases** tab for your application target in Xcode, choose the + button (at the top left of the pane).\n2. Choose **New Run Script Phase**. The new run script phase should be the last build phase.\n3. Expand the new Run Script phase and enter the following script:\n\n```\nFRAMEWORKS=\"${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n\"${FRAMEWORKS}/SquareMobilePaymentsSDK.framework/setup\"\n```\n\nMore details can be found in the [Square Mobile Payments SDK iOS setup guide](https://developer.squareup.com/docs/mobile-payments-sdk/ios).\n\n#### Privacy Descriptions\n\nAdd the `NSLocationWhenInUseUsageDescription`, `NSBluetoothAlwaysUsageDescription`, and `NSMicrophoneUsageDescription` keys to the `ios/App/App/Info.plist` file, which tells the user why your app is requesting location, Bluetooth, and microphone permissions:\n\n```xml\n<key>NSBluetoothAlwaysUsageDescription</key>\n<string>We need Bluetooth access to connect to Square card readers.</string>\n<key>NSLocationWhenInUseUsageDescription</key>\n<string>We need your location to confirm payments are occurring in a supported Square location.</string>\n<key>NSMicrophoneUsageDescription</key>\n<string>We need microphone access to receive data from magstripe card readers.</string>\n```\n\n## Configuration\n\nNo configuration required for this plugin.\n\n## Usage\n\nThe following examples show how to initialize and authorize the SDK, pair and list readers, start a payment, read the available card input methods, and listen for payment and reader events.\n\n### Initialize and authorize the SDK\n\nInitialize the SDK with your Square location ID and authorize it with a Square access token. The `initialize(...)` method must be called before any other method:\n\n```typescript\nimport { SquareMobilePayments } from '@capawesome/capacitor-square-mobile-payments';\n\nconst initializeSDK = async () => {\n  await SquareMobilePayments.initialize({\n    locationId: 'YOUR_LOCATION_ID',\n  });\n\n  await SquareMobilePayments.authorize({\n    accessToken: 'YOUR_ACCESS_TOKEN',\n  });\n};\n```\n\n### Check the authorization state\n\nCheck whether the SDK is currently authorized, for example on app start:\n\n```typescript\nimport { SquareMobilePayments } from '@capawesome/capacitor-square-mobile-payments';\n\nconst checkAuthorization = async () => {\n  const { authorized } = await SquareMobilePayments.isAuthorized();\n  console.log('Authorized:', authorized);\n};\n```\n\n### Pair a Square reader\n\nStart the pairing process. The SDK searches for nearby readers and pairs with the first one found:\n\n```typescript\nimport { SquareMobilePayments } from '@capawesome/capacitor-square-mobile-payments';\n\nconst pairReader = async () => {\n  await SquareMobilePayments.startPairing();\n};\n```\n\n### List the paired readers\n\nGet all paired readers with their serial number, model, and status:\n\n```typescript\nimport { SquareMobilePayments } from '@capawesome/capacitor-square-mobile-payments';\n\nconst getReaders = async () => {\n  const { readers } = await SquareMobilePayments.getReaders();\n  for (const reader of readers) {\n    console.log('Reader:', reader.serialNumber, reader.model, reader.status);\n  }\n};\n```\n\n### Start a payment\n\nPresent the payment UI and process a payment with the specified parameters. Only one payment can be active at a time:\n\n```typescript\nimport { SquareMobilePayments } from '@capawesome/capacitor-square-mobile-payments';\n\nconst processPayment = async () => {\n  await SquareMobilePayments.startPayment({\n    paymentParameters: {\n      amountMoney: {\n        amount: 100,\n        currency: 'USD',\n      },\n      paymentAttemptId: crypto.randomUUID(),\n    },\n    promptParameters: {\n      mode: 'DEFAULT',\n      additionalMethods: ['KEYED'],\n    },\n  });\n};\n```\n\n### Listen for payment events\n\nListen for successful, failed, and cancelled payments to react to the result of a payment flow:\n\n```typescript\nimport { SquareMobilePayments } from '@capawesome/capacitor-square-mobile-payments';\n\nconst listenToPaymentEvents = () => {\n  SquareMobilePayments.addListener('paymentDidFinish', (event) => {\n    console.log('Payment completed:', event.payment.id);\n    console.log('Amount:', event.payment.amountMoney.amount);\n    console.log('Card:', event.payment.cardDetails?.card.lastFourDigits);\n  });\n\n  SquareMobilePayments.addListener('paymentDidFail', (event) => {\n    console.error('Payment failed:', event.message);\n  });\n\n  SquareMobilePayments.addListener('paymentDidCancel', (event) => {\n    console.log('Payment cancelled');\n  });\n};\n```\n\n### Listen for reader events\n\nListen for reader status changes and changes to the available card input methods:\n\n```typescript\nimport { SquareMobilePayments } from '@capawesome/capacitor-square-mobile-payments';\n\nconst listenToReaderEvents = () => {\n  SquareMobilePayments.addListener('readerWasAdded', (event) => {\n    console.log('Reader added:', event.reader.serialNumber);\n  });\n\n  SquareMobilePayments.addListener('readerDidChange', (event) => {\n    console.log('Reader changed:', event.reader.serialNumber, event.change);\n  });\n\n  SquareMobilePayments.addListener('availableCardInputMethodsDidChange', (event) => {\n    console.log('Available methods:', event.cardInputMethods);\n  });\n};\n```\n\n### Get the available card input methods\n\nRead the card entry methods that are currently available based on the connected readers (e.g. tap, dip, swipe, or keyed entry):\n\n```typescript\nimport { SquareMobilePayments } from '@capawesome/capacitor-square-mobile-payments';\n\nconst getAvailableMethods = async () => {\n  const { cardInputMethods } = await SquareMobilePayments.getAvailableCardInputMethods();\n  console.log('Available card input methods:', cardInputMethods);\n};\n```\n\n## API\n\n<docgen-index>\n\n* [`initialize(...)`](#initialize)\n* [`authorize(...)`](#authorize)\n* [`isAuthorized()`](#isauthorized)\n* [`deauthorize()`](#deauthorize)\n* [`showSettings()`](#showsettings)\n* [`showMockReader()`](#showmockreader)\n* [`hideMockReader()`](#hidemockreader)\n* [`getSettings()`](#getsettings)\n* [`startPairing()`](#startpairing)\n* [`stopPairing()`](#stoppairing)\n* [`isPairingInProgress()`](#ispairinginprogress)\n* [`getReaders()`](#getreaders)\n* [`forgetReader(...)`](#forgetreader)\n* [`retryConnection(...)`](#retryconnection)\n* [`startPayment(...)`](#startpayment)\n* [`cancelPayment()`](#cancelpayment)\n* [`getAvailableCardInputMethods()`](#getavailablecardinputmethods)\n* [`linkAppleAccount()`](#linkappleaccount)\n* [`relinkAppleAccount()`](#relinkappleaccount)\n* [`isAppleAccountLinked()`](#isappleaccountlinked)\n* [`isDeviceCapable()`](#isdevicecapable)\n* [`checkPermissions()`](#checkpermissions)\n* [`requestPermissions()`](#requestpermissions)\n* [`addListener('readerPairingDidBegin', ...)`](#addlistenerreaderpairingdidbegin-)\n* [`addListener('readerPairingDidSucceed', ...)`](#addlistenerreaderpairingdidsucceed-)\n* [`addListener('readerPairingDidFail', ...)`](#addlistenerreaderpairingdidfail-)\n* [`addListener('readerWasAdded', ...)`](#addlistenerreaderwasadded-)\n* [`addListener('readerWasRemoved', ...)`](#addlistenerreaderwasremoved-)\n* [`addListener('readerDidChange', ...)`](#addlistenerreaderdidchange-)\n* [`addListener('availableCardInputMethodsDidChange', ...)`](#addlisteneravailablecardinputmethodsdidchange-)\n* [`addListener('paymentDidFinish', ...)`](#addlistenerpaymentdidfinish-)\n* [`addListener('paymentDidFail', ...)`](#addlistenerpaymentdidfail-)\n* [`addListener('paymentDidCancel', ...)`](#addlistenerpaymentdidcancel-)\n* [`removeAllListeners()`](#removealllisteners)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n* [Enums](#enums)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### initialize(...)\n\n```typescript\ninitialize(options: InitializeOptions) => Promise<void>\n```\n\nInitialize the Square Mobile Payments SDK.\n\nThis method must be called before any other method.\n\nOnly available on Android and iOS.\n\n| Param         | Type                                                            |\n| ------------- | --------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#initializeoptions\">InitializeOptions</a></code> |\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### authorize(...)\n\n```typescript\nauthorize(options: AuthorizeOptions) => Promise<void>\n```\n\nAuthorize the SDK with a Square access token.\n\nOnly available on Android and iOS.\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#authorizeoptions\">AuthorizeOptions</a></code> |\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### isAuthorized()\n\n```typescript\nisAuthorized() => Promise<IsAuthorizedResult>\n```\n\nCheck if the SDK is currently authorized.\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#isauthorizedresult\">IsAuthorizedResult</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### deauthorize()\n\n```typescript\ndeauthorize() => Promise<void>\n```\n\nDeauthorize the SDK and clear the current authorization.\n\nOnly available on Android and iOS.\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### showSettings()\n\n```typescript\nshowSettings() => Promise<void>\n```\n\nShow the Square settings screen.\n\nThis displays a pre-built settings UI where merchants can view and manage\ntheir paired readers.\n\nOnly available on Android and iOS.\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### showMockReader()\n\n```typescript\nshowMockReader() => Promise<void>\n```\n\nShow the Mock Reader UI for testing.\n\nThis displays a mock reader interface for testing payment flows without\nphysical hardware. This is only for development and testing purposes and\nis therefore only available in debug builds.\n\nOnly available on Android and iOS.\n\n**Since:** 0.1.1\n\n--------------------\n\n\n### hideMockReader()\n\n```typescript\nhideMockReader() => Promise<void>\n```\n\nHide the Mock Reader UI.\n\nOnly available on Android and iOS.\n\n**Since:** 0.1.1\n\n--------------------\n\n\n### getSettings()\n\n```typescript\ngetSettings() => Promise<GetSettingsResult>\n```\n\nGet the current SDK settings.\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#getsettingsresult\">GetSettingsResult</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### startPairing()\n\n```typescript\nstartPairing() => Promise<void>\n```\n\nStart pairing with a Square reader.\n\nThis initiates the reader pairing process. The SDK will search for nearby\nreaders and pair with the first one found.\n\nOnly available on Android and iOS.\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### stopPairing()\n\n```typescript\nstopPairing() => Promise<void>\n```\n\nStop the reader pairing process.\n\nOnly available on Android and iOS.\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### isPairingInProgress()\n\n```typescript\nisPairingInProgress() => Promise<IsPairingInProgressResult>\n```\n\nCheck if a pairing process is currently in progress.\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#ispairinginprogressresult\">IsPairingInProgressResult</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### getReaders()\n\n```typescript\ngetReaders() => Promise<GetReadersResult>\n```\n\nGet a list of all paired readers.\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#getreadersresult\">GetReadersResult</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### forgetReader(...)\n\n```typescript\nforgetReader(options: ForgetReaderOptions) => Promise<void>\n```\n\nForget a paired reader.\n\nOnly available on Android and iOS.\n\n| Param         | Type                                                                |\n| ------------- | ------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#forgetreaderoptions\">ForgetReaderOptions</a></code> |\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### retryConnection(...)\n\n```typescript\nretryConnection(options: RetryConnectionOptions) => Promise<void>\n```\n\nRetry connecting to a reader.\n\nOnly available on Android and iOS.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#retryconnectionoptions\">RetryConnectionOptions</a></code> |\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### startPayment(...)\n\n```typescript\nstartPayment(options: StartPaymentOptions) => Promise<void>\n```\n\nStart a payment flow.\n\nThis presents the payment UI and processes the payment using the specified\nparameters. Only one payment can be active at a time.\n\nOnly available on Android and iOS.\n\n| Param         | Type                                                                |\n| ------------- | ------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#startpaymentoptions\">StartPaymentOptions</a></code> |\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### cancelPayment()\n\n```typescript\ncancelPayment() => Promise<void>\n```\n\nCancel an ongoing payment.\n\nOnly available on Android and iOS.\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### getAvailableCardInputMethods()\n\n```typescript\ngetAvailableCardInputMethods() => Promise<GetAvailableCardInputMethodsResult>\n```\n\nGet the currently available card input methods.\n\nThis returns the card entry methods that are available based on the\nconnected readers (e.g., TAP, DIP, SWIPE, KEYED).\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#getavailablecardinputmethodsresult\">GetAvailableCardInputMethodsResult</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### linkAppleAccount()\n\n```typescript\nlinkAppleAccount() => Promise<void>\n```\n\nLink a Square seller account with an Apple ID for Tap to Pay on iPhone.\n\nPresents an Apple sheet prompting the user to accept the Tap to Pay\non iPhone terms and conditions.\n\nOnly available on iOS.\n\n**Since:** 0.1.3\n\n--------------------\n\n\n### relinkAppleAccount()\n\n```typescript\nrelinkAppleAccount() => Promise<void>\n```\n\nRe-link a Square seller account with a different Apple ID.\n\nPresents an Apple sheet to change the associated Apple ID by\nshowing the Tap to Pay terms and conditions again.\n\nOnly available on iOS.\n\n**Since:** 0.1.3\n\n--------------------\n\n\n### isAppleAccountLinked()\n\n```typescript\nisAppleAccountLinked() => Promise<IsAppleAccountLinkedResult>\n```\n\nCheck if an Apple ID is already linked to a Square seller account.\n\nOnly available on iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#isappleaccountlinkedresult\">IsAppleAccountLinkedResult</a>&gt;</code>\n\n**Since:** 0.1.3\n\n--------------------\n\n\n### isDeviceCapable()\n\n```typescript\nisDeviceCapable() => Promise<IsDeviceCapableResult>\n```\n\nCheck if the device is capable of Tap to Pay on iPhone.\n\nOnly available on iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#isdevicecapableresult\">IsDeviceCapableResult</a>&gt;</code>\n\n**Since:** 0.1.3\n\n--------------------\n\n\n### checkPermissions()\n\n```typescript\ncheckPermissions() => Promise<PermissionStatus>\n```\n\nCheck the current permission status.\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#permissionstatus\">PermissionStatus</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### requestPermissions()\n\n```typescript\nrequestPermissions() => Promise<PermissionStatus>\n```\n\nRequest the required permissions.\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#permissionstatus\">PermissionStatus</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('readerPairingDidBegin', ...)\n\n```typescript\naddListener(eventName: 'readerPairingDidBegin', listenerFunc: ReaderPairingDidBeginListener) => Promise<PluginListenerHandle>\n```\n\nListen for reader pairing events.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                                    |\n| ------------------ | --------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'readerPairingDidBegin'</code>                                                    |\n| **`listenerFunc`** | <code><a href=\"#readerpairingdidbeginlistener\">ReaderPairingDidBeginListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('readerPairingDidSucceed', ...)\n\n```typescript\naddListener(eventName: 'readerPairingDidSucceed', listenerFunc: ReaderPairingDidSucceedListener) => Promise<PluginListenerHandle>\n```\n\nListen for successful reader pairing events.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                                        |\n| ------------------ | ------------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'readerPairingDidSucceed'</code>                                                      |\n| **`listenerFunc`** | <code><a href=\"#readerpairingdidsucceedlistener\">ReaderPairingDidSucceedListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('readerPairingDidFail', ...)\n\n```typescript\naddListener(eventName: 'readerPairingDidFail', listenerFunc: ReaderPairingDidFailListener) => Promise<PluginListenerHandle>\n```\n\nListen for failed reader pairing events.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                                  |\n| ------------------ | ------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'readerPairingDidFail'</code>                                                   |\n| **`listenerFunc`** | <code><a href=\"#readerpairingdidfaillistener\">ReaderPairingDidFailListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('readerWasAdded', ...)\n\n```typescript\naddListener(eventName: 'readerWasAdded', listenerFunc: ReaderWasAddedListener) => Promise<PluginListenerHandle>\n```\n\nListen for reader added events.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                      |\n| ------------------ | ------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'readerWasAdded'</code>                                             |\n| **`listenerFunc`** | <code><a href=\"#readerwasaddedlistener\">ReaderWasAddedListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('readerWasRemoved', ...)\n\n```typescript\naddListener(eventName: 'readerWasRemoved', listenerFunc: ReaderWasRemovedListener) => Promise<PluginListenerHandle>\n```\n\nListen for reader removed events.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                          |\n| ------------------ | ----------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'readerWasRemoved'</code>                                               |\n| **`listenerFunc`** | <code><a href=\"#readerwasremovedlistener\">ReaderWasRemovedListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('readerDidChange', ...)\n\n```typescript\naddListener(eventName: 'readerDidChange', listenerFunc: ReaderDidChangeListener) => Promise<PluginListenerHandle>\n```\n\nListen for reader status and property changes.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                        |\n| ------------------ | --------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'readerDidChange'</code>                                              |\n| **`listenerFunc`** | <code><a href=\"#readerdidchangelistener\">ReaderDidChangeListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('availableCardInputMethodsDidChange', ...)\n\n```typescript\naddListener(eventName: 'availableCardInputMethodsDidChange', listenerFunc: AvailableCardInputMethodsDidChangeListener) => Promise<PluginListenerHandle>\n```\n\nListen for available card input method changes.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                                                              |\n| ------------------ | ----------------------------------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'availableCardInputMethodsDidChange'</code>                                                                 |\n| **`listenerFunc`** | <code><a href=\"#availablecardinputmethodsdidchangelistener\">AvailableCardInputMethodsDidChangeListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('paymentDidFinish', ...)\n\n```typescript\naddListener(eventName: 'paymentDidFinish', listenerFunc: PaymentDidFinishListener) => Promise<PluginListenerHandle>\n```\n\nListen for successful payment completion events.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                          |\n| ------------------ | ----------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'paymentDidFinish'</code>                                               |\n| **`listenerFunc`** | <code><a href=\"#paymentdidfinishlistener\">PaymentDidFinishListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('paymentDidFail', ...)\n\n```typescript\naddListener(eventName: 'paymentDidFail', listenerFunc: PaymentDidFailListener) => Promise<PluginListenerHandle>\n```\n\nListen for failed payment events.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                      |\n| ------------------ | ------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'paymentDidFail'</code>                                             |\n| **`listenerFunc`** | <code><a href=\"#paymentdidfaillistener\">PaymentDidFailListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### addListener('paymentDidCancel', ...)\n\n```typescript\naddListener(eventName: 'paymentDidCancel', listenerFunc: PaymentDidCancelListener) => Promise<PluginListenerHandle>\n```\n\nListen for cancelled payment events.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                          |\n| ------------------ | ----------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'paymentDidCancel'</code>                                               |\n| **`listenerFunc`** | <code><a href=\"#paymentdidcancellistener\">PaymentDidCancelListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### removeAllListeners()\n\n```typescript\nremoveAllListeners() => Promise<void>\n```\n\nRemove all listeners for this plugin.\n\nOnly available on Android and iOS.\n\n**Since:** 0.0.1\n\n--------------------\n\n\n### Interfaces\n\n\n#### InitializeOptions\n\n| Prop             | Type                | Description             | Since |\n| ---------------- | ------------------- | ----------------------- | ----- |\n| **`locationId`** | <code>string</code> | The Square location ID. | 0.0.1 |\n\n\n#### AuthorizeOptions\n\n| Prop              | Type                | Description              | Since |\n| ----------------- | ------------------- | ------------------------ | ----- |\n| **`accessToken`** | <code>string</code> | The Square access token. | 0.0.1 |\n\n\n#### IsAuthorizedResult\n\n| Prop             | Type                 | Description                              | Since |\n| ---------------- | -------------------- | ---------------------------------------- | ----- |\n| **`authorized`** | <code>boolean</code> | Whether the SDK is currently authorized. | 0.0.1 |\n\n\n#### GetSettingsResult\n\n| Prop              | Type                                                | Description              | Since |\n| ----------------- | --------------------------------------------------- | ------------------------ | ----- |\n| **`version`**     | <code>string</code>                                 | The SDK version.         | 0.0.1 |\n| **`environment`** | <code><a href=\"#environment\">Environment</a></code> | The current environment. | 0.0.1 |\n\n\n#### IsPairingInProgressResult\n\n| Prop             | Type                 | Description                                         | Since |\n| ---------------- | -------------------- | --------------------------------------------------- | ----- |\n| **`inProgress`** | <code>boolean</code> | Whether a pairing process is currently in progress. | 0.0.1 |\n\n\n#### GetReadersResult\n\n| Prop          | Type                      | Description                 | Since |\n| ------------- | ------------------------- | --------------------------- | ----- |\n| **`readers`** | <code>ReaderInfo[]</code> | The list of paired readers. | 0.0.1 |\n\n\n#### ReaderInfo\n\n| Prop                            | Type                                                                    | Description                                                                                                | Since |\n| ------------------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ----- |\n| **`serialNumber`**              | <code>string</code>                                                     | The reader's serial number.                                                                                | 0.0.1 |\n| **`model`**                     | <code><a href=\"#readermodel\">ReaderModel</a></code>                     | The reader's model.                                                                                        | 0.0.1 |\n| **`status`**                    | <code><a href=\"#readerstatus\">ReaderStatus</a></code>                   | The reader's current status.                                                                               | 0.0.1 |\n| **`firmwareVersion`**           | <code>string</code>                                                     | The reader's firmware version.                                                                             | 0.0.1 |\n| **`batteryLevel`**              | <code>number</code>                                                     | The reader's battery level (0-100).                                                                        | 0.0.1 |\n| **`isCharging`**                | <code>boolean</code>                                                    | Whether the reader is currently charging.                                                                  | 0.0.1 |\n| **`supportedCardInputMethods`** | <code>CardInputMethod[]</code>                                          | The card input methods supported by this reader.                                                           | 0.0.1 |\n| **`unavailableReasonInfo`**     | <code><a href=\"#unavailablereasoninfo\">UnavailableReasonInfo</a></code> | Additional information about why the reader is unavailable. Only present when status is ReaderUnavailable. | 0.0.1 |\n\n\n#### UnavailableReasonInfo\n\n| Prop          | Type                                                            | Description                                                        | Since |\n| ------------- | --------------------------------------------------------------- | ------------------------------------------------------------------ | ----- |\n| **`reason`**  | <code><a href=\"#unavailablereason\">UnavailableReason</a></code> | The reason code why the reader is unavailable.                     | 0.0.1 |\n| **`message`** | <code>string</code>                                             | A human-readable message describing why the reader is unavailable. | 0.0.1 |\n\n\n#### ForgetReaderOptions\n\n| Prop               | Type                | Description                                | Since |\n| ------------------ | ------------------- | ------------------------------------------ | ----- |\n| **`serialNumber`** | <code>string</code> | The serial number of the reader to forget. | 0.0.1 |\n\n\n#### RetryConnectionOptions\n\n| Prop               | Type                | Description                                          | Since |\n| ------------------ | ------------------- | ---------------------------------------------------- | ----- |\n| **`serialNumber`** | <code>string</code> | The serial number of the reader to retry connection. | 0.0.1 |\n\n\n#### StartPaymentOptions\n\n| Prop                    | Type                                                            | Description             | Since |\n| ----------------------- | --------------------------------------------------------------- | ----------------------- | ----- |\n| **`paymentParameters`** | <code><a href=\"#paymentparameters\">PaymentParameters</a></code> | The payment parameters. | 0.0.1 |\n| **`promptParameters`**  | <code><a href=\"#promptparameters\">PromptParameters</a></code>   | The prompt parameters.  | 0.0.1 |\n\n\n#### PaymentParameters\n\n| Prop                   | Type                                                      | Description                                                                                                                                                 | Default                                | Since |\n| ---------------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |\n| **`amountMoney`**      | <code><a href=\"#money\">Money</a></code>                   | The amount of money to charge.                                                                                                                              |                                        | 0.0.1 |\n| **`paymentAttemptId`** | <code>string</code>                                       | A unique identifier for this payment attempt. This is used for idempotent payment requests.                                                                 |                                        | 0.0.1 |\n| **`processingMode`**   | <code><a href=\"#processingmode\">ProcessingMode</a></code> | The processing mode for this payment.                                                                                                                       | <code>ProcessingMode.AutoDetect</code> | 0.0.1 |\n| **`referenceId`**      | <code>string</code>                                       | A user-defined reference ID to associate with the payment.                                                                                                  |                                        | 0.0.1 |\n| **`note`**             | <code>string</code>                                       | An optional note to add to the payment.                                                                                                                     |                                        | 0.0.1 |\n| **`orderId`**          | <code>string</code>                                       | The Square order ID to associate with this payment.                                                                                                         |                                        | 0.0.1 |\n| **`tipMoney`**         | <code><a href=\"#money\">Money</a></code>                   | The tip amount.                                                                                                                                             |                                        | 0.0.1 |\n| **`applicationFee`**   | <code><a href=\"#money\">Money</a></code>                   | The application fee.                                                                                                                                        |                                        | 0.0.1 |\n| **`autocomplete`**     | <code>boolean</code>                                      | Whether to automatically complete the payment. If false, the payment will be authorized but not captured, requiring manual completion via the Payments API. | <code>true</code>                      | 0.0.1 |\n| **`delayDuration`**    | <code>string</code>                                       | The duration to delay before automatically completing or canceling the payment. Only applicable when autocomplete is false.                                 |                                        | 0.0.1 |\n| **`delayAction`**      | <code><a href=\"#delayaction\">DelayAction</a></code>       | The action to take when the delay duration expires. Only applicable when autocomplete is false.                                                             |                                        | 0.0.1 |\n\n\n#### Money\n\n| Prop           | Type                                                  | Description                                                     | Since |\n| -------------- | ----------------------------------------------------- | --------------------------------------------------------------- | ----- |\n| **`amount`**   | <code>number</code>                                   | The amount in the smallest currency unit (e.g., cents for USD). | 0.0.1 |\n| **`currency`** | <code><a href=\"#currencycode\">CurrencyCode</a></code> | The ISO 4217 currency code.                                     | 0.0.1 |\n\n\n#### PromptParameters\n\n| Prop                    | Type                                              | Description                          | Default                         | Since |\n| ----------------------- | ------------------------------------------------- | ------------------------------------ | ------------------------------- | ----- |\n| **`mode`**              | <code><a href=\"#promptmode\">PromptMode</a></code> | The prompt mode.                     | <code>PromptMode.Default</code> | 0.0.1 |\n| **`additionalMethods`** | <code>AdditionalPaymentMethod[]</code>            | Additional payment methods to allow. | <code>[]</code>                 | 0.0.1 |\n\n\n#### GetAvailableCardInputMethodsResult\n\n| Prop                   | Type                           | Description                       | Since |\n| ---------------------- | ------------------------------ | --------------------------------- | ----- |\n| **`cardInputMethods`** | <code>CardInputMethod[]</code> | The available card input methods. | 0.0.1 |\n\n\n#### IsAppleAccountLinkedResult\n\n| Prop         | Type                 | Description                                                 | Since |\n| ------------ | -------------------- | ----------------------------------------------------------- | ----- |\n| **`linked`** | <code>boolean</code> | Whether an Apple ID is linked to the Square seller account. | 0.1.3 |\n\n\n#### IsDeviceCapableResult\n\n| Prop          | Type                 | Description                                            | Since |\n| ------------- | -------------------- | ------------------------------------------------------ | ----- |\n| **`capable`** | <code>boolean</code> | Whether the device is capable of Tap to Pay on iPhone. | 0.1.3 |\n\n\n#### PermissionStatus\n\n| Prop                   | Type                                                        | Description                                                                                                                                 | Since |\n| ---------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----- |\n| **`location`**         | <code><a href=\"#permissionstate\">PermissionState</a></code> | Permission state for accessing location. Required to confirm that payments are occurring in a supported Square location.                    | 0.0.1 |\n| **`recordAudio`**      | <code><a href=\"#permissionstate\">PermissionState</a></code> | Permission state for recording audio. Required to receive data from magstripe readers.                                                      | 0.0.1 |\n| **`bluetoothConnect`** | <code><a href=\"#permissionstate\">PermissionState</a></code> | Permission state for Bluetooth connect. Required to receive data from contactless and chip readers. Only available on Android.              | 0.0.1 |\n| **`bluetoothScan`**    | <code><a href=\"#permissionstate\">PermissionState</a></code> | Permission state for Bluetooth scan. Required to store information during checkout. Only available on Android.                              | 0.0.1 |\n| **`readPhoneState`**   | <code><a href=\"#permissionstate\">PermissionState</a></code> | Permission state for reading phone state. Required to identify the device sending information to Square servers. Only available on Android. | 0.0.1 |\n| **`bluetooth`**        | <code><a href=\"#permissionstate\">PermissionState</a></code> | Permission state for using Bluetooth. Only available on iOS.                                                                                | 0.0.1 |\n\n\n#### PluginListenerHandle\n\n| Prop         | Type                                      |\n| ------------ | ----------------------------------------- |\n| **`remove`** | <code>() =&gt; Promise&lt;void&gt;</code> |\n\n\n#### ReaderPairingDidFailEvent\n\n| Prop          | Type                | Description        | Since |\n| ------------- | ------------------- | ------------------ | ----- |\n| **`code`**    | <code>string</code> | The error code.    | 0.0.1 |\n| **`message`** | <code>string</code> | The error message. | 0.0.1 |\n\n\n#### ReaderWasAddedEvent\n\n| Prop         | Type                                              | Description                | Since |\n| ------------ | ------------------------------------------------- | -------------------------- | ----- |\n| **`reader`** | <code><a href=\"#readerinfo\">ReaderInfo</a></code> | The reader that was added. | 0.0.1 |\n\n\n#### ReaderWasRemovedEvent\n\n| Prop         | Type                                              | Description                  | Since |\n| ------------ | ------------------------------------------------- | ---------------------------- | ----- |\n| **`reader`** | <code><a href=\"#readerinfo\">ReaderInfo</a></code> | The reader that was removed. | 0.0.1 |\n\n\n#### ReaderDidChangeEvent\n\n| Prop         | Type                                                  | Description                       | Since |\n| ------------ | ----------------------------------------------------- | --------------------------------- | ----- |\n| **`reader`** | <code><a href=\"#readerinfo\">ReaderInfo</a></code>     | The reader that changed.          | 0.0.1 |\n| **`change`** | <code><a href=\"#readerchange\">ReaderChange</a></code> | The type of change that occurred. | 0.0.1 |\n\n\n#### AvailableCardInputMethodsDidChangeEvent\n\n| Prop                   | Type                           | Description                       | Since |\n| ---------------------- | ------------------------------ | --------------------------------- | ----- |\n| **`cardInputMethods`** | <code>CardInputMethod[]</code> | The available card input methods. | 0.0.1 |\n\n\n#### PaymentDidFinishEvent\n\n| Prop          | Type                                        | Description            | Since |\n| ------------- | ------------------------------------------- | ---------------------- | ----- |\n| **`payment`** | <code><a href=\"#payment\">Payment</a></code> | The completed payment. | 0.0.1 |\n\n\n#### Payment\n\n| Prop                 | Type                                                              | Description                                                                                  | Since |\n| -------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ----- |\n| **`id`**             | <code>string \\| null</code>                                       | The unique identifier for this payment. For offline payments, this may be null until synced. | 0.0.1 |\n| **`type`**           | <code><a href=\"#paymenttype\">PaymentType</a></code>               | The payment type.                                                                            | 0.0.1 |\n| **`status`**         | <code><a href=\"#paymentstatus\">PaymentStatus</a></code>           | The payment status.                                                                          | 0.0.1 |\n| **`amountMoney`**    | <code><a href=\"#money\">Money</a></code>                           | The amount paid.                                                                             | 0.0.1 |\n| **`tipMoney`**       | <code><a href=\"#money\">Money</a></code>                           | The tip amount.                                                                              | 0.0.1 |\n| **`applicationFee`** | <code><a href=\"#money\">Money</a></code>                           | The application fee.                                                                         | 0.0.1 |\n| **`referenceId`**    | <code>string</code>                                               | The reference ID provided in the payment parameters.                                         | 0.0.1 |\n| **`orderId`**        | <code>string</code>                                               | The order ID associated with this payment.                                                   | 0.0.1 |\n| **`cardDetails`**    | <code><a href=\"#cardpaymentdetails\">CardPaymentDetails</a></code> | <a href=\"#card\">Card</a> payment details. Only present for card payments.                    | 0.0.1 |\n| **`createdAt`**      | <code>string</code>                                               | The time the payment was created (ISO 8601 format).                                          | 0.0.1 |\n| **`updatedAt`**      | <code>string</code>                                               | The time the payment was updated (ISO 8601 format).                                          | 0.0.1 |\n\n\n#### CardPaymentDetails\n\n| Prop                    | Type                                                        | Description                     | Since |\n| ----------------------- | ----------------------------------------------------------- | ------------------------------- | ----- |\n| **`card`**              | <code><a href=\"#card\">Card</a></code>                       | The card information.           | 0.0.1 |\n| **`entryMethod`**       | <code><a href=\"#cardinputmethod\">CardInputMethod</a></code> | The card entry method used.     | 0.0.1 |\n| **`authorizationCode`** | <code>string</code>                                         | The authorization code.         | 0.0.1 |\n| **`applicationName`**   | <code>string</code>                                         | The EMV application name.       | 0.0.1 |\n| **`applicationId`**     | <code>string</code>                                         | The EMV application identifier. | 0.0.1 |\n\n\n#### Card\n\n| Prop                  | Type                                            | Description                              | Since |\n| --------------------- | ----------------------------------------------- | ---------------------------------------- | ----- |\n| **`brand`**           | <code><a href=\"#cardbrand\">CardBrand</a></code> | The card brand.                          | 0.0.1 |\n| **`lastFourDigits`**  | <code>string</code>                             | The last four digits of the card number. | 0.0.1 |\n| **`cardholderName`**  | <code>string</code>                             | The cardholder name.                     | 0.0.1 |\n| **`expirationMonth`** | <code>number</code>                             | The card expiration month (1-12).        | 0.0.1 |\n| **`expirationYear`**  | <code>number</code>                             | The card expiration year.                | 0.0.1 |\n\n\n#### PaymentDidFailEvent\n\n| Prop          | Type                                        | Description         | Since |\n| ------------- | ------------------------------------------- | ------------------- | ----- |\n| **`payment`** | <code><a href=\"#payment\">Payment</a></code> | The failed payment. | 0.0.1 |\n| **`code`**    | <code>string</code>                         | The error code.     | 0.0.1 |\n| **`message`** | <code>string</code>                         | The error message.  | 0.0.1 |\n\n\n#### PaymentDidCancelEvent\n\n| Prop          | Type                                        | Description            | Since |\n| ------------- | ------------------------------------------- | ---------------------- | ----- |\n| **`payment`** | <code><a href=\"#payment\">Payment</a></code> | The cancelled payment. | 0.0.1 |\n\n\n### Type Aliases\n\n\n#### CurrencyCode\n\n<code>string</code>\n\n\n#### PermissionState\n\n<code>'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'</code>\n\n\n#### ReaderPairingDidBeginListener\n\nCallback to receive reader pairing start notifications.\n\n<code>(): void</code>\n\n\n#### ReaderPairingDidSucceedListener\n\nCallback to receive reader pairing success notifications.\n\n<code>(): void</code>\n\n\n#### ReaderPairingDidFailListener\n\nCallback to receive reader pairing failure notifications.\n\n<code>(event: <a href=\"#readerpairingdidfailevent\">ReaderPairingDidFailEvent</a>): void</code>\n\n\n#### ReaderWasAddedListener\n\nCallback to receive reader added notifications.\n\n<code>(event: <a href=\"#readerwasaddedevent\">ReaderWasAddedEvent</a>): void</code>\n\n\n#### ReaderWasRemovedListener\n\nCallback to receive reader removed notifications.\n\n<code>(event: <a href=\"#readerwasremovedevent\">ReaderWasRemovedEvent</a>): void</code>\n\n\n#### ReaderDidChangeListener\n\nCallback to receive reader change notifications.\n\n<code>(event: <a href=\"#readerdidchangeevent\">ReaderDidChangeEvent</a>): void</code>\n\n\n#### AvailableCardInputMethodsDidChangeListener\n\nCallback to receive available card input method change notifications.\n\n<code>(event: <a href=\"#availablecardinputmethodsdidchangeevent\">AvailableCardInputMethodsDidChangeEvent</a>): void</code>\n\n\n#### PaymentDidFinishListener\n\nCallback to receive payment completion notifications.\n\n<code>(event: <a href=\"#paymentdidfinishevent\">PaymentDidFinishEvent</a>): void</code>\n\n\n#### PaymentDidFailListener\n\nCallback to receive payment failure notifications.\n\n<code>(event: <a href=\"#paymentdidfailevent\">PaymentDidFailEvent</a>): void</code>\n\n\n#### PaymentDidCancelListener\n\nCallback to receive payment cancellation notifications.\n\n<code>(event: <a href=\"#paymentdidcancelevent\">PaymentDidCancelEvent</a>): void</code>\n\n\n### Enums\n\n\n#### Environment\n\n| Members          | Value                     | Description                      | Since |\n| ---------------- | ------------------------- | -------------------------------- | ----- |\n| **`Production`** | <code>'production'</code> | Production environment.          | 0.0.1 |\n| **`Sandbox`**    | <code>'sandbox'</code>    | Sandbox environment for testing. | 0.0.1 |\n\n\n#### ReaderModel\n\n| Members                  | Value                               | Description                             | Since |\n| ------------------------ | ----------------------------------- | --------------------------------------- | ----- |\n| **`ContactlessAndChip`** | <code>'CONTACTLESS_AND_CHIP'</code> | Square Reader for contactless and chip. | 0.0.1 |\n| **`Magstripe`**          | <code>'MAGSTRIPE'</code>            | Square Reader for magstripe.            | 0.0.1 |\n| **`Stand`**              | <code>'STAND'</code>                | Square Stand.                           | 0.0.1 |\n| **`TapToPay`**           | <code>'TAP_TO_PAY'</code>           | Tap to Pay on iPhone.                   | 0.1.3 |\n| **`Unknown`**            | <code>'UNKNOWN'</code>              | Unknown reader model.                   | 0.0.1 |\n\n\n#### ReaderStatus\n\n| Members                  | Value                               | Description                                                          | Since |\n| ------------------------ | ----------------------------------- | -------------------------------------------------------------------- | ----- |\n| **`Ready`**              | <code>'READY'</code>                | Reader is paired, connected, and ready to accept payments.           | 0.0.1 |\n| **`ConnectingToSquare`** | <code>'CONNECTING_TO_SQUARE'</code> | Reader is connecting to Square servers.                              | 0.0.1 |\n| **`ConnectingToDevice`** | <code>'CONNECTING_TO_DEVICE'</code> | Reader is connecting to the mobile device.                           | 0.0.1 |\n| **`Faulty`**             | <code>'FAULTY'</code>               | Reader has a hardware or connection error in an unrecoverable state. | 0.0.1 |\n| **`ReaderUnavailable`**  | <code>'READER_UNAVAILABLE'</code>   | Reader is connected but unable to process payments.                  | 0.0.1 |\n\n\n#### CardInputMethod\n\n| Members     | Value                | Description                 | Since |\n| ----------- | -------------------- | --------------------------- | ----- |\n| **`Tap`**   | <code>'TAP'</code>   | Contactless card tap (NFC). | 0.0.1 |\n| **`Dip`**   | <code>'DIP'</code>   | EMV chip card insertion.    | 0.0.1 |\n| **`Swipe`** | <code>'SWIPE'</code> | Magnetic stripe swipe.      | 0.0.1 |\n| **`Keyed`** | <code>'KEYED'</code> | Manually keyed card entry.  | 0.0.1 |\n\n\n#### UnavailableReason\n\n| Members                        | Value                                     | Description                                               | Since |\n| ------------------------------ | ----------------------------------------- | --------------------------------------------------------- | ----- |\n| **`BluetoothError`**           | <code>'BLUETOOTH_ERROR'</code>            | Bluetooth connection issue. Only available on iOS.        | 0.0.1 |\n| **`BluetoothFailure`**         | <code>'BLUETOOTH_FAILURE'</code>          | Bluetooth failure. Only available on Android.             | 0.0.1 |\n| **`BluetoothDisabled`**        | <code>'BLUETOOTH_DISABLED'</code>         | Bluetooth is disabled. Only available on Android.         | 0.0.1 |\n| **`FirmwareUpdate`**           | <code>'FIRMWARE_UPDATE'</code>            | Reader firmware is updating. Only available on iOS.       | 0.0.1 |\n| **`BlockingUpdate`**           | <code>'BLOCKING_UPDATE'</code>            | Blocking firmware update. Only available on Android.      | 0.0.1 |\n| **`ReaderUnavailableOffline`** | <code>'READER_UNAVAILABLE_OFFLINE'</code> | Reader is unavailable offline. Only available on Android. | 0.0.1 |\n| **`DeviceDeveloperMode`**      | <code>'DEVICE_DEVELOPER_MODE'</code>      | Device is in developer mode. Only available on Android.   | 0.0.1 |\n| **`Unknown`**                  | <code>'UNKNOWN'</code>                    | Unknown reason.                                           | 0.0.1 |\n\n\n#### ProcessingMode\n\n| Members           | Value                       | Description                                                        | Since |\n| ----------------- | --------------------------- | ------------------------------------------------------------------ | ----- |\n| **`AutoDetect`**  | <code>'AUTO_DETECT'</code>  | Automatically detect the best processing mode (online or offline). | 0.0.1 |\n| **`OnlineOnly`**  | <code>'ONLINE_ONLY'</code>  | Process the payment online only.                                   | 0.0.1 |\n| **`OfflineOnly`** | <code>'OFFLINE_ONLY'</code> | Allow offline payment processing.                                  | 0.0.1 |\n\n\n#### DelayAction\n\n| Members        | Value                   | Description                                                | Since |\n| -------------- | ----------------------- | ---------------------------------------------------------- | ----- |\n| **`Complete`** | <code>'COMPLETE'</code> | Automatically complete the payment when the delay expires. | 0.0.1 |\n| **`Cancel`**   | <code>'CANCEL'</code>   | Automatically cancel the payment when the delay expires.   | 0.0.1 |\n\n\n#### PromptMode\n\n| Members       | Value                  | Description                        | Since |\n| ------------- | ---------------------- | ---------------------------------- | ----- |\n| **`Default`** | <code>'DEFAULT'</code> | Use the default Square payment UI. | 0.0.1 |\n| **`Custom`**  | <code>'CUSTOM'</code>  | Use a custom payment UI.           | 0.0.1 |\n\n\n#### AdditionalPaymentMethod\n\n| Members     | Value                | Description                      | Since |\n| ----------- | -------------------- | -------------------------------- | ----- |\n| **`Keyed`** | <code>'KEYED'</code> | Allow manually keyed card entry. | 0.0.1 |\n| **`Cash`**  | <code>'CASH'</code>  | Allow cash payments.             | 0.0.1 |\n\n\n#### ReaderChange\n\n| Members                       | Value                                     | Description                                                        | Since |\n| ----------------------------- | ----------------------------------------- | ------------------------------------------------------------------ | ----- |\n| **`BatteryDidBeginCharging`** | <code>'BATTERY_DID_BEGIN_CHARGING'</code> | Reader battery started charging. Only available on iOS.            | 0.0.1 |\n| **`BatteryDidEndCharging`**   | <code>'BATTERY_DID_END_CHARGING'</code>   | Reader battery stopped charging. Only available on iOS.            | 0.0.1 |\n| **`BatteryLevelDidChange`**   | <code>'BATTERY_LEVEL_DID_CHANGE'</code>   | Reader battery level changed. Only available on iOS.               | 0.0.1 |\n| **`BatteryCharging`**         | <code>'BATTERY_CHARGING'</code>           | Reader battery charging status changed. Only available on Android. | 0.0.1 |\n| **`Added`**                   | <code>'ADDED'</code>                      | Reader was added. Only available on Android.                       | 0.0.1 |\n| **`Removed`**                 | <code>'REMOVED'</code>                    | Reader was removed. Only available on Android.                     | 0.0.1 |\n| **`StatusDidChange`**         | <code>'STATUS_DID_CHANGE'</code>          | Reader status changed.                                             | 0.0.1 |\n\n\n#### PaymentType\n\n| Members       | Value                  | Description                                       | Since |\n| ------------- | ---------------------- | ------------------------------------------------- | ----- |\n| **`Online`**  | <code>'ONLINE'</code>  | <a href=\"#payment\">Payment</a> processed online.  | 0.0.1 |\n| **`Offline`** | <code>'OFFLINE'</code> | <a href=\"#payment\">Payment</a> processed offline. | 0.0.1 |\n\n\n#### PaymentStatus\n\n| Members         | Value                    | Description                                                        | Since |\n| --------------- | ------------------------ | ------------------------------------------------------------------ | ----- |\n| **`Completed`** | <code>'COMPLETED'</code> | <a href=\"#payment\">Payment</a> was completed successfully.         | 0.0.1 |\n| **`Approved`**  | <code>'APPROVED'</code>  | <a href=\"#payment\">Payment</a> was approved but not yet completed. | 0.0.1 |\n| **`Canceled`**  | <code>'CANCELED'</code>  | <a href=\"#payment\">Payment</a> was canceled.                       | 0.0.1 |\n| **`Failed`**    | <code>'FAILED'</code>    | <a href=\"#payment\">Payment</a> failed.                             | 0.0.1 |\n| **`Pending`**   | <code>'PENDING'</code>   | <a href=\"#payment\">Payment</a> is pending.                         | 0.0.1 |\n\n\n#### CardBrand\n\n| Members               | Value                           | Description                  | Since |\n| --------------------- | ------------------------------- | ---------------------------- | ----- |\n| **`Visa`**            | <code>'VISA'</code>             | Visa card.                   | 0.0.1 |\n| **`Mastercard`**      | <code>'MASTERCARD'</code>       | Mastercard.                  | 0.0.1 |\n| **`AmericanExpress`** | <code>'AMERICAN_EXPRESS'</code> | American Express card.       | 0.0.1 |\n| **`Discover`**        | <code>'DISCOVER'</code>         | Discover card.               | 0.0.1 |\n| **`DiscoverDiners`**  | <code>'DISCOVER_DINERS'</code>  | Discover Diners card.        | 0.0.1 |\n| **`Jcb`**             | <code>'JCB'</code>              | JCB card.                    | 0.0.1 |\n| **`UnionPay`**        | <code>'UNION_PAY'</code>        | UnionPay card.               | 0.0.1 |\n| **`Interac`**         | <code>'INTERAC'</code>          | Interac card.                | 0.0.1 |\n| **`Eftpos`**          | <code>'EFTPOS'</code>           | Eftpos card.                 | 0.0.1 |\n| **`Other`**           | <code>'OTHER'</code>            | Other or unknown card brand. | 0.0.1 |\n\n</docgen-api>\n\n## FAQ\n\n### Which platforms are supported by this plugin?\n\nThe plugin supports Android and iOS. There is no Web implementation, since the Square Mobile Payments SDK requires native hardware access to card readers.\n\n### How can I test payments without a physical card reader?\n\nUse the `showMockReader()` method to display a mock reader interface for testing payment flows without physical hardware. It is only intended for development and testing purposes and is therefore only available in debug builds. You can hide it again with `hideMockReader()`.\n\n### What permissions does the plugin require?\n\nThe plugin requires location access to confirm that payments are occurring in a supported Square location, Bluetooth access to connect to Square card readers, and, on iOS, microphone access to receive data from magstripe readers. You can check and request the required permissions with `checkPermissions()` and `requestPermissions()`, and the corresponding privacy descriptions must be added to your `Info.plist` on iOS (see [Installation](#installation)).\n\n### Does the plugin support Tap to Pay on iPhone?\n\nYes, on iOS you can link a Square seller account with an Apple ID using `linkAppleAccount()`, which presents an Apple sheet with the Tap to Pay on iPhone terms and conditions. Use `isDeviceCapable()` to check whether the device supports Tap to Pay on iPhone, and `relinkAppleAccount()` to switch to a different Apple ID.\n\n### Why do the plugin methods fail be","readmeFilename":"README.md"}