I added a paid app to the Google Play Store a few weeks ago. Over 2/3 of the purchases are refunded within an hour after payment, reason: user requested a refund.
I see the number of users and the country in the Play Console, so it seems those refunded are still using the app after the refund.
Is there a possibility to check in my code if the app has been paid (as it is not an in-app purchase I don't get a token, purchase ID, etc)? I can't find anything in the Android docs.
Related
In my application I have a logic of a 3 days free use period, that I provide to the user by granting them Promotional Entitlements through RevenueCat API. During that period user can manually click the upgrade button to start a play store/app store subscription. I would expect that once the store subscription is purchased, promotional entitlements would be replaced with the ones from subscription. However this doesn’t happen, which causes some problems.
For example, I can’t tell if user is currently using play store/app store 7 days subscription-trial (available once, after which they got billed automatically), because entitlement.storeType is always equal to promotional and entitlement.periodType is always equal to normal. Also all the entitlements have product indentifiers starting with rc_promo. Only after the promotional entitlement is expired, they get replaced with correct data from app store/play store.
Currently as a workaround I manually revoke promotional entitlements upon store subscription purchase, but that is not ideal.
Is there a way for me to prioritize store bought subscription entitlements over RevenueCat promotional entitlements?
We have a new application recently released on Google Play. The initial group of testers subscribed for a free 60-day trial. Over the past month, their subscription has been automatically removed/ended multiple times making them resubscribe. We posted some updated versions since they were first subscribed. Has anybody else experienced a similar issue with a trial/subscription automatically ending or being canceled?
From Google Play Support:
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.
Google Play supports purchasing products from inside of your app (in-app) or outside of your app (out-of-app). In order for Google Play to ensure a consistent purchase experience regardless of where the user purchases your product, you must acknowledge all purchases that have a "Success" state received through the Google Play Billing Library as soon as possible after granting entitlement to the user. If you do not acknowledge a purchase within three days, the user automatically receives a refund, and Google Play revokes the purchase. For pending transactions, the three-day window does not apply when the purchase is in a "Pending" state. Instead, it starts when the purchase has moved to the "Success" state.
Here are some specific resources on the Android Developers site:
Acknowledge a purchase (https://developer.android.com/google/play/billing/billing_library_overview#acknowledge)
Google Play Billing Library 2.0 Release notes (https://developer.android.com/google/play/billing/billing_library_releases_notes#release-2_0)
Purchases must be acknowledged within three days (https://developer.android.com/google/play/billing/billing_library_releases_notes#2_0_acknowledge)
API guides (http://developer.android.com/guide/index.html)
Android Studio & SDK (http://developer.android.com/sdk/index.html)
Also, you can find Developer Support communities listed here: http://developer.android.com/support.html
In my game I have InApp Purchases. I want to test my game before publishing, so I uploaded it to alpha. I would love to test it on my phone, but google refuse, saying a developer can't buy his own products. Google also refuse to allow emulators to purshase items.
Yesterday I added a google account to my phone, and added it to the list of people allowed to download my app (Gmail accounts with testing access).
My problem is that I can't access my game (We're sorry, the requested URL was not found on this server). My game is available (I checked it from another phone and its good). I simply can't access it from my test account.
What can I do? Should I do something, or I will not be able to test my game on my phone no matter what?
Here is the android developer help for testing in-app purchases. The second account you added should be able to access the game shortly. In my experience, it usually takes up to about 24 hours to access alpha/beta testing once a user has been added.
Here's some specific stuff from that post:
Test Purchases (In-app Billing Sandbox)
Test purchases offer a secure, convenient way to enable larger-scale testing of your In-app Billing implementation during development or in preparation for launch. They let authorized user accounts make purchases of your in-app products through Google Play without incurring any actual charges to the user accounts.
Once authorized for testing access, those users can make purchases without being charged. Test purchases are real orders and Google Play processes them in the same way as other orders. When purchases are complete, Google Play prevents the orders from going to financial processing, ensuring that there are no actual charges to user accounts, and automatically canceling the completed orders after 14 days.
We recommend that you first test your In-app Billing implementation using static responses from Google Play. This enables you to verify that your application is handling the primary Google Play responses correctly and that your application is able to verify signatures correctly. You can do this even if the app hasn't been published yet.
To test your implementation with static responses, you make an In-app Billing request using a special item that has a reserved product ID. Each reserved product ID returns a specific static response from Google Play. No money is transferred when you make In-app Billing requests with the reserved product IDs. Also, you cannot specify the form of payment when you make a billing request with a reserved product ID.
My app is published in alpha, and allows for purchasing a yearly subscription with a 7-days trial period.
I just tested the purchase process with a test account (declared as such in dev console).
The purchase went ok, and the user received a mail confirming his purchase. This mail is full of mistakes:
1) the price is without tax, which is confusing
2) It says the trial-period will expire tomorrow, instead of in 7 days (we are on Feb 27):
You have signed up for a free trial subscription from xxx on Google
Play. Your trial will end on Feb 28, 2015. You will be automatically
subscribed for €15.83/day at the end of your trial unless you cancel.
3) Funnily enough, it says that after the trial period, he will be charged DAILY, instead of yearly:
By subscribing you authorize us to charge you the subscription cost
(currently €15.83/day) automatically, charged daily to the payment
method provided. You can cancel at any time
Moreover, I couldn't find a way to cancel the subscription. I went to the wallet account of the user, no transaction there. Same thing in the merchant wallet account from my side. How am I supposed to cancel the transaction and try again eventually?
The only good point is that my app and google api (V3) recognizes that the user has purchased the subscription.
Maybe it's just because I declared the user as a test-user in google-dev console?
Thanks in advance for any input or advice.
The reason why it says 'day' instead of year is answered here:
Android In App BIlling v3 - Wrong Subscription Trial Period
This is a normal response. I guess you're testing with an account
added as a tester to Google Play account. Test subscriptions are valid
for 1 day and get cancelled after 1 day.
Quoting the official docs
http://developer.android.com/google/play/billing/billing_testing.html
Note: Test subscription purchases recur daily, regardless of the
product's subscription period.
What I want to do is publish my app on Google Play.When the User will buy the app he/she has to pay the price initially.I want my app to be renewed after a certain period i.e monthly.If the period gets over the user will not be able to use the app.Any idea how to do it?Is in-app subscription for android app the solution for this?
Please see this android developer guide for subscriptions.
From android docs
"A subscription is a product type offered in In-app Billing that lets you sell content, services, or features to users from inside your app with recurring monthly or annual billing. You can sell subscriptions to almost any type of digital content, from any type of app or game"
User billing
In the Developer Console, you can configure subscription products with automated recurring billing at either of two intervals:
Monthly — Google Play bills the customer’s Google Wallet account at the time of purchase and monthly subsequent to the purchase date (exact billing intervals can vary slightly over time)
Annually — Google Play bills the customer's Google Wallet account at the time of purchase and again on the same date in subsequent years
http://developer.android.com/google/play/billing/billing_subscriptions.html