I am considering to do an in-app purchase model within a paid app that releases or adds video content if the user opts in via a google check out method. Does anyone know how to do this from a coding standpoint? and does anyone know if this is possible?
thank you ahead of time...
It is possible do in-app purchases with Google's new In-App Billing services, see the documentation here:
http://developer.android.com/guide/market/billing/index.html
However, note that In-App Billing relies on the 2.3 version of the Android Market .
NOTE: Old version of my answer, before
In-App billing was announced
Unfortunately, there are not official
mechanisms to do micropayments on
Android apps distributed via the
Android Market yet. You also are not
allowed to implement your own methods
according to the Android Market
Developer Agreement:
All fees received by Developers for
Products distributed via the Market
must be processed by the Market's
Payment Processor
Google offers no API to handle
payments, and all payments must be
handled by the Market's Payment
Processor, so it's catch 22.
1:
http://www.android.com/us/developer-distribution-agreement.html
As of 2/2/11, Google announced it's releasing in-app purchase for Android apps. The SDK is now available while the in-app purchase will be "live to users prior to the end of this quarter." (Q1/2011)
Related
I'm somewhat confused by the terms of the developer content policy (here). Is it possible to use Paypal (or any alternative paying method) instead of in-app purchase (iOS) and in-app billing (Android) for a monthly-recurring PREMIUM membership on my app?
A premium member can access more content and doesn't see ads, but by reading the guidelines, it seems that I must use the built-in in-app purchasing program, is that correct or am I just a bad reader?
Thank you in advance.
Dont know about android but your app will be rejected. According to section 11.2 of the App Store Review Guidelines for iOS (Login Required) any app that doesn't use In-App purchase will be rejected.
11.2 Apps utilizing a system other than the In App Purchase API (IAP) to purchase content, functionality, or services in an app will be rejected
Additionally, note that any purchase of real world goods or services is not allowed as per section 11.3. I suggest reading the whole document, or at least section 11 (and 20 if it's a charity app). That should give you a pretty good idea of what's allowed and what's not.
I received an email from Google Wallet on Friday saying:
Our records indicate you are a Play Apps developer who may be using Google Checkout APIs for notifications or reporting. On May 20, we announced that we will be replacing these APIs.
We provided replacement Play APIs, as of July 25, and anyone using the Checkout >notifications or reporting APIs needs to implement the Play APIs by August 22 to prevent >disruption to your scripts.
If you used the Checkout API for notifications, use the Play Purchase Status API. If you >used the Checkout API for reporting, you can automate the download of your estimated sales >and earning reports via the gsutil utility
I assume that the Google Checkout APIs I must be using are in relation to the In-app Billing Version 2 implementation that I have. It relies on the Billing Service to share interprocess communications with the Google Play Store app via local notifications. So I believe that I am supposed to look into the Play Purchase Status API. I looked into it, but I wonder if there are any tutorials or better documentation for the process of transitioning from the old In-app Billing Version 2 to use the new Google Play Developer API.
The Play Purchase Status API page states:
The API is designed to be used from your backend servers as a way of securely managing in-app products and subscriptions, as well as extending and integrating them with other services.
That really adds confusion for me since all of the purchase requests and tokens are handled by the Android app on the device. My back-end server just records the information that my app sends to it via web service call. Is my back-end server now expected to periodically poll the Google Wallet servers via Play Purchase Status API?
Google has now sent out emails that yes they ARE shutting down V2 of In-App Billing. I wrote a blog post discussing how to migrate (it's more like a re-write than a migration).
http://www.innodroid.com/blog/post/migrating-from-in-app-billing-v2-to-v3
Hopefully this helps others out. V3 is totally different (although much easier to understand and maintain, in my opinion).
This has nothing to do with in-app billing version 2, or what you are using in your app. This is about the Web services formerly offered by Google Checkout, which are being deprecated. Unless your app is accessing those Web services directly, you don't have to do anything at the app side. If you have your own Web application (for reporting,etc.) that pulls data from the Google Checkout API, you have to update it or stop using it.
Announcements section from Developer Console:
Beginning January 27, 2015, we will end support for the In-app Billing Version 2 API. In-app purchases made using the In-app Billing Version 2 API will be blocked.
To help ensure that users have time to update their apps, we recommend you migrate your applications to use the In-app Billing Version 3 API by November 2014.
It looks like we should still have until November.
For those of you looking for Server-To-Server API update instructions, the only noticeable difference is that you change the "v2" to "v3" in the endpoint path.
What was previously this:
https://www.googleapis.com/androidpublisher/v2/applications/packageName/purchases/products/productId/tokens/token
Is now this:
https://www.googleapis.com/androidpublisher/v3/applications/packageName/purchases/products/productId/tokens/token
They've also added a new field called "acknowledgementState", but this seems useless. If you were using it entirely to see if your purchase was consumed and valid, then the endpoint is essentially identical.
I want to use Google Play's in-app billing for one of my applications. But it seems I can't use it.
First problem is that according to supported locations for merchants my country - Turkey - is not in the list.
And as a second problem, my app is listed on some other markets except Google Play. Google Play in-app billing overview section In-app Billing Requirements and Limitations says that In-app billing can be implemented only in applications that you publish through Google Play. Therefore even if Turkey will be in merchant list in the future, I could not use Google Play's in-app billing for other markets. Is that right?
Then I thought using other APIs like ZooZ, Authorize.net (Actually, I did not examine them deeply, but I guess they do what I want)
But this time I read in Android Market Developer Distribution Agreement that All fees received by Developers for Products distributed via the Market must be processed by the Market's Payment Processor. Is that a problem for using such APIs? If so, what should I do for in-app purchase?
If your country is not supported, you can't really use In-App billing for your app. You could look at alternate stores, for example, Amazon app store. they have recently implemented In-App billing.
https://developer.amazon.com/welcome.html
The simple answer for Google Play would be "No" for now, till Google supports Turkey.
Get a bank account in a country that does support merchant accounts.
I plan to use in-app billing but the docs say about the limitation.
In-app billing can be implemented only in applications that you publish through Android Market.
I plan to release my app on publisher sites like Amzaon, getjar etc, in addition to Google Market.
How should I handle in-app billing on these 3rd party publishers? Should I use totally separate code for 3rd party publishers (for purchases)? Seems ridiculous.
you can use paypal mpl sdk instead.
How can I setup yearly subscription using in-App Billing in Android app?
Most software are sold in subscription model these days. As business software are going to the cloud people are paying for software on annual subscription. There should be an easy way to provide subscription model in mobile phone app.
Goolge have added support for in app billing.
should be simple if you already have in app billing implemented
I found the answer here.
https://market.android.com/support/developer/bin/answer.py?hl=en&answer=140504
Currently, Android Market doesn't support subscription billing. Please note that collecting payments through your application is not allowed under the Android Market Developer Distribution Agreement.