{"_id":"iap","_rev":"51-75dec8bd4841f2146f982bbd36ca9a59","name":"iap","description":"In-app purchase validation for Apple, Google, Amazon, Roku","dist-tags":{"latest":"1.1.1"},"versions":{"0.1.0":{"name":"iap","version":"0.1.0","description":"Apple in-app purchases for Node.js","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":"","keywords":["iap","apple","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","_id":"iap@0.1.0","dist":{"shasum":"20a9ddd18e69b84507ad047cdbfed9377cee2d3f","tarball":"https://registry.npmjs.org/iap/-/iap-0.1.0.tgz","integrity":"sha512-vCzXzKfeKf4dr0aUdiovk0mBaucy5a4Lq8P7x9N63QEmRo9PTXqZu3+jXPUizip1/NRk3ob75GN9+xT1XRfZRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID9l5myINb1K0xVolzOsBqD/EphLpYO6wN1jSX45ksH1AiEA3xq85K/Ubbuc0uQXKZOzDI26eR6nRbT+PjlzqzmOzes="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"}],"directories":{}},"0.1.1":{"name":"iap","version":"0.1.1","description":"Apple in-app purchases for Node.js","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":"","keywords":["iap","apple","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","_id":"iap@0.1.1","dist":{"shasum":"2528028dccc10eac776cd654df9f2e25add1eaa9","tarball":"https://registry.npmjs.org/iap/-/iap-0.1.1.tgz","integrity":"sha512-N8qgWV4vvCVG7uL5/XB3DyLkUfZWE0MHGPUOQ4hvs5KJVlPu48YX62K0TPiptWz5csZbKU3/LL+ZURQLa1eqHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEOjkV55EdADJS1wl3qyvxhDfPl3W42IYmdk3woD/eXqAiEA2aFd6jBoe9kHDoqZPaQqfP38OKtg+G0SOKus/AEEU6k="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"}],"directories":{}},"0.2.0":{"name":"iap","version":"0.2.0","description":"Apple in-app purchases for Node.js","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/Wizcorp/node-iap"},"keywords":["iap","apple","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8"},"bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"_id":"iap@0.2.0","dist":{"shasum":"42fad47cac2473c75bdf00d6e902ec764a2ad1ae","tarball":"https://registry.npmjs.org/iap/-/iap-0.2.0.tgz","integrity":"sha512-37qTNC20t8vvSsb4r9FwTLbWZ8WSMbARf3nC+2uO7BIWXiBzlo5RPns1EdLCC+cLE4o3xZ6FAQzULoZfRbjLAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6U589goahNGI8rUerZt0oSA/ocDRyzBBVTA3NB3QhKwIhAIUiHS4k7vNHwSWcRY6YoZjFL+OtybEH/OhvtrGcEISP"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"}],"directories":{}},"0.2.1":{"name":"iap","version":"0.2.1","description":"Apple in-app purchases for Node.js","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/Wizcorp/node-iap"},"keywords":["iap","apple","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8"},"bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"_id":"iap@0.2.1","dist":{"shasum":"cc2511b1382e40bb8ba76da54d2152a00e52d40f","tarball":"https://registry.npmjs.org/iap/-/iap-0.2.1.tgz","integrity":"sha512-xV9DlwcjmD9QMIYDTOWu+9Toxq547qHnP1vyzBYSVvPrOfmJE1HZMtdyBpV7slzFVbGWyRX16z+vTrpNNg/SZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDuoRkf/P/jav2mKcWGrgfFISDLMz9+vNbXwBBKIQ2GAIhAKeQVlnaKsskNkICkW+jPC1WRU/ATkygT1Hvflmer00Z"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"}],"directories":{}},"0.3.0":{"name":"iap","version":"0.3.0","description":"In-app purchases for Node.js (Apple, Google)","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/Wizcorp/node-iap"},"keywords":["iap","apple","google","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"_id":"iap@0.3.0","dist":{"shasum":"a66e5fb42e40838a328171c0f5bc8e0f76493ffd","tarball":"https://registry.npmjs.org/iap/-/iap-0.3.0.tgz","integrity":"sha512-ewdmfLbdET6U/j/eKSHVm4kD+TSFnU2hTAfOZMh3IGvTyUECSxnB+7CDp9G5Yz3jm6LPodHAIwVaWgNvdH4ICg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFKoBo0kQMT4SvfvnnVGjsQce7enX0+jhlSLdcmiT+lwIgFVW0hnJWjq/coSZcPm/F9JbjxhLMRjG18FyZ5wQ7P/U="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"}],"directories":{}},"0.3.1":{"name":"iap","version":"0.3.1","description":"In-app purchases for Node.js (Apple, Google)","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/Wizcorp/node-iap"},"keywords":["iap","apple","google","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"_id":"iap@0.3.1","dist":{"shasum":"51c64da1c329daa3a5a36e4ef4b26797ed25af59","tarball":"https://registry.npmjs.org/iap/-/iap-0.3.1.tgz","integrity":"sha512-G31SdHsGmxbPjg6XVxTWk4YGpBMkoWGiNeSvzt9Wucv5E+em0p0YeAZgMjWS0orfT/bl+Hua79L0lv5ykYy3Lw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsFVWJUMsb5kdGe1KSmFN32I/2q2xeD9ej9SWlGRsSZQIhALdAYfpfhfL8BzucSRbsNK25ab3+1MfTc+KFSnsaKS7V"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"}],"directories":{}},"0.3.2":{"name":"iap","version":"0.3.2","description":"In-app purchases for Node.js (Apple, Google)","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/Wizcorp/node-iap"},"keywords":["iap","apple","google","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"_id":"iap@0.3.2","dist":{"shasum":"6e78c365b8e911b50a0e9ccefa24d27a4c6ca4e5","tarball":"https://registry.npmjs.org/iap/-/iap-0.3.2.tgz","integrity":"sha512-Qs41Zoy2l68/kUG6HMxKIrVnecFV4e2vbR/pe9GnRAPWtth1CcLIR+NZU3+y2aKTVmGSiq6sZS152HyiATbEqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmDhYEmLdhtZEFIUP2RcVGDQL4fx3sJNHxEeboZOHdiQIgTc2oGIdJudip7F/zizafmpwjDZwNpRZcHJVxT8EWnYQ="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"}],"directories":{}},"0.3.3":{"name":"iap","version":"0.3.3","description":"In-app purchases for Node.js (Apple, Google)","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","apple","google","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"devDependencies":{"jsdoc":"3.3.0-alpha4","jshint":"2.5.0","mocha":"1.20.1"},"gitHead":"5af0989a564c3ccb710547c20387fdd4944f7d82","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@0.3.3","_shasum":"208ca374462627c90858d364e9b7894e0275a2f6","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"},{"name":"wizcorp","email":"npm@wizcorp.jp"}],"dist":{"shasum":"208ca374462627c90858d364e9b7894e0275a2f6","tarball":"https://registry.npmjs.org/iap/-/iap-0.3.3.tgz","integrity":"sha512-1z2BYDxhbzlKAtYzphYZYy8fwVOZ1LrEWvv0lzfyHMnIpR6TyEI7ckoDaK9jvwPxVPXzmd2T3/SqtTQ1zeScCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHY76oNWC4KH87J3UpDOBDlw3CAxFhLkqO7zXSsuWwiwAiEA0YVTZGDME0s5CidbgY5B9S5NbOIvN10ZqIjqHPAqU6g="}]},"directories":{}},"0.4.0":{"name":"iap","version":"0.4.0","description":"In-app purchases for Node.js (Apple, Google)","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","apple","google","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"devDependencies":{"jsdoc":"3.3.0-alpha4","jshint":"2.5.0","mocha":"1.20.1"},"gitHead":"7085b6b696fc26150a5ba1054897822619421c65","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@0.4.0","_shasum":"2618ec118ca67d59f263e6e32345ea27c04f7a0c","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.2.0","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"},{"name":"wizcorp","email":"npm@wizcorp.jp"}],"dist":{"shasum":"2618ec118ca67d59f263e6e32345ea27c04f7a0c","tarball":"https://registry.npmjs.org/iap/-/iap-0.4.0.tgz","integrity":"sha512-rSDX+3zJ6ZhpBi+uz7tJxqf7rOfXlexGHZoe845CraRnI8o5EeSV8ygKNspFTAkB7w10Bzz3J7J1bK3WZ0TuxQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH53yyHUwevzRCsGiq01InqZmaZvNwrYVt6TPELG2+N9AiEA/Bduc5XnyasQDvia/7NQQ8ClldJu7ZJla+3BvnFDhSI="}]},"directories":{}},"0.5.0":{"name":"iap","version":"0.5.0","description":"In-app purchases for Node.js (Apple, Google)","main":"index.js","scripts":{"test":"jshint ."},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","apple","google","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"devDependencies":{"jshint":"2.5.0","pre-commit":"^1.1.2"},"gitHead":"cdf46965d99c9f58a335a1a48516aa41c4aa65d0","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@0.5.0","_shasum":"671054943295cf81e0e43061a20806aa6fe89a88","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"},{"name":"wizcorp","email":"npm@wizcorp.jp"}],"dist":{"shasum":"671054943295cf81e0e43061a20806aa6fe89a88","tarball":"https://registry.npmjs.org/iap/-/iap-0.5.0.tgz","integrity":"sha512-VQlnl1NiAyZ2kSi6v2ZwNG2DTg9V9HLVEcmgZYCKErdbFZtkPAFFBEOXjhMC7p5JuHNVGO0VK7Z0Tdln7C/wcQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGjKZyZWQdBp24O+bTbaPz5Qt7d8uFKiu1Im292vT4cwIgIa5yUqzu1Vu8mttJoVJjtJc39+h8ouwJKwJJ146Hhr0="}]},"directories":{}},"0.6.0":{"name":"iap","version":"0.6.0","description":"In-app purchases for Node.js (Apple, Google, Roku)","main":"index.js","scripts":{"test":"jshint ."},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","apple","google","roku","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"devDependencies":{"jshint":"2.5.0","pre-commit":"^1.1.2"},"gitHead":"cd5caa97522fe8548ac677622a4d9cdaec42df71","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@0.6.0","_shasum":"598266cea1ce5c1881afcc8cfc6125dae41a5cb2","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.12.0","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"},{"name":"wizcorp","email":"npm@wizcorp.jp"}],"dist":{"shasum":"598266cea1ce5c1881afcc8cfc6125dae41a5cb2","tarball":"https://registry.npmjs.org/iap/-/iap-0.6.0.tgz","integrity":"sha512-1kgMx+bG0KMk1YV0UgVDguywTajYUz4WiWeVrqn5m54xHzX7LsbAPL9iOolzgM/lLpPf2d0+QJmZyscICKY8ZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTHFqgbYsncAYvQIPrNjANd/jq9ZHOWBGjaRORFrFGPwIgE/TrJE/jLkwvnYmwy/sfbEj2H8xJD9ZAKjeOS+T7aMw="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/iap-0.6.0.tgz_1495019232068_0.5180657091550529"},"directories":{}},"0.7.0":{"name":"iap","version":"0.7.0","description":"In-app purchases for Node.js (Apple, Google, Roku)","main":"index.js","scripts":{"test":"jshint ."},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","apple","google","roku","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"devDependencies":{"jshint":"2.5.0","pre-commit":"^1.1.2"},"gitHead":"d01275652fbeb8b74ca2c322df3323368e56a03a","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@0.7.0","_shasum":"e50a97aef43311b9d81fa149001b1d911926ca13","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"dist":{"shasum":"e50a97aef43311b9d81fa149001b1d911926ca13","tarball":"https://registry.npmjs.org/iap/-/iap-0.7.0.tgz","integrity":"sha512-mvExJTxy+Z4aQrE1uTHTfALo9ORK9swnJBGaKxoQMdZ5I+nkxiW69KQR2yTf3orNbo9M547KGGB/XHw0gYT7QQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBApcnCj2yyMOH3tjR2sWQrBl0bgjZ+nEoJPPyI2MXYpAiEAhKE0vQx1cdf4Guo0KsKZFzuzTkNiTMCFtro0IKQJXyE="}]},"maintainers":[{"name":"ronkorving","email":"ron@ronkorving.nl"},{"name":"wizcorp","email":"npm@wizcorp.jp"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iap-0.7.0.tgz_1498533885952_0.29102527955546975"},"directories":{}},"0.8.0":{"name":"iap","version":"0.8.0","description":"In-app purchases for Node.js (Apple, Google, Roku)","main":"index.js","scripts":{"test":"jshint ."},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","apple","google","roku","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"devDependencies":{"jshint":"2.5.0","pre-commit":"^1.1.2"},"gitHead":"b86b21b675882373e6476198454c04b952264f9e","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@0.8.0","_npmVersion":"5.3.0","_nodeVersion":"8.3.0","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"dist":{"integrity":"sha512-uRzVI4owR/M2wcExAOAaFciUTzhHU7U7JUwe2d2anwRksR0Q7kf5MCAkv0axuwb4R8zl43BcPCtyL/pjhU6MUQ==","shasum":"8d9b4cbdbd57d806d9acd516c31af3b00328f050","tarball":"https://registry.npmjs.org/iap/-/iap-0.8.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3K5cCKnK+nxLNyiF1Ni3kbLf8/2v3YieS5hqUKNmy/QIhALJSMz41CVtJ0pt0kK4eu4EpjJEBwXY/bzvEXjat997p"}]},"maintainers":[{"email":"npm@wizcorp.jp","name":"notawizard"},{"email":"ron@ronkorving.nl","name":"ronkorving"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iap-0.8.0.tgz_1504686647830_0.7240514354780316"},"directories":{}},"0.9.0":{"name":"iap","version":"0.9.0","description":"In-app purchase validation for Apple, Google, Amazon, Roku","main":"index.js","scripts":{"test":"jshint ."},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","apple","google","roku","android","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"minimist":"0.0.8","jwt-simple":"0.2.0","form-urlencoded":"0.0.6"},"devDependencies":{"jshint":"2.5.0","pre-commit":"^1.1.2"},"gitHead":"2f0d2980fc903bf2310bd0de81e44b51473b4a5f","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@0.9.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"dist":{"integrity":"sha512-1DL7Uv0HtrRteaHx0jdvlVp9mGK37wI31aOqUfYyz18Gw8FILm2PcwvHcBO/Wxlupu7GsCShuluJey2QGjoy3Q==","shasum":"02fce1a17c5ec11f741fb6d28a70807993dfaaff","tarball":"https://registry.npmjs.org/iap/-/iap-0.9.0.tgz","fileCount":20,"unpackedSize":37071,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESULVfKLeurr+JeCCaXAkcuByvX3NrC3fhNkkZ4L80OAiB4x+oDHdDKFDjchJ9JlP6+gzoC4ELI6UZT/SWhbQrqgw=="}]},"maintainers":[{"email":"npm@wizcorp.jp","name":"notawizard"},{"email":"ron@ronkorving.nl","name":"ronkorving"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iap_0.9.0_1518492464640_0.0734090779152421"},"_hasShrinkwrap":false},"0.9.1":{"name":"iap","version":"0.9.1","description":"In-app purchase validation for Apple, Google, Amazon, Roku","main":"index.js","scripts":{"test":"eslint .","precommit":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","amazon","apple","google","roku","android","ios","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"form-urlencoded":"0.0.6","jwt-simple":"0.5.1","minimist":"0.0.8"},"devDependencies":{"eslint":"4.19.1","husky":"0.14.3"},"gitHead":"d3d5c1f9b2612526ba55d0dc50bf4ed66afbab12","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@0.9.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"dist":{"integrity":"sha512-hvxBfr8impdQg27ahEMik72it6pFa5NKwFJnejNWPA8zASxawLg/NaPriWpS+trj0rHUlh+k9C77GVRQym93hQ==","shasum":"065ef97e9423c5ba78cf631ff09323eb1c769410","tarball":"https://registry.npmjs.org/iap/-/iap-0.9.1.tgz","fileCount":21,"unpackedSize":36715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa86HpCRA9TVsSAnZWagAAUnQP/3e8BUSP9ZfQNnhjAkwR\n42l+NpMkuo7xylL6G6982vVnKeoc9wO/WTgAVKhNXCMYEB9GVk/+gNuCUoqs\nCAE+zcDWIAob85xdgJ1eZflA4PjdW9C6aI4X+7Ya8Tuxsk0twpjuDQoAuXrY\ne4LZzCVFimtu1k6NPkQNLdtkNxO0PrbV3PxjPyqievaFQ1wJVzdpgFd59rM0\n4Yv1G0TfCYWTdQXGVud9Nir2RyPAQ8L/gDamX5vVFAFEpP/u9htMHkjw1c7o\nI5nREmAYZwtf2lT9C9HO0dkIQjGMGAQ2kYPK7GffXYH54VPTe+amluPbEXM8\n5PXeZs2rOJRqcuMpKitjKAqCBjtDakWSJw2pJrlHrb52RS4Tqxp+wI9PS9ZZ\nREMTUlelQIZG0oYgDTmzKqeGKol+urEqBEHWS1sEap0y0aRLvZI+MV8KAK1K\n4E8U4toLhgsrwHheK1KHBKc8UrKtJYxBMnpZN4dBIli+jNi/H93WOwpy0t9X\nU4h3vKQyS26ujQBHX3k98vIOO+kiGhC6bbdg+vm03So72b9XxK430HarPuTZ\njj4YpxsBy5aeFdQ4hJLrFeftoyGxYO2bG3t4JjaYiomswim9ukOu5vt+kwDp\nKUBvkHNEmNLDA21/WZRlfLphKSC/6Hq+dGjr6VOKjVsvT7MmlFg+JBKzn5Uw\nu/DS\r\n=AOcz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA38pcx0e1jh2p2TzYVYpfL8V0Q0K1OsrSm+/zdHUnSXAiEAp7dOuG9Vrk9zvXBXzxEb7d+V2vVjARx9AsuZcQ4a9Ig="}]},"maintainers":[{"email":"npm@wizcorp.jp","name":"notawizard"},{"email":"ron@ronkorving.nl","name":"ronkorving"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iap_0.9.1_1525916135088_0.8940590729806195"},"_hasShrinkwrap":false},"0.10.0":{"name":"iap","version":"0.10.0","description":"In-app purchase validation for Apple, Google, Amazon, Roku","main":"index.js","scripts":{"test":"eslint .","precommit":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","amazon","apple","google","roku","android","ios","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"form-urlencoded":"0.0.6","jwt-simple":"0.5.1","minimist":"0.0.8"},"devDependencies":{"eslint":"4.19.1","husky":"0.14.3"},"gitHead":"fec2db40e7bf48fa58447f0712d7202b679c6b2f","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@0.10.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"dist":{"integrity":"sha512-GsgLZlJiEQgIw3dPJaOpMJSNnTO0ncN0bf75aGT6/uuEVPqmYnYTarh9rne5GT0NVUo85t7iReylBhgLip5aTQ==","shasum":"9085311604a4492ba5661c1d7b33b1341bc4c161","tarball":"https://registry.npmjs.org/iap/-/iap-0.10.0.tgz","fileCount":21,"unpackedSize":42161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoaEhCRA9TVsSAnZWagAAH5kP/0OAf6BFCtEQ5/T8mZci\nu1Ujw0MUn5drcXh+GEDLcM36pitJQ6GqHv7JoPyAy86fl9Y+W+rxPcdIGe6n\n0j8Fc/EN4HF8tE31AGyTyHB3k6jSpMRBw1BQjzWG1jQtT6xnQdnvRUwDzRlv\nLbrqOOL3vgaFg6xQEo1GHD0qCwQ1ldOcXZtsR4RiDsrcpelNnq4FFyKZdn8o\nGxs8SywwmDxXZ6GWMN7drf1kI9g/Gg0IZqcuyY9HNre1NXIiQbzOdHXjwK35\nE+e9DnhFBhVGRQ8gvaOqMigIxzU3gc7EToF3HaRCtIIRM/eIBccQJ0Cc9Ui2\nthrvWDdg33n+r6yhLnHbM1xnsnebVyG7NXZK/DbFPYsVu4Of1HLBI2zmJmT0\n8tmAMWizLbA1Jju62mCYF5Xds3GovjYEkrWP8+bOMtFNGoINnTuuCdnkJK3C\n+vKWPqpSZPNeXQr6zX5j63zm7Xqhw5yU9YOSJvc6CV/MucmL9mP0FXm4dVY+\nebJipJMKxH8z0rd8mVogoIydQb70UdPWfYj7iDaJpW0a3/Ou4wPyZWHnXDO3\nFz+TSa/1W4dyrIgdeajxF3I5LIL3m1zsT3pd0z5IiBEZWWYPXLDor2p2CZ5T\nmVxtcunsoFpXIcbYD+9sY8Jy2OwgPaZjpsRF5Taz3+mw+3LXF4pdwdhOeEdV\nGs9X\r\n=3cLT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE7GJ8t3l9ZWJrB6oLVttw+yuWzr67WDpWEIEV9Y1OeOAiBecjMW/R/7E9g1F/rt/9dHEqs+gXG7jl9FJ17aAUEydg=="}]},"maintainers":[{"email":"github@almirkadric.com","name":"almirkadric"},{"email":"npm@wizcorp.jp","name":"notawizard"},{"email":"ron@ronkorving.nl","name":"ronkorving"},{"email":"mtrudel@wizcorp.jp","name":"stelcheck"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iap_0.10.0_1554096417376_0.6887373588293495"},"_hasShrinkwrap":false},"1.0.0":{"name":"iap","version":"1.0.0","description":"In-app purchase validation for Apple, Google, Amazon, Roku","main":"index.js","scripts":{"test":"eslint .","precommit":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","amazon","apple","google","roku","android","ios","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"form-urlencoded":"0.0.6","jwt-simple":"0.5.1","minimist":"0.0.8"},"devDependencies":{"eslint":"4.19.1","husky":"0.14.3"},"gitHead":"b61b7e8ee518ae0157e4223bb1a75e76d9d55cc8","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@1.0.0","_nodeVersion":"11.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-yGFriwLnnS0s0Q155nCQEFzHspK3VWYcdRW0fDwAX2ciGGxZU5p1O2wl4ZJpOZfrKVTLWZU6q9RyHAjKaNKoaA==","shasum":"b25882784ef1a816c9775bfd767ba1f87fac480b","tarball":"https://registry.npmjs.org/iap/-/iap-1.0.0.tgz","fileCount":21,"unpackedSize":42159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoaU4CRA9TVsSAnZWagAAaAQQAJFcUC0jMZRvrC1aufT2\nWfxEtn8qLUV/LhQEVAKdjW+75SjOXJEIJUzPULZN1gE5WQ81bjbxSPk6ILeB\noGHSJvr7v8qunClFyb+pakqcciK5JqblP9RCzl77Wa+XMx32P3TTTyubVe3/\nJKR+sfUmra5wGx1jmiohQT5BmOT9d2ZDzX3YwTPqhNE8hKL26AJAFBV8suIW\ni2mkq+U7YOd2R/+pmEjYj5YtxCaY0TAWN9+q1QnVnqq/wkHfvHLVxqngJoTw\nQFkY5yg/1jf/gOhoQvsZmhPJc5oxXSGpdVLnl5gUyWxeiGJ9CIzY4xESWkm0\nmI+CmhEt/0ivK2U0tWL5EgLi8jCbuNoKGWv38KoVVX63HXmYvzePMZ1aKUK7\nbY3YmEK5JokwpWglz6ycg2+84dgl/t4GLv+qAJlWZgxQQkufl5Jejpr6tL6f\n50/BVYhIVS4DK4Xzmp2UHPhUiLX+NPRFBDLaqKgBvhjFGZ6d6rqxkIX+I6L7\nKdedcmhLjVk+y1Tm28eDhf+v2kE/Ratv8CjdGGonzajadBZrW3syOkMWJUZV\nHH0Z0pujlYCpXzqwyeqw3rVftMqjyxYg7pMlfvWk8kz2JPBgTlbvdlCXtQzk\nV369t+2sAHf3paJLCM7ezm1bwRe6QvO9a50Z9DcmRWWIqjYvBibm+DbgZ4OL\n7vcS\r\n=RDuZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE5Wj+CVCfyCRSyVGeYC10S2tSqeBrMysMuKAWrVW2dHAiEA+YAOvuOB/TWAlz9O/dvP4HeroV81MVWa0Z/ycDKnuAs="}]},"maintainers":[{"email":"github@almirkadric.com","name":"almirkadric"},{"email":"npm@wizcorp.jp","name":"notawizard"},{"email":"ron@ronkorving.nl","name":"ronkorving"},{"email":"mtrudel@wizcorp.jp","name":"stelcheck"}],"_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iap_1.0.0_1554097464050_0.7135571134251368"},"_hasShrinkwrap":false},"1.1.0":{"name":"iap","version":"1.1.0","description":"In-app purchase validation for Apple, Google, Amazon, Roku","main":"index.js","scripts":{"test":"eslint .","precommit":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","amazon","apple","google","roku","android","ios","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"jwt-simple":"0.5.6","minimist":"0.0.8"},"devDependencies":{"eslint":"6.1.0","husky":"3.0.2"},"gitHead":"c5536b186cbdaf6e67ea2cf87159639139b2c9aa","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@1.1.0","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","dist":{"integrity":"sha512-CyRrO8IStTXB7JtKWZqSZY3r+MFwy7g7LF/4rZsTiROjWgk0Mue9OfiNPj4wwt1TYvPVKyM4WHRx8OFfnn7giw==","shasum":"963b1862a3f7346440e81091023a707faca18a1d","tarball":"https://registry.npmjs.org/iap/-/iap-1.1.0.tgz","fileCount":21,"unpackedSize":42127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQ5D7CRA9TVsSAnZWagAARFkP/15FTqWnK4hZWJk/WVhF\nns6/hN5yEZXTOgkNf6nAe52b6uqkdzyqrN/H6gNRtdrlHbPkvcDsPWX2Wttx\nc+Qqql6+WT/xxCHUZbE1n8k4GGKTTNFTndd2uSV7HiAduhFfNOO+YLG5uKNo\n8nWSLG9wBp5FvaYdp2cD22VfWIny4SUu29+EjUau+eBbE7w36xlJWtyHJXOn\nicmCXRUXHabpEY2G2rqaEfBr9nnDooxMOoCzcmSfgPeenvu0D9KvRIhlQq6S\nS7LzroCPSUQ4Eg4twA+zpSXwVE0cfIFDWro1kibnKEvF64/O7DpQTymG6KJM\n200tTrT4N5ocOmMsF1dK2hsH+OZulkp2GyPQ90V2NFkrMQh+/3HyEspqzZFA\nr4Y50Q83f5zy7YPQZ0dY9MOjxF2eOINrQWZDeH6fIG3c6Xl31i5caRRT0o07\nK4J3AF/44grS/ZEawLUTF67ucivaz9STPoYv1VeHHEdeGsgLvpQ4xMi+AgmN\n8GHwQ7Jcv7kQh3Kwh1T1cBem1O8nXWabs/dnS47fi0Z4tpiDzD5uYVXCG//U\nE+rtMiC/E8rolPAkrcxMLRVachWjRYqSQJw2wpGw7nU5KElEoCojB4HCeMky\njpgfVNbYlNKIorgJ39qidYnDQnxeLTt7X/4Nl1Wy1mj/sTha4io5TUhXnTJj\nDXfC\r\n=3du9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfSz8SMb8qot0HfFuKrXzwVTcbW4/agoA9SkrJ3LZ3agIhAI9Ru8YapMfeDKumN/HjeZNykekUW7X/S54qxPbmNJRb"}]},"maintainers":[{"email":"github@almirkadric.com","name":"almirkadric"},{"email":"npm@wizcorp.jp","name":"notawizard"},{"email":"ron@ronkorving.nl","name":"ronkorving"},{"email":"mtrudel@wizcorp.jp","name":"stelcheck"}],"_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iap_1.1.0_1564709114645_0.18775781905412048"},"_hasShrinkwrap":false},"1.1.1":{"name":"iap","version":"1.1.1","description":"In-app purchase validation for Apple, Google, Amazon, Roku","main":"index.js","scripts":{"test":"eslint ."},"repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"keywords":["iap","amazon","apple","google","roku","android","ios","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","dependencies":{"jwt-simple":"0.5.6","minimist":"0.0.8"},"devDependencies":{"eslint":"6.8.0","husky":"3.0.2"},"husky":{"hooks":{"pre-commit":"npm test"}},"gitHead":"16f7e72552cad6bad277f88807d9d4e04fa3907f","bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"homepage":"https://github.com/Wizcorp/node-iap#readme","_id":"iap@1.1.1","_nodeVersion":"10.18.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-AWKJkpIq8LW1GRecYlTHNTqwIvGf87zUh7N2gJDY0jLLGYvETHkl27NvcyIu5fsfZkr3/dySQa7R4MSat2wuTw==","shasum":"cac708a2d6fde635f869b50b9a388de27594b873","tarball":"https://registry.npmjs.org/iap/-/iap-1.1.1.tgz","fileCount":21,"unpackedSize":42844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeAdeACRA9TVsSAnZWagAAA6sP+waFLRPhdQEgqdgg+t9+\nk1wm7vFhhAd7kRrt4HzUoZtFdcOYGUgcb4xkYp1XYUW22WwbHNKJz/0wGZux\n0HeepjwFtvnbMNxkyo0FjghK+Pw/pBznV6lj34hK5wOcUSwAl/56QeVXp9zo\naoHv4a8/LmnwzeTbBil6PtUYdV61dFW96afy80GmIbZ8mITMgPAMtZWAcsYO\nlVQr3EMR92B19CMfIh3RoOE06nfGbRhIwdlfkZYMAQMwyXR5+5OkSjbwUGYG\nBVIns5azOBnMtMZDtELUfyytDwiqj0EkWdb/mQuxP5KEaglC79oF39Sq2g6T\nNzCeMWV7Knt+YjMOXx4KviADw0mUhbSJWcn3m20pq1gsLVR02hoMr6gXWvTF\n8wdGredlTf/HtzShrAAsdFagXsHAZ44+jdrexnQMWZrSyGjo3TxMTeUfqI69\nzNn1nG3u1Pefup6mOtAKRHs+ZbKSJ/6avR7fnaQDamtSLnfLrHb4R48rpY1D\nxzNflV7xoIYCYAvCD3qqj/EvUKN1GYEW59EgFdfO/OISdBPJHaU78yZOaw0z\nFt/GP9q/Zb+LVzPvZUN1rtXMgTfoljvvKeSuhGnv6sL6MvbVD9rBNleMJQZg\n+/9+6TYbX8UMBN4ZOlkaLOnF/jA6T30LGGZeN+IvZaXvL9hE4Rh2vgFI/2qX\noe6B\r\n=ZzD9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQ9Qs4eFMX4dfXv3t+nk3t0Ldr7BPH8vEks19kOivHeAIhAIq2YJvcRzftsaq008ZNNvrC5l04WqLBHVpSkv9ig4z2"}]},"maintainers":[{"email":"github@almirkadric.com","name":"almirkadric"},{"email":"npm@wizcorp.jp","name":"notawizard"},{"email":"ron@ronkorving.nl","name":"ronkorving"},{"email":"mtrudel@wizcorp.jp","name":"stelcheck"}],"_npmUser":{"name":"ronkorving","email":"ron@ronkorving.nl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iap_1.1.1_1577179007552_0.24262908621909451"},"_hasShrinkwrap":false}},"readme":"# In-app purchase verification\n\nInspired by the [iap_verifier](https://github.com/pcrawfor/iap_verifier/) CoffeeScript module\nwritten by Paul Crawford, I wanted a pure JavaScript implementation of in-app purchase verification.\nI also wanted to add support for other app stores, and not just limit this to Apple. The `iap`\nmodule is exactly that. Pull requests to add support for other platforms are very welcome!\n\n## Installation\n\n```sh\nnpm install iap\n```\n\n## Usage\n\n### Initialisation\n\n```javascript\nvar iap = require('iap');\n\nvar platform = 'apple';\nvar payment = {\n\treceipt: 'receipt data', // always required\n\tproductId: 'abc',\n\tpackageName: 'my.app',\n\tsecret: 'password',\n\tsubscription: true,\t// optional, if google play subscription\n\tkeyObject: {}, // required, if google\n\tuserId: 'user id', // required, if amazon\n\tdevToken: 'developer id' // required, if roku\n};\n```\n\n### Purchase verification ( all platforms )\n\nA single method is exposed to verify purchase receipts:\n\n```javascript\niap.verifyPayment(platform, payment, function (error, response) {\n\t/* your code */\n});\n```\n\nThe receipt you pass must conform to the requirements of the backend you are verifying with. Read\nthe next chapter for more information on the format.\n\n### Subscription cancellation ( Google Play only )\n\nGoogle exposes [an API for server side cancellation](https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/cancel) of recurring suscriptions. This might be\nbe used to enable users to easily cancel subscriptions from within the app ( without going\nto Play Store ), or to allow subscriptions to be canceled by support people when users request\nit ( when for some reason the users are unable or unwilling to do so themselves).\n\n```javascript\niap.cancelSubscription(\"google\", payment, function (error, response) {\n\t/* your code */\n});\n```\n\n## Supported platforms\n\n### Amazon\n\n**The payment object**\n\nThe receipt string represents the transaction returned from a channel or product\npurchase.\n\nA Shared secret and user ID is required.\n\n**The response**\n\nThe response passed back to your callback will also be Amazon specific. The entire parsed receipt\nwill be in the result object:\n\n```json\n{\n\t\"receipt\": {\n\t\t\"betaProduct\": false,\n\t\t\"cancelDate\": null,\n\t\t\"parentProductId\": null,\n\t\t\"productId\": \"com.amazon.iapsamplev2.gold_medal\",\n\t\t\"productType\": \"CONSUMABLE\",\n\t\t\"purchaseDate\": 1399070221749,\n\t\t\"quantity\": 1,\n\t\t\"receiptId\": \"wE1EG1gsEZI9q9UnI5YoZ2OxeoVKPdR5bvPMqyKQq5Y=:1:11\",\n\t\t\"renewalDate\": null,\n\t\t\"term\": null,\n\t\t\"termSku\": null,\n\t\t\"testTransaction\": false\n\t},\n\t\"transactionId\": \"wE1EG1gsEZI9q9UnI5YoZ2OxeoVKPdR5bvPMqyKQq5Y=:1:11\",\n\t\"productId\": \"com.amazon.iapsamplev2.gold_medal\",\n\t\"platform\": \"amazon\"\n}\n```\n\n### Apple\n\n**The payment object**\n\nThe receipt string passed may be either the base64 string that Apple really wants, or the decoded\nreceipt as returned by the iOS SDK (in which case it will be automatically base64 serialized).\n\nBoth productId and packageName (bundle ID) are optional, but when provided will be tested against.\nIf the receipt does not match the provided values, an error will be returned.\n\nTo verify auto-renewable subscriptions you need to provide `secret` field that\ncontains your In-App Purchase Shared Secret\n\nApple supports returning only the most recent transaction for auto-renewable subscriptions via their [exclude-old-transactions](https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html) option. This can greatly save on bandwidth for users that have more than one transaction. To enable this, pass `excludeOldTransactions` on the payment object:\n\n```javascript\nlet payment = {\n  ...\n  excludeOldTransactions: true\n}\n```\n\n**The response**\n\nThe response passed back to your callback will also be Apple specific. The entire parsed receipt\nwill be in the result object. Applications that support monthly and yearly\nsubscription access will represent auto-renewable terms in either the `in_app`\nor `latestReceiptInfo` property.\n\n```json\n{\n\t\"receipt\": {\n\t\t\"original_purchase_date_pst\": \"2016-10-29 15:46:57 America/Los_Angeles\",\n\t\t\"purchase_date_ms\": \"1477802802000\",\n\t\t\"unique_identifier\": \"78abf2209323434771637ee22f0ee8b8341f14b4\",\n\t\t\"original_transaction_id\": \"120000257973875\",\n\t\t\"bvrs\": \"0.0.1\",\n\t\t\"transaction_id\": \"120000265421254\",\n\t\t\"quantity\": \"1\",\n\t\t\"unique_vendor_identifier\": \"206FED24-2EAB-4FC6-B946-4AF61086DF21\",\n\t\t\"item_id\": \"820817285\",\n\t\t\"product_id\": \"abc\",\n\t\t\"purchase_date\": \"2016-10-29 22:46:57 Etc/GMT\",\n\t\t\"original_purchase_date\": \"2016-10-29 22:46:57 Etc/GMT\",\n\t\t\"purchase_date_pst\": \"2016-10-29 15:46:57 America/Los_Angeles\",\n\t\t\"bid\": \"test.myapp\",\n\t\t\"original_purchase_date_ms\": \"1477781217000\",\n\t\t\"in_app\": [\n\t\t\t{\n\t\t\t\t\"quantity\": \"1\",\n\t\t\t\t\"product_id\": \"abc\",\n\t\t\t\t\"transaction_id\": \"120000265421254\",\n\t\t\t\t\"original_transaction_id\": \"120000257973875\",\n\t\t\t\t\"purchase_date\": \"2016-10-30 04:46:42 Etc/GMT\",\n\t\t\t\t\"purchase_date_ms\": \"1477802802000\",\n\t\t\t\t\"purchase_date_pst\": \"2016-10-29 21:46:42 America/Los_Angeles\",\n\t\t\t\t\"original_purchase_date\": \"2016-10-29 22:46:57 Etc/GMT\",\n\t\t\t\t\"original_purchase_date_ms\": \"1477781217000\",\n\t\t\t\t\"original_purchase_date_pst\": \"2016-10-29 15:46:57 America/Los_Angeles\",\n\t\t\t\t\"expires_date\": \"2016-11-30 05:46:42 Etc/GMT\",\n\t\t\t\t\"expires_date_ms\": \"1480484802000\",\n\t\t\t\t\"expires_date_pst\": \"2016-11-29 21:46:42 America/Los_Angeles\",\n\t\t\t\t\"web_order_line_item_id\": \"820817285\",\n\t\t\t\t\"is_trial_period\": \"false\"\n\t\t\t},\n\t\t]\n\t},\n\t\"latestReceiptInfo\": [\n\t\t{\n\t\t\t\"quantity\": \"1\",\n\t\t\t\"product_id\": \"abc\",\n\t\t\t\"transaction_id\": \"120000233230473\",\n\t\t\t\"original_transaction_id\": \"120000233230473\",\n\t\t\t\"purchase_date\": \"2016-06-12 22:36:58 Etc/GMT\",\n\t\t\t\"purchase_date_ms\": \"1465771018000\",\n\t\t\t\"purchase_date_pst\": \"2016-06-12 15:36:58 America/Los_Angeles\",\n\t\t\t\"original_purchase_date\": \"2016-06-12 22:36:58 Etc/GMT\",\n\t\t\t\"original_purchase_date_ms\": \"1465771018000\",\n\t\t\t\"original_purchase_date_pst\": \"2016-06-12 15:36:58 America/Los_Angeles\",\n\t\t\t\"expires_date\": \"2016-07-12 22:36:58 Etc/GMT\",\n\t\t\t\"expires_date_ms\": \"1468363018000\",\n\t\t\t\"expires_date_pst\": \"2016-07-12 15:36:58 America/Los_Angeles\",\n\t\t\t\"web_order_line_item_id\": \"120000034778618\",\n\t\t\t\"is_trial_period\": \"true\"\n\t\t},\n\t],\n\t\"pendingRenewalInfo\": [\n\t\t{\n\t\t  \"expiration_intent\": \"1\",\n \t\t\t\"auto_renew_product_id\": \"abc\",\n\t\t\t\"original_transaction_id\": \"120000233230473\",\n\t\t\t\"is_in_billing_retry_period\": \"0\",\n\t\t\t\"product_id\": \"abc\",\n\t\t\t\"auto_renew_status\": \"0\"\n\t\t}\n\t],\n\t\"transactionId\": \"120000233230473\",\n\t\"productId\": \"abc\",\n\t\"platform\": \"apple\",\n\t\"environment\": \"production\"\n}\n```\n\n### Google Play\n\n**The payment object**\n\nThe receipt string is the purchase token that Google Play returns to the mobile application when a purchase is made.\n\nBoth packageName and productId are compulsory.\n\nLastly you must provide `keyObject` which is the Google API Service Account JSON key file linked to your Google Play\naccount for authentication. This property can be either a string, file buffer or an object. If provided a string or file\nbuffer, the call will automatically parse it into an object for use.\n\n**The response**\n\nThe response passed back to your callback will also be Google Play specific. The entire parsed response will be in the\nreceipt sub-object.\n\n```json\n{\n        \"receipt\": {\n                \"kind\": \"androidpublisher#productPurchase\",\n                \"purchaseTimeMillis\": \"1410835105408\",\n                \"purchaseState\": 0,\n                \"consumptionState\": 1,\n                \"developerPayload\": \"\"\n        },\n        \"transactionId\": \"ghbbkjheodjokkipdmlkjajn.AO-J1OwfrtpJd2fkzzZqv7i107yPmaUD9Vauf9g5evoqbIVzdOGYyJTSEMhSTGFkCOzGtWccxe17dtbS1c16M2OryJZPJ3z-eYhEJYiSLHxEZLnUJ8yfBmI\",\n        \"productId\": \"abc\",\n        \"platform\": \"google\"\n}\n```\n\n### Roku\n\nThe receiept string represents the transaction returned from a channel or\nproduct purchase.\n\nA developer ID is required.\n\n**The response**\n\nThe response passed back to your callback will also be Roku specific. The entire\nparsed receipt will be in the result object:\n\n```json\n{\n\t\"receipt\": {\n\t\t\"errorCode\": null,\n\t\t\"errorDetails\": null,\n\t\t\"errorMessage\": \"\",\n\t\t\"status\": 0,\n\t\t\"amount\": 4.99,\n\t\t\"cancelled\": false,\n\t\t\"channelId\": 70391,\n\t\t\"channelName\": \"abc\",\n\t\t\"couponCode\": null,\n\t\t\"currency\": \"usd\",\n\t\t\"expirationDate\": 1488337344000,\n\t\t\"originalPurchaseDate\": 1483153344000,\n\t\t\"partnerReferenceId\": null,\n\t\t\"productId\": \"5KAZUPGB.0RF0\",\n\t\t\"productName\": \"BASIC - US MONTHLY\",\n\t\t\"purchaseDate\": 1483153344000,\n\t\t\"quantity\": 1,\n\t\t\"rokuCustomerId\": \"5e56c4c4d7d1504f813c630c2790e54a\",\n\t\t\"tax\": 0,\n\t\t\"total\": 0,\n\t\t\"transactionId\": \"380e9932-ed9a-48e8-bd66-a6ec00b5efd1\"\n\t},\n\t\"transactionId\": \"380e9932-ed9a-48e8-bd66-a6ec00b5efd1\",\n\t\"productId\": \"abc\",\n\t\"platform\": \"roku\"\n}\n```\n\n### All Platforms\n\nRegardless of the platform used, besides the platform-specific receipt, the following properties\nwill be included:\n\n| Property | Type | Description |\n| --- | --- | --- |\n| receipt | object | Data returned by platforms |\n| platform | string | One of: 'apple', 'google', 'amazon', 'roku' |\n| productId | string | Id of the product |\n| transactionId | string | Id to uniquely identify transaction |\n| purchaseDate | int | Date of purchase in millis  |\n| expirationDate | int | Date of expiration in millis |\n\n\n## License\n\nMIT\n\n## References\n\n### Amazon References\n**Code Inspiration**\n\n * https://github.com/may215/amazon_iap\n\n**API Reference**\n\n * https://developer.amazon.com/public/apis/earn/in-app-purchasing/docs-v2/verifying-receipts-in-iap\n\n### Apple References\n**Code Inspiration**\n\n * https://github.com/pcrawfor/iap_verifier\n\n**API Reference**\n\n * \thttps://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html\n\n### Google Play References\n**Code Inspiration**\n\n * https://www.npmjs.com/package/google-play-purchase-validator\n * https://github.com/machadogj/node-google-bigquery\n * https://github.com/extrabacon/google-oauth-jwt/blob/master/lib/request-jwt.js\n\n**API Reference**\n\n * https://developer.android.com/google/play/billing/gp-purchase-status-api.html\n * https://developers.google.com/android-publisher/\n * https://developers.google.com/android-publisher/getting_started\n * https://developers.google.com/android-publisher/authorization\n * https://developers.google.com/accounts/docs/OAuth2ServiceAccount\n * https://developers.google.com/android-publisher/api-ref/purchases/products\n * https://developers.google.com/android-publisher/api-ref/purchases/products/get\n * http://developer.android.com/google/play/billing/billing_testing.html\n * http://stackoverflow.com/questions/24323207/use-service-account-to-verify-google-inapppurchase\n\n**Receipt Generation**\n\n * http://developer.android.com/training/in-app-billing/preparing-iab-app.html\n * http://developer.android.com/tools/publishing/app-signing.html\n * http://developer.android.com/google/play/billing/api.html#managed\n\n### Roku References\n\n**API Reference**\n\n * https://sdkdocs.roku.com/display/sdkdoc/Web+Service+API#WebServiceAPI-/listen/transaction-service.svc/validate-transaction/{devtoken}/{transactionid}\n","maintainers":[{"email":"github@almirkadric.com","name":"almirkadric"},{"email":"npm@wizcorp.jp","name":"notawizard"},{"email":"ron@ronkorving.nl","name":"ronkorving"},{"email":"mtrudel@wizcorp.jp","name":"stelcheck"}],"time":{"modified":"2022-06-18T23:52:40.022Z","created":"2014-02-25T07:48:38.848Z","0.1.0":"2014-02-25T07:48:41.577Z","0.1.1":"2014-02-26T04:03:46.577Z","0.2.0":"2014-02-27T09:56:05.986Z","0.2.1":"2014-02-27T10:38:45.324Z","0.3.0":"2014-09-30T05:35:58.465Z","0.3.1":"2014-10-07T08:28:00.374Z","0.3.2":"2014-10-22T10:02:25.915Z","0.3.3":"2015-06-05T03:17:36.578Z","0.4.0":"2015-08-27T10:52:00.464Z","0.5.0":"2015-11-02T04:05:32.029Z","0.6.0":"2017-05-17T11:07:12.336Z","0.7.0":"2017-06-27T03:24:46.130Z","0.8.0":"2017-09-06T08:30:47.959Z","0.9.0":"2018-02-13T03:27:44.759Z","0.9.1":"2018-05-10T01:35:35.170Z","0.10.0":"2019-04-01T05:26:57.528Z","1.0.0":"2019-04-01T05:44:24.164Z","1.1.0":"2019-08-02T01:25:14.785Z","1.1.1":"2019-12-24T09:16:47.720Z"},"readmeFilename":"README.md","keywords":["iap","amazon","apple","google","roku","android","ios","purchase","itunes"],"author":{"name":"Ron Korving","email":"rkorving@wizcorp.jp"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Wizcorp/node-iap.git"},"bugs":{"url":"https://github.com/Wizcorp/node-iap/issues"},"users":{"programmingpearls":true,"rchk":true,"suvihas":true,"craigpatten":true},"homepage":"https://github.com/Wizcorp/node-iap#readme"}