UNPKG

cafebazaar-purchase-validator

Version:

easily validate purchase in app billing of Cafebazaar API

76 lines (57 loc) 2.37 kB
# Cafebazaar Purchase Validator This package is a simple way to receive in-app purchases in [Cafebazaar](https://cafebazaar.ir?l=en) and check the validity of a purchase. ## Installation Using npm: ```shell $ npm i cafebazaar-purchase-validator ``` ## Cafebazaar Setup When you want to receive or verify a user's purchase through the [Developers API](https://pishkhan.cafebazaar.ir/settings/api), you must first follow the steps related to setting up the developers api section through [Bazaar Developers](https://developers.cafebazaar.ir/en/guidelines/in-app-billing/api/setting-up).<br> In the [Developers API](https://pishkhan.cafebazaar.ir/settings/api), it assigns you <b>Client Id</b> and <b>Client Secret</b> values for your account:<br> ``` ClientId: 0S2TBs0yskyiL3256Dwsfgm1XSlh5re8krO Client Secret: BFaAvMsyQuZY7SYlHSAD4klh3452356kghkgGF3rfsaeq35RTsd ``` Once set up you will finally have a JSON as follows: ```json { "access_token": "GWObRK06KHLr8pCQzDXJ9hcDdSC3eV", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "yBC4br1l6OCNWnahJvreOchIZ9B6ze", "scope": "androidpublisher" } ``` These values are used in the next step. ## Usage ### In Node.js: ```js // Load the full build. const cafebazaarPurchaseValidator = require("cafebazaar-purchase-validator"); // Init configuration values from Cafebazaar Setup section cafebazaarPurchaseValidator.init({ accessToken: "GWObRK06KHLr8pCQzDXJ9hcDdSC3eV", clientId: "0S2TBs0yskyiL3256Dwsfgm1XSlh5re8krO", clientSecret: "BFaAvMsyQuZY7SYlHSAD4klh3452356kghkgGF3rfsaeq35RTsd", refreshToken: "yBC4br1l6OCNWnahJvreOchIZ9B6ze", }); // if purchase is valid and not consumed return true // else return false try { const isNotConsumed = await isNotConsumedPurchase({ packageName: "app.package.name", productId: "productSKU", purchaseToken: "turTRfV5E6dsXo1t", }); } catch (e) {} // return full purchase of user try { const purchase = await getPurchase({ packageName: "app.package.name", productId: "productSKU", purchaseToken: "turTRfV5E6dsXo1t", }); } catch (e) {} ``` ## Note This package automatically updates the new <b>access_token</b> using <b>refresh_token</b> when <b>access_token</b> has expired or is no longer valid, and you do not need to do anything else.