Tuesday 10 May 2011

Londroid: Payment and monetization

The first of two Android blog posts — this one’s from the Londroid Meetup on April 21st themed on Payments.

There were three presentations from three competing payment platforms, and they presented in roughly the order I’d prefer to use them (in their current state): Paypal is very much sorted for Android — they make it easy and it looks impressive and secure; Google’s in-app billing is still new and feels unfinished; and Paythru is simply a browser-based system that’s designed for mobile, but no way near as slick as the other two.

However, talking to the Paythru rep later, they have some interesting tricks up their sleeve — like being able to take payment but not actually charge it to the card for several days (useful for synchronising multiple payments, or buying Olympics tickets). Google will also be beefing up their billing system over the next few months, so Paypal won’t have an easy ride.

Integrating Paypal In-App and Mobile Browser Payments on Android

Anthony Hicks anthony@x.comPaypal

  • paypal in EU biggest in UK, then DE, then FR
    • small numbers in scandinavia, spain & italy
  • now have a bank license in Europe
  • iPhone, iPad, Android mobile payment library
    • all in-app (no browser)
  • adaptive payments
    • split payments between multiple parties
    • make chains of payments
    • make a billing agreement and charge them later
    • pre-approval — can request payments without taking people to paypal
    • customer agrees to pay up to £X per month
    • take commissions on payments
  • mobile express checkout also available (browser based)
    • optimised for webkit
    • can login with mobile number and pin (as well as with email/password)


  • payment button & pages have to be consistent
    • paypal won’t let you change them
  • language only affects the login page
    • paypal then switch to user’s language
  • process to approve:
    • get sandbox ID
    • submit test app to paypal
    • get live app ID
    • rebuild app (and don’t change it too much!)

Android In-App Billing

Richard Hyndman @geekyouupAndroid Developer Advocate, Google

  • available on 1.6 and above (since handled by Android Market app)
    • have to have opened the Market app
  • two kinds of purchase:
    • Managed: once per account
    • can query market to find out if the purchase has been made
    • Unmanaged: unlimited per account
  • get the Google Market Billing package from the ADK
  • usage:
    • bind to service
    • check billing supported (requires network) — can then ask for upgrade
    • send billing request and put up billing page activity
    • set up billing receiver
    • purchase notify tells you something has changed, but you have to ask what…
    • quite a few back and forths…
  • security
    • recommend that you put validation on server (urban airship?)
  • use android.test.purchased as your SKU then it won’t get billed!
  • use test accounts for testing…
  • apparently the dungeons example has two or three classes you don’t actually need


  • subscriptions not in API yet…
  • shared preferences can now be synced to the cloud
  • to prevent copying to another phone, would have to check market when app launches
  • currency tied to the google account, not to the IP location
  • can only buy digital content/services

Paythru - Money on the Move


  • paythruMONEY — allows people to manage a card from their mobile
  • can move money with a single-use QR code
  • provides digital cash (user is logged in but retailer sees no identification)
  • a few lines of code:
    • launch a browser to a specific URL
    • get the app to launch with a return URL when the paythru mobile web checkout has completed

No comments: