In-app Payments with PayPal's Mobile Payment Library (MPL)


Published on

With increasing smart phone adoption, m-commerce is set to explode in the next few years. However, dealing with payments is still a hassle for both consumers and developers. The PayPal Mobile Payments Library (MPL) aims to remove friction from payments and truly unleash m-commerce on the iPhone/iPad and Android platform. In this session you will learn how to integrate the PayPal Library and start accepting in-app payments for goods and services in your apps in a matter of minutes.

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

In-app Payments with PayPal's Mobile Payment Library (MPL)

  1. 1. SiliconValleycodecamp_10<br />In-app Payments with PayPal's Mobile Payment Library (MPL)<br />Pragati<br />
  2. 2. Developers Center of the Ecosystem<br />Mobile Applications Worldwide Spending ($B)<br />The SW ecosystem is the new differentiator<br />App stores fueling apps sales<br />Source: Piper Jeffrey <br />
  3. 3. Goods and Services Exploding on New Devices<br /><ul><li>Portion of $600+B Ecommerce migrating to mcommerce: brands moving from product brochure to storefronts
  4. 4. New Mobile Use cases:
  5. 5. Coupons
  6. 6. Comparison shopping
  7. 7. Private and time sensitive sales
  8. 8. Ticketing
  9. 9. eBay app shows the potential: $600m in 09 and $1.5B in 2010
  10. 10. Amazon has quoted $1B in mobile volume in last 12M</li></li></ul><li>Mobile Payments Library<br />Making it easier for developers<br />Making it better for consumers<br />A growing feature set<br /><ul><li>Library designed to be integrated in less then 5 minutes
  11. 11. No need to code payment UI
  12. 12. More convenient than entering credit card
  13. 13. No need to redirect to a browser and risk losing your customer.
  14. 14. Consumers don’t need to share their financial info
  15. 15. Physical goods and services
  16. 16. In-app purchase
  17. 17. Payment settled immediately to your PP account
  18. 18. Supports iOS3.0 and above (and Android 1.5 and above)</li></li></ul><li>Getting Started with the Library<br />First download the library at<br />The package includes:<br /><ul><li>Quick getting started guide
  19. 19. The technical document
  20. 20. The library
  21. 21. A sample pizza app that integrates the library</li></ul>What else you need to start coding:<br />Test APPID from your account (APP-80W284485P519543T)<br />PayPal Sandbox account (<br />
  22. 22. Demo on Android<br />
  23. 23. Overview of Integration<br />Four simple steps:<br />Initialize the library<br />Generate the “Pay with PayPal” button<br />Add the payment details<br />Wait for callback<br />
  24. 24. 1. Initializing the Library<br />Initialize the library with this method<br />ppObj=PayPal.initWithAppID(this.getBaseContext(), “APP-80W284485P519543T“, PayPal.ENV_SANDBOX);<br />Three possible environments<br />ENV_LIVE, ENV_SANDBOX, ENV_NONE<br />Update the Manifest<br /><activity android:name=“”><br /><uses-permission android:name="android.permission.INTERNET"/><br /><uses-permission android:name="android.permission.READ_PHONE_STATE"/><br />
  25. 25. 2. Generate the PayPal Button<br />Create a PayPal button with this method<br />CheckoutButtonpayPalButton = (CheckoutButton) ppObj.getPaymentButton(PayPal.BUTTON_278x43, this, PayPal.PAYMENT_TYPE_HARD_GOODS);<br />payPalButton.setOnClickListener(this);<br />mainLayout.addView(payPalButton);<br />Various payment types can be used<br />HARD_GOODS,<br />SERVICE,<br />PERSONAL,<br />
  26. 26. 3. Add the Payment Details<br />Use the onClick method to create the new payment<br />public void onClick (View arg0) {<br />PayPalPaymentnewPayment = new PayPalPayment();<br />newPayment.setAmount (10.f);<br />newPayment.setCurrency(“USD”);<br />newPayment.setRecipient(“”);<br />newPayment.setItemDescription(“bike chain”);<br />Intent checkoutIntent = new Intent (this, PayPalActivity.class);<br />checkoutIntent.putExtra(PayPalActivity.EXTRA_PAYMENT_INFO, newPayment);<br />this.startActivityForResult(checkoutIntent,1);<br />Optional methods can be used for more functionality<br />enableDynamicAmountCalculation()<br />setShippingEnabled()<br />setLang()<br />
  27. 27. 4. Handle a Callback<br />Three types of call back responses to handle<br />public void paymentSucceeded(String transactionID)<br />public void paymentCancelled()<br />public void paymentFailed(String errorID, string errorMessage)<br />
  28. 28. Supported Languages<br />Argentina: es_AR<br />Brazil: pt_BR<br />Australia: en_AU<br />Belgium: en_BE, nl_BE, fr_BE<br />Canada: en_CA, fr_CA<br />France: fr_FR, en_FR<br />Germany: de_DE, en_DE<br />Hong Kong: zh_HK, en_HK<br />India: en_IN<br />Italy: it_IT<br />Japan: ja_JP, en_JP<br />Mexico: es_MX, en_MX<br />Netherlands: nl_NL, en_NL<br />Poland: pl_PL, en_PL<br />Singapore: en_SG<br />Spain: es_ES, en_ES<br />Switzerland: de_CH, en_CH, fr_CH<br />Taiwan: zh_TW, en_TW<br />United States: en_US (default)<br />
  29. 29. Standard PayPal Infrastructure<br />FEES<br /> - Standard accounts: 2.9% +$0.30<br /> - Micropayments: 5% + $0.05<br />REPORTS<br />Settlement Report<br />Contains all balance-affecting daily transactions<br />Transaction Detail Report<br />Contains status of all transactions in a 24 hour period<br />Superset of data contained in Settlement Report including buyer data<br />Dispute Resolution Report<br />Contains all new dispute cases or cases that have changed in the last 24 hours<br />Enables reconciliation of dispute cases against money moving transactions<br />
  30. 30. Submissions, Feedback, Forums, Docs…<br />
  31. 31. SiliconValleycodecamp_10<br /> Q&A<br /> Pragati Rai<br />
  32. 32. SiliconValleycodecamp_10<br /> Thank you!<br /> To learn more, visit<br />