Comments (2)
We would recommend using StoreKit 2 client side, which would give you a signed JWS you can pass directly to the server. I'm not familiar with whether that library is using Original StoreKit or StoreKit 2 or what that field represents.
from app-store-server-library-node.
Apologies for reopening the thread but I'm facing the same issue.
the serverVerificationData is something like this:
MIIUZwYJ<.......more>9rxE3Q==
and it's something that seems to work with the receipt utility extractTransactionIdFromAppReceipt, so im assuming the flutter package is using the original store kit.
My question now is: what is the correct way of validating the purchase? In my mind it would be something like searching if the receipt coming from the app was already paid or not, but I'm a bit confused with the example in README in this repo for Receipt usage.
It loops over the transaction history, but when can consider it valid and effectively purchased? And the opposite: when can we consider it invalid?
Thanks!
from app-store-server-library-node.
Related Issues (20)
- applicationUsername.toLowerCase is not a function at PromotionalOfferSignatureCreator.createSignature HOT 4
- server endpoints not support ipv6? HOT 1
- getting wrong transaction id in extractTransactionIdFromAppReceipt method HOT 9
- getAllSubscriptionStatuses works in Sandbox, but not in Production
- Original Store Kit App Receipt Server Validation HOT 6
- Exported OfferDiscountType Enum Values HOT 1
- How can I identify the environment of the signed notification? HOT 2
- Explanation on the best practices to load root certificates HOT 4
- TypeError: Cannot read properties of null (reading 'length') - while extracting transactionId
- TypeError: Cannot read properties of null (reading 'length') -- while extracting transactionId from receipt HOT 3
- APIException.apiError 4040010 is missing HOT 5
- High Sev CVE Flag from dependency on `jsrsasign` older than v11 HOT 1
- I get an error when trying to decrypt my signed payload HOT 8
- receiptUtil extracting transaction id `0` instead of throwing an error HOT 10
- Error: secretOrPrivateKey must be an asymmetric key when using ES256 in Production environment HOT 11
- Missing an example for how to verify an IAP transaction receipt HOT 6
- Add appAppleId null comment to README and throw if appAppleId is null and environment is Production
- Missing receiptType on decodedAppTransaction in verifyAndDecodeAppTransaction HOT 18
- ResponseBodyV2DecodedPayload is missing the externalPurchaseToken HOT 1
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 app-store-server-library-node.