Coder Social home page Coder Social logo

mvojtkovszky / billinghelper Goto Github PK

View Code? Open in Web Editor NEW
36.0 3.0 4.0 167 KB

Simplify the use of Google Play Billing Library (v7.0.0). Handles client connection, querying product details, owned purchases, different purchase types, acknowledging purchases, verify purchase signatures etc.

License: Apache License 2.0

Kotlin 100.00%
android android-library library billing google-billing kotlin purchases-android subscriptions-and-payments android-billing android-billing-library

billinghelper's People

Contributors

mvojtkovszky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

billinghelper's Issues

How to get subscription prices once subscription offer ends

Yearly subscription offer 3 days free trial

I bought the subscription and during trial I cancelled it and then after expiration of trial I want to purchase again

yearlyPrices =billing.getProductDetails(Constants.yearlySubscription)?.getFormattedPrice(0, 1)?: "$7.99"

Above line of code successfully gives the price when we have trial

but once trial consumed this returns null

Can you please help me

Where should I pass my OWN KEY ?

should be something like:
key = BuildConfig.DONATIONS_KEY

billing = BillingHelper(
context = this,
skuInAppPurchases =subsList,
skuSubscriptions = listOf(),
billingListener = this,
querySkuDetailsOnConnected = true,
queryOwnedPurchasesOnConnected = true,
autoAcknowledgePurchases = true,
key = BuildConfig.MY_OWN_KEY
)

Test Purchase Debug

Hello author,

I want to test debug with id test: "android.test.purchased"
I tried adding it to the list but when I made the purchase, getProductDetails returned null value

Doing purchase on internal test getting error.

Bug Description
Summary:
The app functions normally for testers who have been granted permissions, but for other users, a popup error appears stating: "Error: This item you were attempting to purchase could not be found."

Steps to Reproduce:

  1. Setup the app according to the provided instructions.
  2. Upload the app to internal testing.
  3. Test the app with users who do not have granted permissions.
  4. I'm review on production but the app name always mark as unreviewed.
    Expected Result:
    The app should function normally for all users.

Actual Result:
The app shows a popup error for users without permissions: "Error: This item you were attempting to purchase could not be found.". Billing Response code = 4 ITEM_UNAVAILABLE

Additional Information:

The issue does not occur for testers who have been granted permissions.
The problem persists only for other users.
Possible Solution:
To fix this issue, ensure that the item or feature in question is available to all users or check the configuration for the internal testing setup. Verify that the necessary permissions and access rights are properly set for all users.

Feel free to let me know if you need any additional information or assistance!.

Please help me in this case. I'm a newbie and really excited in with your source code.

Querying owned purchases does not set refunds as not purchased

I am using the queryOwnedPurchasesOnConnected option. Everything works great.

However I am then calling initQueryOwnedPurchases() further down the line when I know a purchase has been refunded. This correctly re-fetches the owned purchases, and adds any new purchases to this.purchases.

However if a previous purchase has been refunded in the meantime this is not correctly removed from this.purchases before invoking the listener. Calls to isPurchased for the refunded product still (incorrectly) return true.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.