Comments (3)
receiptData
contains information for your purchase from what I understand. You'd want to verify the information contained in receiptData
before enabling premium content.
Receipt validations are ideally performed on a server. This allows you to protect your API keys that something like in-app-purchase
would require. Any on-device validation would require you to embed your API keys in your app which is insecure.
I'd highly encourage you to look into a node.js
server. It isn't hard to setup and you can get by with a small free AWS EC2 instance running a daily job to check all your receipts.
rn-nodify
looks interesting but now sure how compatible it is with something as complex as in-app-purchase
.
Hope this helps.
from react-native-in-app-utils.
@Twansparant afaik, there is no way of knowing if the user is logged is to the App store. The best option and what I'm doing atm is to verify if the receipt exists before requesting.
You can see my pull request for that: #126
You then check if the receipts exists first, if not: Tell the user that you need to verify the existence of the purchase. Proceed to verify the receipt. If receipt is found, grant access and continue.
If receiptData fails, you can then ask the user to purchase/subscribe or restore purchases to continue
from react-native-in-app-utils.
@Twansparant you could easily setup an AWS Lambda + API GateWay endpoint that validates the purchases and subscriptions.
You would just call InAppUtils.receiptData
and then call your validation endpoint with receipt data. In your lambda function you can use in-app-purchase
to validate the receipts and tell your app if they are valid, expired, canceled, etc.
This way the user won't get prompted to login all the time if you use InAppUtils.restorePurchases
. You also don't need to manage a server and it will be cheaper.
from react-native-in-app-utils.
Related Issues (20)
- After trying to upgrade a plan this module always fails. HOT 1
- payment modal ui style HOT 2
- Docs improvement (pod installation) HOT 1
- Question: How to associate apple payment notification with my custom payment records?
- 'downloadable' is unavailable: not available on iOS 13 HOT 7
- Calling #loadProducts with different productId resets previously loaded products
- Discount Subscriptions
- Can't compile with Xcode 11 for iOS 13 HOT 4
- Add release tag for version 6.0.2 HOT 2
- 'downloadable' is unavailable: not available on IOS HOT 1
- InAppUtils.receiptData returns undefined
- We didn't find any purchases to restore. HOT 2
- How to buy subscription?
- 关于苹果支付掉单,大佬们都是怎么解决的啊
- InAppUtils.purchaseProduct() doesn't work on iOS 14 HOT 6
- loadProducts can not work as expected after upgrading iOS 14 HOT 3
- No callback registered for transaction with state purchased. HOT 1
- Hmmm ideas
- Fix crash on simulator with this small change HOT 1
- loadProducts not working on iOS 14.5 simulator
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-in-app-utils.