android-inapp-billing-v3 icon indicating copy to clipboard operation
android-inapp-billing-v3 copied to clipboard

[CRITICAL][BUG] Refunded in app product marked as bought

Open Duna opened this issue 5 years ago • 12 comments

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
    }
}

Duna avatar Nov 11 '19 10:11 Duna

This is from google play ...

Hanzala717 avatar Nov 12 '19 03:11 Hanzala717

@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 .

Duna avatar Nov 12 '19 07:11 Duna

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.

rlford avatar Nov 14 '19 14:11 rlford

I'm also facing this issue.

jarvanh avatar Nov 27 '19 00:11 jarvanh

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 .

Duna avatar Nov 28 '19 05:11 Duna

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

fluiddot avatar Dec 12 '19 09:12 fluiddot

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.

Duna avatar Dec 22 '19 20:12 Duna

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

Duna avatar Jan 06 '20 06:01 Duna

This is from google play ...

https://developers.google.com/android-publisher/voided-purchases

Duna avatar Jan 06 '20 06:01 Duna

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...

arneee avatar Feb 08 '20 11:02 arneee

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."

Duna avatar Feb 08 '20 15:02 Duna

How to acknowledge with user?

thinhkaku avatar Sep 21 '20 05:09 thinhkaku