Deishelon / google-play-billing-validator

Npm module for Node.js to validate In-app purchases and Subscriptions on your backend
https://medium.com/androidhub/how-to-validate-in-app-purchase-subscription-on-your-node-js-backend-a2b823470034
90 stars 32 forks source link

thanks! #3

Open camhart opened 5 years ago

camhart commented 5 years ago

Just want to say thanks for this project. I'm using it and appreciate it.

Deishelon commented 5 years ago

Hey, glad you like it. Would you be interested if I add iOS support as well?

camhart commented 5 years ago

At this moment I couldn't use it, but I have plans for the future that could potentially. When you say iOS support, I assume that means a nodejs package that verifies apple app store purchases?

On Mon, May 20, 2019 at 2:09 PM Deishelon notifications@github.com wrote:

Hey, glad you like it. Would you be interested if I add iOS support as well?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Deishelon/google-play-billing-validator/issues/3?email_source=notifications&email_token=AAXF4WMW52UKGRAX7UFMYJLPWMHPHA5CNFSM4HOE3XIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV2CSIY#issuecomment-494151971, or mute the thread https://github.com/notifications/unsubscribe-auth/AAXF4WOCYEZJ2HZVWCH2OOLPWMHPHANCNFSM4HOE3XIA .

Deishelon commented 5 years ago

Correct, via https://buy.itunes.apple.com/verifyReceipt endpoint

kuznetsov-from-wonderland commented 4 years ago

On iOS all the validation can be done serverless - I can do some docs for it.

By the way, I'd like to ask - here for Android we need just a single dependency - why this cannot be also implemented serverless, just as a module inside React Native app? 🤷‍♂️ Well for that I must embed the private key right in the app, but i guess it's quite safe - is it not?

Deishelon commented 4 years ago

@kromsik please note that this pkg is for server side (like nodejs), don't use it in RN app, especially with private key embedded in the app.

If you don't have a server, you still can validate the purchase serverless In onPurchasesUpdated() you can check the purchaseState is PURCHASED

However, it's just recommended to have a backend server which you have full control. So you can know for sure that the purchase was correct & you can write something to db or enable in app features, and not just blindly trust whatever the app sends to the sever.

If you need more info: here is the official docs: https://developer.android.com/google/play/billing/billing_library_overview#Verify

Let me know if you have any questions :)

JackyGohSG commented 4 years ago

Thanks @Deishelon for creating this. I'm still new to this, so while implementing this I encounter a issue when I already had in app products in Google Play Console and the error is : "The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console."

And the solution is to set all your existing product as "INACTIVE", then save, then change to "ACTIVE" and save again.