Comments (7)
I have been experiencing this same issue. I believe this is because this library is focused on a callback pattern, which only listens for transaction changes during the lifetime of that request. Best practices are to listen for transactions when the app launches so that postponed requests like this are seen. See Apple's description for more details.
This happens quite rarely, and I'm not sure how to recreate it deliberately. We get about 750 new subscriptions per month, and this seems to happen to about 1 user per month. Still, it leads to a pretty frustrating experience for that 1 user.
As @chirag04 suggests, I think the solution lies in moving towards an event-based architecture. I will be working on a solution imminently. I may provide a PR, or create a new library, depending on the extent of the changes needed.
from react-native-in-app-utils.
Any news on this? I'm having the same issue
from react-native-in-app-utils.
@joyeon Does apple post two events one SKPaymentTransactionStateFailed
and something else later after verification?
from react-native-in-app-utils.
Yes apple ask to let user purchase again after verification. If the user accept it, apple post an event SKPaymentTransactionStatePurchased
.
from react-native-in-app-utils.
Interesting. Not sure what's the correct way to handle this. We should not leak callbacks when we get SKPaymentTransactionStateFailed
.
Maybe it's time to move away from callback
based pattern to an event based one. @joyeon you want to send a PR?
from react-native-in-app-utils.
Will try to send PR but It could take time. If you want to patch it immediately please do it without hesitation.
from react-native-in-app-utils.
This is related to #31
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.