android-inapp-billing-v3
android-inapp-billing-v3 copied to clipboard
[CRITICAL][BUG] Refunded in app product marked as bought
If a user bought a product and then refunded, there is no way to check this. The library tells us the product is bought even after 3 weeks from refunded process approved.
@Override
public void onBillingInitialized() {
if (bp.loadOwnedPurchasesFromGoogle()) {
bp.isPurchased(PRO) - > always true
}
}
This is from google play ...
@Hanzala717 You mean if an user got refunded it still able to use the app as paied one? Any bug link opened on Google sources?
On Tue, 12 Nov 2019, 05:51 Hanzala Iqbal, [email protected] wrote:
This is from google play ...
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/anjlab/android-inapp-billing-v3/issues/435?email_source=notifications&email_token=AA473QQK2CJ63JBBIFRI5Q3QTIR3PA5CNFSM4JLTES62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDY6AGI#issuecomment-552722457, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA473QTTWB45ND6G2YHUA5LQTIR3PANCNFSM4JLTES6Q .
This is something I am having an issue with, too. I am unable to check whether a user (or myself) refunded the app, and if so, they should no longer have access to the premium features of the app.
I'm also facing this issue.
Yup, also tested with test orders and refunded.
On Wed, 27 Nov 2019, 02:25 jarvanh, [email protected] wrote:
I'm also facing this issue.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/anjlab/android-inapp-billing-v3/issues/435?email_source=notifications&email_token=AA473QXBTR44LQLMHMACNRTQVW47PA5CNFSM4JLTES62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFH34AI#issuecomment-558874113, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA473QQETSOKB3CHUCV62YTQVW47PANCNFSM4JLTES6Q .
I see that there's no reference to acknowledgePurchase
method in the repo and looks like it's now mandatory for any non-consumable purchases.
This is very critical because if the purchase is not acknowledged within 3 days it gets refunded.
Reference: https://developer.android.com/google/play/billing/billing_library_overview#acknowledge
This requirement is new in the Play Billing Library 2.0. For libraries before this, Google will auto-acknowledge purchases for you.
If you are using Play Billing Library 2.0, then any purchase must be consumed or acknowledged within 3 days of the purchase or else it will be auto-refunded.
Good news to all of us!
If you offer in-app products, you can use the Voided Purchases API to request a list of voided purchases for your in-app products. When a user requests a refund for in-app purchases, you can see what was purchased and take back the refunded digital goods from that user.
So this lib we should use in combination with Voided Purchases API
This is from google play ...
https://developers.google.com/android-publisher/voided-purchases
So was that introduced in #411 with removing the aidl and switching to the com.android.billingclient:billing:2.0.1? Does that mean that after #411 actually all IAB Payments for non-consumable goods (for example a license of a pro version) are automatically refunded after three days when using this library?
Edit: According to the comments in #411, the library still uses the AIDL method (but a newer one). With the AIDL method you DO NOT have to acknowledge the purchases.
Note: This requirement applies only to apps that use the Google Play Billing Library version 2.0 and newer. This requirement doesn't apply if you use an older version of the Google Play Billing Library, or if you use the AIDL API.
So theoretically this lib should still be fine (for now), but the AIDL method will soon or later be removed and we probably all should migrate to the Google billing client directly and drop this library...
UAU: "If you use the Google Play Billing Library version 2.0 or newer, you must acknowledge all purchases within three days. Failure to properly acknowledge purchases results in those purchases being refunded."
How to acknowledge with user?