Today, in collaboration with BitMonet, we are releasing an Android SDK that makes it super simple for Android developers to accept Bitcoin in their Android app.
Any Android app developer can now accept Bitcoin payments without the customer ever leaving the app.
This enables a number of use cases, but it’s worth calling out two in particular: micro-transactions and debit payments.
It’s worth noting of course, that you should ensure your app is complying with the Google Play guidelines before adding additional payment methods.
Micro-transactions on mobile have traditionally been difficult due to high fees. They use credit cards underneath, which come with a base fee of 20-30 cents. This makes them impractical for anything but virtual goods (which have 100% margins), and impossible below thresholds of about $1. Many developers have resorted to showing ads to try and monetize their apps instead, but ads aren’t as effective on mobile where there is limited screen real estate.
In short, the fee structure of credit cards makes micro-transactions on mobile difficult. This is where bitcoin comes in. Especially on Coinbase (where micro-transactions between Coinbase accounts are off blockchain and have zero fees), micro-transactions suddenly become easy and free. The customer simply connects their Coinbase account, grants the app permission, and can then perform one-click buys in the app. We hope this SDK and related efforts will spark a huge shift in the mobile landscape as developers are able to monetize their apps more efficiently without resorting to ads.
Debits and “Pull” Payments
Traditionally bitcoin has only allowed push payments where the customer originates the transaction. This is great for some purchases, but doesn’t fit into all business models. In the case of a taxi app, for example, the appropriate amount is typically charged to a credit card on file once the customer reaches their destination. The customer has a more convenient checkout experience, and the taxi company is comfortable providing the ride before collecting payment, knowing they can initiate a charge at the end of it.
The Coinbase API is unique in that it allows these types of transactions in bitcoin by making use of OAuth2. You may be familiar with it if you’ve ever signed in to a site using your Google account, or Facebook connect. OAuth2 allows customers to grant special permissions to certain apps - in this case the ability to charge some amount of bitcoin to your account. Doing so of course requires a high degree of trust between the customer and merchant (just like adding a credit card online) and is completely optional - not all consumers will feel comfortable using this option. OAuth2 offers one additional protection over credit cards, however, where the customer can revoke the apps permission at any time from their account settings page, so the customer remains in control of when to end the relationship.
The SDK allows the flexibility for apps to request a single charge that requires your permission, or permission to debit within limits in the future (much like keeping a card on file).
The new Android SDK allows you to:
Accept bitcoin payments from within Android apps - the customer never needs to leave the app to pay.
Accept payments with zero transaction fees, and just a few taps for seamless checkout.
Perform micro-transactions on mobile with zero fees.
- Initiate debit payments in bitcoin, and support other payment flows which weren’t possible previously using bitcoin.
The SDK is open source and available at https://github.com/coinbase/coinbase-android-sdk
We look forward to seeing what Android developers can build with this SDK, and will continue to iterate as we get feedback from our community!