Your SlideShare is downloading. ×
Monetize with PayPal X Payments Platform
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Monetize with PayPal X Payments Platform

17,248

Published on

A workshop on monetization with PayPal Payments Platform

A workshop on monetization with PayPal Payments Platform

1 Comment
6 Likes
Statistics
Notes
  • I make $332.89 per day because of this easy to use software: HootMoney.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
17,248
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
248
Comments
1
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • “You chase your dream, money will follow”
  • “You chase your dream, money will follow”
  • unfortunately most of the monetization techniques that people talk about rely heavily on advertisingAffiliate programsBanner adsBlog advertisingContextual adsInterstitial adsIn-text contextual adsCPA/CPC/CPMPaid Blog PostsLead GenerationRSS adsDataSurveys/Polls
  • In this workshop we will walk through the implementation of a few of these models using PayPal APIs
  • MEETING THE OBJECTIVES OF EACH PARTY
  • Consumers, businesses, merchants, sellers, buyers, etc….
  • While providing:Strong SecurityFraud and Risk ManagementPrivacy enablingSeller Protection
  • enabling
  • Single – Multiple ItemsSubscriptionsDonationsInventory controlFraud/risk controlsUI customization
  • only PayPal accountsrecurring paymentsmultiple settlement optionsissue refunds programmaticallyaccept Credit and Debit Cards in your own application (and)accept payments from PayPal Accounts
  • Cmd = _xclick, _donation, _s-xclick, _xclick-subscriptions, _cart
  • In the Express Checkout flow, the buyer:Selects Express Checkout by clicking the Check out with PayPal button.Logs into PayPal to authenticate.Reviews the transaction on PayPal.Confirms the order and pays from your site.Receives an order confirmation.
  • Credit card processing occurs in two steps — a real-time Authorization and a capture(settlement) of the funds that were authorized. As discussed below, you perform these twosteps either as a single transaction or as two transactions, depending on your business modelFor an Authorization, the server sends the transaction information to a credit card processorwho routes the transaction through the financial networks to the cardholder’s issuing bank.The issuing bank checks whether the card is valid, evaluates whether sufficient credit exists,checks values such as address verification service and card security codes (discussed below),and returns a response: Approved, Declined, Referral, or other response values.You receive the response a few seconds after you submit the transaction to the server. If anAuthorization is approved, the bank temporarily reserves the credit for the amount of thetransaction to prepare to capture (fulfill) the transaction. The hold on funds typically lasts forabout a week.Capturing a transaction actually transfers the funds to your bank. At least once a day, PayPalgathers all transactions that are flagged to be settled and sends them in a batch file to theprocessor. The processor then charges the issuing bank and transfers the funds to your bank. Ittypically takes a few days before the money is actually available in your account, dependingon your bank.To accept credit cards over the internet, you need a special account called an Internet MerchantAccount. Your account provider or merchant (acquiring) bank works with a PayPal-supportedcredit card processor, such as First Data, TSYS Acquiring Solutions (formerly VitalProcessing Services), or Paymentech. To use Payflow Pro to accept live credit cards, you mustprovide certain details about your account to PayPal during the “Go Live” part of theenrollment process.
  • On the Checkout page:Collect shipping and billing information.Retrieve the IP address of customer's browser.Clicking PAY button invokes the DoDirectPayment method.PayPal API server executes the request and returns a response.Ack code (Success, SuccessWithWarning, or Failure)Transaction amountAVS and CVV response codesPayPal transaction ID and correlation IDError codes and messages (if any)Upon success, send an order confirmation pageIf not successful, display information related to the error.Provide an option to pay using a different payment method.
  • PayPal account holder:Receives an email alerting them of the paymentMoney is deposited into the recipient’s PayPal account as soon as it is processed and sentNon-PayPal account holder:Receives an email with a link to claim their moneyRecipient needs to sign up for an account and confirm their email to claim the moneyPayments not claimed after 30 days will be returned to the sender.
  • The simplest application security testing tools are client-side proxies Burp Paros FiddlerWebScarabBrowser plug-ins can also help Tamper DataHttpWatchFree, commercial tools exist to automate security testingAppScanWebInspect
  • PayPal has built a world-class system to detect fraudulent transactions:Proprietary antifraud risk models and fraud detection techniquesAntifraud specialists proactively monitor transactions 24 hours/7 days per weekPatent-pending bank account verificationSafeguard sensitive information using state-of-the-art encryptionIndustry-recognized address verification system (AVS) and card security code checksIf you resolve a dispute during the PayPal claims process, you are 100% protected against any future chargeback for the same transaction.PayPal will handle the issue without even notifying you.
  • Transcript

    • 1. www.x.com
      Show me the money!
      A workshop on monetization with PayPal Payments Platform
      Praveen Alavilli, Aalap Parikh, Carolyn Mellor
      PayPal Developer Network
      Feb, 24th 2010
    • 2. agenda
      Monetization
      Payments 101
      PayPal Services and APIs
      Development Process
      PayPal API Basics
      SDKs and Tools
      Implementation walk through
      eCommerce
      Subscriptions and Recurring Payments
      Disbursements
      mCommerce
      Advanced Use cases with Adaptive Platform
      Instant Payment Notifications (IPN)
      Going Live
      Tips on Security and Fraud
    • 3. Building and running an app is cheap
    • 4. a successful and profitable company needs
      Good Monetization Strategy
    • 5. Advertising ?
      What else ?
    • 6. eCommerce
      Virtual Goods
      Premium Content
      Value added Services
      Memberships
      Subscription
      License of Content, Brand and Services
    • 7. Before we get our hands dirty
      A quick overview of what payments are.
    • 8. Payments 101
      exchange of value from one party to another
      As a developer, the sender and receiver may have many different names, depending on their role and objective.
    • 9. Payment Methods
      Travelers checks
      Bill payments
      Check or draft
      ACH payment
      Cards, cards, cards
      Net-based payments
      Many others
      • each payment method has unique features and attributes
      • 10. different technology to interface
      As a developer, you select the forms of payments that best fit your application and target the consumer experience.
    • 11. Credit Cards
      usage of the card is authorized by the issuer in real time
      PaymentSystem
      Acquirer
      Issuer
      Consumer
      Merchant
    • 12. How the Money moves
      authorizations are captured immediately and settled in batch
      PaymentSystem
      Acquirer
      Issuer
      Consumer
      Merchant
    • 13. Chargebacks
      Consumers have the right to chargeback transactions.
      PaymentSystem
      Acquirer
      Issuer
      Consumer
      Merchant
    • 14. Chargebacks
      Consumers have the right to chargeback transactions.
      The funds are withdrawn from the merchant’s account and credited to the consumer’s account.
      PaymentSystem
      Acquirer
      Issuer
      Consumer
      Merchant
    • 15. Debit Cards
      PaymentSystem
      Acquirer
      Issuer
      Consumer
      Merchant
    • 16. Debit Card differences
      PaymentSystem
      With debit cards, processed as a debit card, the authorization transaction and the settlement (capture) transaction are the same.
      Money movement is in real time.
      Acquirer
      Issuer
      Consumer
      Merchant
    • 17. Bank Accounts & ACH
      PaymentSystem
      ODFI
      RDFI
      Consumer
      Merchant
    • 18. PaymentSystem
      With Automated Clearing House (ACH), there is no authorization transaction.
      Money movement is batch.
      ODFI
      RDFI
      Consumer
      Merchant
      Bank Accounts & ACH
    • 19. PayPal X Payments Platform
    • 20. Pay Anyone and Receive from Anyone
      Really !
      (an email address or a phone number)
    • 21. Facilitate Payments
      Manage Accounts
       
      Information and Reporting
    • 22. Simple to Advanced
      enabling different kind of payments…
    • 23. Simple/Parallel/Chained Payments
      Preapprovals
      Subscriptions
      Reference Transactions
      Disbursements
      Micropayments
      Rewards
      Donations
      Digital Goods
      Gift Certificates
    • 24. (while taking care of things that you don’t want to manage yourself)
      Risk and Fraud Management
      Security
      Compliance
      Settlements
      Refunds/Charge backs
    • 25. How simple can it go ?
    • 26. Email Payments
      (old school)
      invoice over email from PayPal
      Virtual Terminal
      POS terminal on the Cloud !
      accept payments over phone, mail, & fax
      Website Payments Standard
      (aka WPS or “cut & paste payments”)
      buttons, buttons, buttons
    • 27. Simple but Powerful
      Sell Single/Multiple Items (cart)
      Subscriptions
      Donations
      Inventory Control
      UI Customization
      Fraud/Risk Controls
    • 28. Express Checkout
      “all it takes is 3 API Calls”
      a checkout solution & BML
      Payflow
      a payment gateway
      Website Payments Pro
      Direct Payments + Express Checkout
      Mass Payments
      disbursements
    • 29. Adaptive Platform
      (Adaptive Payments & Adaptive Accounts)
      for Web 2.0 and Web.Next applications
      Parallel and Chained Payments
    • 30. chained
      Parallel
      Primary
      Sender Visibility
      Sender Visibility
    • 31. Adaptive Platform
      Pre-approvals
      Disbursements
      Simplified Account Creation
      Flexible APIs allow tighter integration
    • 32. PayPal X Platform
      Checkout products
      Express Checkout
      Website Payments Pro
      Website Payments Standard
      Virtual Terminal
      PayFlow Gateway
      Adaptive APIs
      • Adaptive Payments
      • 33. Adaptive Accounts
      Others
      • eMailPayments
      • 34. Mass Pay
    • Development Process To Integrate PayPal
    • 35. Submit for application review (only AP/AA)
      Get API credentials
      Go Live
      Design and build application
      Create Sandbox account
      Get APP ID
      Signup on
      x.com
    • 36. X.com
      • Technical Docs for all products
      • 37. SDKs and Sample code
      • 38. Forums – non-moderated content
      • 39. Blogs – PayPal and developers
      • 40. Connected with PayPal Site
      • 41. Docs rating and commenting
      • 42. Instant feedback from developers
      • 43. Videos
    • Sandbox
      developer.paypal.com
      • Manage Sandbox test accounts
      • 44. Manage Sandbox API Credentials
      • 45. Monitor Sandbox payment confirmation emails
      • 46. IPN Simulator
      <browser walk through>
    • 47. PayPal API Basics
    • Traditional PayPal NVP API Basics
    • 55. Traditional PayPal NVP API - example
    • 56. Traditional XMLPay API Basics
    • 57. Traditional XMLPay - Example
      <?xml version="1.0" encoding="UTF-8"?>
      <XMLPayRequest Timeout="30" version = "2.0” xmlns="http://www.paypal.com/XMLPay">
      <RequestData>
      <Vendor>vendor</Vendor>
      <Partner>partner</Partner>
      <Transactions><Transaction><Authorization>
      <PayData><Invoice><BillTo><Address>
      <Street>123 4th street</Street><City>San Jose</City><State>CA</State><Zip>95032</Zip>
      <Country>USA</Country>
      </Address></BillTo>
      <TotalAmt>24.97</TotalAmt>
      </Invoice>
      <Tender><Card><CardType>visa</CardType>
      <CardNum>5105105105105100</CardNum>
      <ExpDate>200911</ExpDate>
      <NameOnCard/></Card>
      </Tender>
      </PayData>
      </Authorization></Transaction></Transactions>
      </RequestData>
      <RequestAuth><UserPass>
      <User>user</User>
      <Password>password</Password>
      </UserPass></RequestAuth>
      </XMLPayRequest>
    • 58. Traditional XMLPay - Example
      <?xml version="1.0" encoding="UTF-8"?>
      <XMLPayResponse>
      <ResponseData>
      <Vendor>vendor</Vendor>
      <Partner>partner</Partner>
      <TransactionResults><TransactionResult>
      <Result>0</Result>
      <AVSResult>
      <StreetMatch>Service Not Available</StreetMatch>
      <ZipMatch>Service Not Available</ZipMatch>
      </AVSResult>
      <CVResult>Service Not Requested</CVResult>
      <Message>Approved</Message>
      <PNRef>V63A09910356</PNRef>
      <AuthCode>747PNI</AuthCode>
      <HostCode>00</HostCode>
      <OrigResult>0</OrigResult>
      </TransactionResult></TransactionResults>
      </ResponseData>
      </XMLPayResponse>
    • 59. All SOAP API Basics – Request Format
    • 60. Adaptive API Basics – API RESPONSE FORMAT - SOAP
    • 61. Adaptive API Basics – Non SOAP
      • Request Authentication Headers
      • 62. X-PAYPAL-SECURITY-USERID
      • 63. X-PAYPAL-SECURITY-PASSWORD
      • 64. X-PAYPAL-SECURITY-SIGNATURE
      • 65. X-PAYPAL-SECURITY-SUBJECT
      • 66. Data Format
      • 67. X-PAYPAL-REQUEST-DATA-FORMAT (NV, XML, JSON)
      • 68. X-PAYPAL-RESPONSE-DATA-FORMAT (NV, XML, JSON)
      • 69. Application and Device identification
      • 70. X-PAYPAL-APPLICATION-ID
      • 71. Request Body contains API related objects (JSON/XML/NV)
    • Adaptive API Basics – Non SOAP Sample
      JSON: {"returnUrl":"http://example.com/returnURL.htm", "requestEnvelope":{"errorLanguage":"en_US"},"currencyCode":"USD", "receiverList":{"receiver":[{"email":”david@example.com”, "amount":"10.00",}]},"cancelUrl":”http://example.com/cancelURL.htm”, "actionType":"PAY"}
      NVP: &actionType=PAY&cancelUrl=http:xample.comcancel.htm&currencyCode=USD&receiverList.receiver(0).amount=9.00&receiverList.receiver(0).email=andrea@example.com&receiverList.receiver(1).amount=5.00&receiverList.receiver(1).email=linda@example.com&requestEnvelope.errorLanguage=en_US&returnUrl=http:xample.com eturn.htm
      XML:
      <PayRequest>
      <requestEnvelope><errorLanguage>en_US</errorLanguage> </requestEnvelope>
      <cancelUrl>http://exammple.com/cancelURL.htm</cancelUrl>
      <currencyCode>USD</currencyCode>
      <receiverList>
      <receiver><amount>100</amount><email>frank@example.com</email><primary>true</primary></receiver>
      <receiver><amount>75</amount><email>yvonne@example.com</email>
      <primary>false</primary></receiver>
      </receiverList>
      <returnUrl>http://example.com/returnURL.htm</returnUrl>
      </PayRequest>
    • 72. SDKs and Toolkits
      • Kick start integration
      • 73. Minimize integration complexity
      • 74. Offer stable interface
      • 75. Focus on application logic
      PayPal Services
      PayPal SDK
      Your Application
    • 76. SDK Features
      Live
      Sandbox
      Beta Sandbox
      • Sample code and applications for quick ramp up
      • 77. Source code included
      • 78. Bundled with test token and API credentials
      SSL Connection
      SOAP
      JSON
      NVP
      Authorization Setup
      Logging
      Error Handling
      Configuration
      API 1
      API 2
      API 3
      Other
      .NET
      Java
      PHP
      Your Application
    • 79. MERCHANT SDKs
      APIs
      AddressVerify
      BillOutstandingAmount
      CreateRecurringPaymentsProfile
      DoAuthorization
      DoCapture
      DoDirectPayment
      DoExpressCheckoutPayment
      DoNonReferencedCredit
      DoReauthorization
      DoReferenceTransaction
      DoVoid
      GetBalance
      GetBillingAgreementCustomerDetails
      GetExpressCheckoutDetails
      GetRecurringPaymentsProfileDetails
      GetTransactionDetails
      ManageRecurringPaymentsProfileStatus
      ManagePendingTransactionStatus
      MassPayment
      RefundTransaction
      SetCustomerBillingAgreement
      SetExpressCheckout
      TransactionSearch
      UpdateRecurringPaymentsProfile
      Express Checkout & WPP
      SOAP SDK Language Support
      Java, .NET, PHP
      NVP SDK Language Support
      Java, .NET, PHP, Ruby, ColdFusion
      Bindings
      SOAP, NVP
      Download: www.x.com/sdks
    • 80. PAYFLOW PRO SDK
      Credit card processing
      Language support
      Java, .NET
      Bindings
      NVP, XML
      Download: www.x.com/sdks
      APIs
      DoDirectPayment
      Sale
      Authorization
      Void
      Delayed Capture
      Credit
      SetExpressCheckoutGetExpressChedout
      DoExpressCheckoutReferenceTransationRecurringPayment
    • 81. WEBSITE PAYMENTS STANDARD TOOLKIT
      Payment buttons for your websites
      Language support
      Java, .NET, PHP, Ruby
      Download: www.x.com/sdks
      Utilities
      Button Encryption
      Payment Data Transfer
      Instant Payment Notification
    • 82. ADAPTIVE API SDK
      Adaptive Payments
      Setup preapproval agreements
      Simple Send Money
      Split payments
      Refund
      Currency conversion
      Adaptive Accounts
      Create account
      Language Support
      Java, .NET, PHP
      Internal Binding
      SOAP
      Download: www.x.com/sdks
      APIs
      PreapprovalDetails
      PaymentDetails
      Pay
      Preapproval
      CancelPreapproval
      Refund
      ConvertCurrency
      CreateAccount
    • 83. Design and build !
    • 84. Sample Implementations
    • eCommerce
      selling of products online
    • eCommerce with Website Payments Standard
      buttons, buttons, buttons
    • 93. Website Payments Standard (WPS)
      Programmatically create, manage, edit, and
      delete buttons
      Hosted buttons
      Encrypted buttons
      Clear text buttons
      Inventory Management
      Physical Goods (button wizard and API)
      Digital Downloads (with API)
      Low inventory alerts
    • 94. WPS – How it works ?
    • 95. WPS - Implementation
      Go to www.paypal.com Business  Products and Services
      Select Website Payments Standard
      Click on “Try it Now” button
    • 96. WPS –HTML
      <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
      <!-- Identify your business so that you can collect the payments. -->
      <input type="hidden" name="business" value="herschelgomez@xyzzyu.com">
      <!-- Specify a Buy Now button. -->
      <input type="hidden" name="cmd" value="_xclick">
      <!-- Specify details about the item that buyers will purchase. -->
      <input type="hidden" name="item_name" value="Hot Sauce-12 oz. Bottle">
      <input type="hidden" name="amount" value="5.95">
      <input type="hidden" name="currency_code" value="USD">
      <!-- Display the payment button. -->
      <input type="image" name="submit" border="0"
      src="https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif"
      alt="PayPal - The safer, easier way to pay online">
      <img alt="" border="0" width="1" height="1"
      src="https://www.paypal.com/en_US/i/scr/pixel.gif" >
      </form>
    • 97. When simple isn’t enough
      Developers always want :
      • a programmatic approach
      • 98. For handling thousands & millions of products
      • 99. For tighter integration with their app
      • 100. Ex. “Buy Now” might not make sense for use case
      • 101. better control on payment process
      • 102. more customization of UI
      • 103. non hosted solution
    • eCommerce with Express Checkout
      a checkout solution
    • 104. Express Checkout (EC)
      “all it takes is 3 API Calls”
      user convenience
      reduces friction in buyer’s experience
      only PayPal accounts
      recurring payments
      multiple settlement options
      issue refunds programmatically
      The shortest path with the least hassle for PayPal users to checkout.
    • 105. EC – How it works ?
      Confirm Order
      (optional)
      Shopping Cart
      Login
      Review Info
      Confirmation
      Usability Testing Findings
      • Users feel confident about clicking on the Checkout with PayPal button.
      • 106. Users are familiar with the button and expect it in the flow.
      • 107. Users feel the process is streamlined and quicker due to the reduced amount of data entry.
    • EC – API
      • SetExpressCheckout - Sets up the Express Checkout transaction
      • 108. customize the look and feel
      • 109. information displayed
      • 110. return/cancel urls
      • 111. total amount
      • 112. GetExpressCheckout – returns information about the buyer from PayPal, including shipping information
      • 113. DoExpressCheckoutPayment - Completes the Express Checkout transaction
      • 114. actual total amount of the order.
    • EC – Implementation
      <code>
    • 115. eCommerce with Payflow
      A payment gateway
    • 116. Payflow
      accept Credit and Debit Cards in your own application (PayFlow Pro)
      • Flexible, reliable & scalable payment API
      • 117. Submit transactions and manage your payments
      • 118. you are responsible for PCI compliance
      (or)
      a fully customizable page hosted on paypal.com (Payflow Link)
      • PCI-compliant solution with Payflow Link.
      • 119. Cut and paste HTML code onto your website
      You need your own Internet Merchant Account
      Variety of payment options - PayPal, credit cards, purchase cards, debit cards
      search, reports, and virtual point-of-sale terminal
    • 120. Payflow Link – How it works ?
      Checkout Page
      Thank You!
      Pay
      PayPal Hosted Pages
    • 121. Payflow Link – Implementation
      <form method="POST" action="https://payflowlink.paypal.com">
      <input type="hidden" name="LOGIN" value=“login">
      <input type="hidden" name="PARTNER" value=“PayPal">
      <input type="hidden" name="AMOUNT" value="1.00">
      <input type="hidden" name="TYPE" value="S">
      <input type="hidden" name="DESCRIPTION" value=“Hat">
      <p><input type="submit" value="Click Here to Checkout"></p>
      </form>
    • 122. Payflow Pro– How it works ?
      Your Application
      NVP-XMLPay/HTTPS
      Payflow API Server
    • 123. Payflow Pro – API
      • Credit Card Processing
      Sale
      Authorization
      delayed capture
      Credit
      Void
      Inquiry
      Voice Authorization
      • Reference Transactions
      • 124. Address Verification and Card Security Code Validation
    • Payflow Pro – Implementation
      <code>
      • Connection parameters
      • 125. HostAddress, HostPort, Timeout, Proxy Info, ParmList
      • 126. User parameters
      • 127. User, Vendor, Partner, API Password
      • 128. Parameters specific to the type of the transaction, such as a sale or an authorization
      • 129. TRXType, Tender, Acct, Amt, Expdate
    • Payflow Pro – Sample Request/Response
      USER=user&PWD=passorwd&VENDOR=vendor&PARTNER=PayPal&TRXTYPE=S&TENDER=C&ACCT=5105105105105100&EXPDATE=0112&CVV2=123&AMT=1.00&FIRSTNAME=John&LASTNAME=Smith&STREET=1_Main_Street&CITY=Austin&STATE=TX&ZIP=78704&COMMENT1=Reservation&INVNUM=123
      HTTP/1.1 200 OK
      Connect: close
      Server: VPS-3.032.00
      X-VPS-Request-ID: ae66ec694cea474002cba0025659946d
      X-VPS-Response-ID: V1sMZIeBBmr
      Content-type: text/namevalue
      Content-length: 189
      RESULT=0&PNREF=V18A0BAB041A&RESPMSG=Approved&AUTHCODE=823PNI&AVSADDR=Y&AVSZIP=Y&CVV2MATCH=Y&HOSTCODE=A&PROCAVS=Y&PROCCVV2=M&IAVS=N&PREFPSMSG=No_Rules_Triggered&POSTFPSMSG=No_Rules_Triggered
    • 130. eCommerce with Website Payments Pro
      accept both credit cards and PayPal payments
    • 131. Website Payments Pro (WPP)
      Direct Payment lets you accept credit cards on your website
      Express Checkout lets you accept PayPal payments on your website
    • 132. WPP – How it works ?
    • 133. WPP – DoDirectPayment API
      Arguments:
      • Method: DoDirectPayment
      • 134. PaymentAction: Authorization or Sale
      • 135. IPAddress
      • 136. ReturnFMFDetails
      • 137. CreditCard Fields:
      • 138. CreditCardType, Acct, ExpDate, CVV2, StartDate, IssueNumber
      • 139. Payer Info Fields:
      • 140. Email, PayerID, PayerStatus, CountryCode, Business
      • 141. Payer Name Fields:
      • 142. Salutation, FirstName, MiddleName, LastName, Suffix
      • 143. Address Fields
      • 144. Payment Details Type Fields:
      • 145. AMT, CurrencyCode, ItemAMT, etc…
    • WPP – Implementation
      <code>
    • 146. WPP – Sample Request/Response
      Request: https://api-3t.sandbox.paypal.com/nvp
      POST Parameters: METHOD=doDirectPayment&VERSION=60.0&PWD=QFZCWN5HZM8VBG7Q&USER=sdk-three_api1.sdk.com&SIGNATURE=A.d9eRKfd1yVkRrtmMfCFLTqa6M9AyodL0SJkhYztxUi8W9pCXF6.4NI&PAYMENTACTION=Sale&AMT=1.00&CREDITCARDTYPE=Visa&ACCT=4032193587292399&EXPDATE=012012&CVV2=962&FIRSTNAME=John&LASTNAME=Doe&STREET=1+Main+St&CITY=San+Jose&STATE=CA&ZIP=95131&COUNTRYCODE=US&CURRENCYCODE=USD
      Response:
      TIMESTAMP=2010%2d02%2d22T07%3a22%3a52Z&CORRELATIONID=d64bd3c9ac968&ACK=Success&VERSION=60%2e0&BUILD=1195961&AMT=1%2e00&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=3L887465VP729712C
    • 147. Subscriptions
      Customer pays a subscription price to have access to the product/service
      Ex.
      • purchase of a series of things
      • 148. an agreement to receive or be given access to content/services online
      • 149. value added services
      • 150. Premium content
      • 151. Virtual Goods
    • Subscriptions with Website Payments Standard
    • 152. WPS – How it works ?
    • 153. WPs– Implementation
      Go to www.paypal.com Business  Products and Services
      Select Website Payments Standard
      Click on Try it Now button
      <Demo>
    • 154. WPs– HTML
      <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
      <!-- Identify your business so that you can collect the payments. -->
      <input type="hidden" name="business" value="alice@mystore.com">
      <!-- Specify a Subscribe button. -->
      <input type="hidden" name="cmd" value="_xclick-subscriptions">
      <!-- Identify the subscription. -->
      <input type="hidden" name="item_name" value="Alice's Weekly Digest">
      <input type="hidden" name="item_number" value="DIG Weekly">
      <!-- Set the terms of the regular subscription. -->
      <input type="hidden" name="currency_code" value="USD">
      <input type="hidden" name="a3" value="5.00">
      <input type="hidden" name="p3" value="1">
      <input type="hidden" name="t3" value="M">
      <!-- Display the payment button. -->
      <input type="image" name="submit" border="0"
      src="https://www.paypal.com/en_US/i/btn/btn_subscribe_LG.gif"
      alt="PayPal - The safer, easier way to pay online">
      <img alt="" border="0" width="1" height="1"
      src="https://www.paypal.com/en_US/i/scr/pixel.gif" >
      </form>
    • 155. Subscriptions with Express Checkout
      Recurring payments
    • 156. EC – How it works ?
      3
      1
      4
      2
      Merchant sets up recurring payment items.
      Customer selects Express Checkout and agrees to payment terms.
      At subsequent billing cycles, PayPal charges customer on behalf of merchant.
      Merchant can view, modify, or suspend payments.
    • 157. EC – API
      • SetExpressCheckout - Sets up the Express Checkout transaction
      • 158. customize the look and feel
      • 159. information displayed
      • 160. return/cancel urls
      • 161. total amount
      • 162. Recurring payment agreement
      • 163. GetExpressCheckout – returns information about the buyer from PayPal, including shipping information
      • 164. CreateRecurringPaymentsProfile – creates the recurring profile
    • EC – Implementation
      <code>
    • 165. EC – Sample Request/Response
      Request:
      METHOD=CreateRecurringPaymentsProfile&VERSION=60.0&PWD=QFZCWN5HZM8VBG7Q&USER=sdk-three_api1.sdk.com&SIGNATURE=A.d9eRKfd1yVkRrtmMfCFLTqa6M9AyodL0SJkhYztxUi8W9pCXF6.4NI&AMT=1.00&CREDITCARDTYPE=Visa&ACCT=4781568468637361&EXPDATE=012011&CVV2=962&FIRSTNAME=John&LASTNAME=Doe&STREET=1+Main+St&CITY=San+Jose&STATE=CA&ZIP=95131&COUNTRYCODE=US&CURRENCYCODE=USD&PROFILESTARTDATE=2010-03-21T00%3A00%3A00Z&DESC=Welcome+to+the+world+of+shopping+where+you+get+everything&BILLINGPERIOD=Week&BILLINGFREQUENCY=4&TOTALBILLINGCYCLES=
      Response:
      PROFILEID=I%2d8STY14R2YVVJ&PROFILESTATUS=ActiveProfile&TIMESTAMP=2010%2d02%2d22T07%3a34%3a07Z&CORRELATIONID=967863e017837&ACK=Success&VERSION=60%2e0&BUILD=1198898
    • 166. Disbursements
      PayPal disbursement products allow you to send payments to multiple customers at the same time.
      Who is target customer?
      Businesses who disburse money to their customers or clients
      Product is a replacement for payouts via check, direct debit, and gift cards
      Some key segments
    • 167. Disbursements with MassPay
    • 168. Mass Payments
      About Mass Payments
      • Allows sending of money to multiple recipients in one batch
      • 169. Two ways to use: MassPay API (250) or upload (5000)
      • 170. Sender pays the transaction fee, not the receiver
      • 171. 2% per payment with a maximum $1.00 per payment
      • 172. Payment made from account balance
      Primary benefits to sender
      • An easy and efficient way to send a large number of payments at once
      • 173. Great way to send payments cross-border
      • 174. Low cost to disburse money
      • 175. Provide a payout choice to your customer
      • 176. Get money to your customers quickly
    • MassPay– How it works ?
      1. Introduction
      3. Final Approval
      2. File Upload
      5. Email Confirmation
      Sample File
      4. Confirmation
    • 177. MassPay– API
      Each payment is in the format L_{Field}n
      • {Field}is the field being populated (AMT, EMAIL, and so on)
      • 178. n is the counter of the request (starting with 0 (zero))
      https://api-3t.sandbox.paypal.com/nvp?{VERSION & CREDENTIALS}&
      METHOD=MassPay&
      RECEIVERTYPE=EmailAddress&
      CURRENCYCODE=USD&
      L_AMT0=5.00&
      L_EMAIL0=masspay1%40mikeblanton.com&
      L_AMT1=5.00&
      L_EMAIL1=otheraccount%40me.com&
      L_AMT2=5.00&
      L_EMAIL2=friend%40hotmail.com
    • 179. MassPay– Implementation
      <code>
    • 180. MassPay– Sample Request/Response
      Request:
      METHOD=MassPay&VERSION=60.0&PWD=QFZCWN5HZM8VBG7Q&USER=sdk-three_api1.sdk.com&SIGNATURE=A.d9eRKfd1yVkRrtmMfCFLTqa6M9AyodL0SJkhYztxUi8W9pCXF6.4NI&L_EMAIL0=user1%40paypal.com&L_Amt0=1.00&L_UNIQUEID0=&L_NOTE0=&L_EMAIL1=user2%40paypal.com&L_Amt1=1.00&L_UNIQUEID1=&L_NOTE1=&L_EMAIL2=user3%40paypal.com&L_Amt2=1.00&L_UNIQUEID2=&L_NOTE2=&EMAILSUBJECT=You+have+money%21&RECEIVERTYPE=EmailAddress&CURRENCYCODE=USD
      Response:
      TIMESTAMP=2010%2d02%2d22T07%3a35%3a36Z&CORRELATIONID=b72f8f569219&ACK=Success&VERSION=60%2e0&BUILD=1205804
    • 181. mCommerce
      Comparison shopping applications are the top downloads.
      Number of Mobile Transactions
      10X
      Red Laser
      4 million downloads
      $380 million in sales (Jan-Sep 2009)
    • 182. The mobile way
      Clients (Mobile Embedded Payment Toolkit)
      Mobile Web
      Pre-approval (Apple)
      Entirely client-based experience leveraging APIs and plug & play interface
      Utilized WAP infrastructure and reskinning techniques for seamless integration
      Web onboarding for a mobile billing agreement
    • 183. Mobile Checkout
      Similar to Express Checkout but with Mobile UI
      Supports Phone/Pin login
      (User sets phone/pin with PayPal)
      To access mobile checkout, a device, mobile
      carrier, and browser must support the following:
      WAP 2.0 phones (not WAP 1.0)
      xHTML or HTML markup language
      SSL connections
      Cookies enabled
      No carrier "WAP gap"
    • 184. Mobile Checkout – How it works ?
    • 185. Mobile Checkout – API
      • SetMobileCheckout
      • 186. DoMobileCheckout
    • ONLINE BILLING AGREEMENTS
      • Billing agreements can be set up online or on the phone.
      • 187. Agreements can then be used on the phone.
      • 188. These are the same agreements used with Adaptive Payments.
    • Mobile Embedded Payments (MEP)
      Provides an easy way to enable payments in iPhoneapplications
      Customers never leave the application to pay
      No worries about collecting or handling financial information
      Example use cases
      Restaurant chain application for ordering and payment
      Plumbing service application for booking and paying
      Charity application for donation collection
      Selling merchandise in games and social applications
    • 189. MEP – How it works ?
    • 190. MEP – API
      (PayPal*)initializeWithAppID:(NSString*)PayPalApplicationID (Optional:) forEnvironment:PAYPAL_ENVIRONMENT)env;
      -(void)setPayButton:(UIViewController *)target buttonType:(PayPalButtonType)buttonTypestartCheckOut:(SEL)payWithPayPal
      withLeft:(int)left
      withTop:(int)top;
      -(void)Checkout:(NSString*)currency
      Amount:(NSString*)inAmount
      Description: (NSString*)inItemDesc
      Recipient:(NSString*)inRecipient
      Tax:(NSString*)inTax
      Shipping:(NSString *)inShipping
      PaymentType:(PayPalPaymentType)paymentType;
    • 191. MEP – Implementation
      // initialize paypalMEPppMEP = [PayPal initializeWithAppID:@"APP-80W284485P519543T" forEnvironment:ENV_SANDBOX];[[PayPalgetInstance] setPayButton:self buttonType:BUTTON_294x43 startCheckOut:@selector(payWithPayPal) withLeft:10 withTop:352];
      -(void)payWithPayPal {[ppMEPEnableShipping];
      //setting whether the payment type is hard goods or servicePayPalPaymentTypepaymentType = HARD_GOODS;
      NSString *desc = [NSStringstringWithFormat:@"Photo Print (%@)", photoId];
      [ppMEP SetSenderEmailorPhone:@"ppalav_1260941775_per@yahoo.com"];
      [ppMEP Checkout:@"USD"
      Amount:[NSString stringWithString:@"5.0"] Description:desc Recipient:@"pd_1265515509_biz@yahoo.com"
      Tax:[NSString stringWithString:@"0.0"]
      Shipping:[NSString stringWithString:@"0.41"] PaymentType:paymentType];
      }
      -(void)paymentSuccess:(NSString*)transactionID{
      UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"Order successful"
      message:@"Your picture is on it's way!"
      delegate:nilcancelButtonTitle:@"OK" otherButtonTitles:nil];
      [alert show];
      [alert release];
      }
    • 192. PayPal Platform (Adaptive Suite of APIs)
      • Payments platform for external developers
      • 193. First Suite of APIs
      • 194. Adaptive Payments: Highly configurable payment APIs
      • 195. Adaptive Accounts: API-based PayPal account creation
    • Adaptive Payments (AP)
      • A money movement service that is "Adaptive" to allow innumerable use cases
      Configurable service suite for any type of payment or transfer
      Not limited to web eCommerce payments
      • Simple Single Sender – Single Receiver model (to)
      Single Sender - Multiple receivers model
      • Advanced features
      • 196. Pre-approved payments
      Pre-approval for one-time, multi-use, and subscription payments
      Configurable personal identification number (PIN) support
      • Parallel and chained (Split) payments
      Allows single payment to multiple receivers
      Facilitates multiple use cases: marketplace payments, service fees, multi-merchant checkout, and so on
    • 197. AP – How it works ?
      API
      WEB
      Business
      Pay API
      Pay Key
      Redirect User to PayPal
      Return URL
      109
      User Name = P_Mart_admin.api Currency = USD
      Password = keep$secret Receiver email = Business@P_Mart.com
      Signature = 23KJHO5AS09I32SDROR Tracking ID = 234235986
      Sender Email = john_m@mail.comCancel URL = www.P_Mart.com/home
      Amount = 100 Return URL = www.P_Mart.com/apstore
      Pay Key = PA-84HK2A57FCOP3RW
      Response
      Request
      109
      Confidential and Proprietary
      109
    • 198. PAYMENT APPROVAL on WEB
      1. Login
      Payment Confirmation
      2. Review Your Payment
      3. Redirect
    • 199. Adaptive Payments - API
      • Payment APIs
      • 200. Pay: Transfer funds between parties. Supports simple, chained, parallel, preapproved payments, etc.
      • 201. PaymentDetails: Get details of a payment
      • 202. Preapproval APIs
      • 203. Preapproval: Preapproval agreement signup
      • 204. PreapprovalDetails: Get details of a preapproval
      • 205. CancelPreapproval: Cancel an existing preapproval
      • 206. Refund: Refund a payment (complete, partial, etc.)
      • 207. ConvertCurrency: Get currency conversion (foreign exchange) rates for a list of amounts and currencies (PayPal-supported currencies).
    • Adaptive Payments – Implementation
      <code>
    • 208. Adaptive Payments – Sample Request/Response
      Request (NVP - formatted):
      actionType=PAY&
      requestEnvelope.errorLanguage=en_US&
      returnUrl=http://www.return.com&
      cancelUrl=http://www.cancel.com&
      currencyCode=USD&
      feesPayer=EACHRECEIVER&
      memo=Payment for service&
      receiverList.receiver(0).email=receiver@x.com&
      receiverList.receiver(0).amount=100.00
      Response (NVP – formatted):
      responseEnvelope.timestamp=2010-02-20T19%3A35%3A41.368-08%3A00&
      responseEnvelope.ack=Success&
      responseEnvelope.correlationId=87b9285584b68&
      responseEnvelope.build=1193935&
      payKey=AP-1F95034641369115U&
      paymentExecStatus=CREATED
    • 209. Adaptive Accounts
      • Programmatic interface to PayPal account creation
      • 210. Account created can be used with any PayPal APIs, including Adaptive Payment APIs
      • 211. Currently supports creation of Personal and Premier accounts. Business account creation to come soon.
      • 212. Benefits:
      • 213. Streamline user experience
      • 214. Increase conversion
    • Adaptive Accounts – How it works ?
    • 215. Adaptive Accounts – API
      • CreateAccount: PayPal account creation API
      Personal and Premier account creation (Business account creation to come soon).
      API Request (required fields in bold):
      Account Type (valid values are Personal, Premier)
      Name: First, Last
      Address: Address Line 1, Line 2, City, Zip
      Country: Country Code
      Email
      Phone
      Preferred Language Code
      Return URL
      Registration Type (valid value is Web)
      Other fields are also dependent on the country
      DOB
      Citizenship Country Code
      API Response:
      execStatus
      Redirect URL: The user needs to be redirected to this URL for finishing the account signup process (password and Add Funding Sources flow).
    • 216. Adaptive Accounts – Implementation
      <code>
    • 217. Adaptive Accounts – Sample Request/Response
      Request:
      accountType=PERSONAL&registrationType=Web&name.salutation=Dr.&name.firstName=Bonzo&name.middleName=Simore&name.lastName=Zaius&emailAddress=bzaius@email.com&dateOfBirth=1968-01-01Z&address.line1=1968 Ape Way&address.line2=Apt 123&address.city=Austin&address.state=TX&address.postalCode=78750&address.countryCode=US&contactPhoneNumber=512-691-4160&currencyCode=USD&citizenshipCountryCode=US&preferredLanguageCode=en_US&createAccountWebOptions.returnUrl=http://www.success.com
      Response:
      responseEnvelope.timestamp=2010-02-22T21%3A47%3A09.833-08%3A00&responseEnvelope.ack=Success&responseEnvelope.correlationId=9e107273d5330&responseEnvelope.build=1149875&createAccountKey=AA-7NU425523H556874S&execStatus=COMPLETED&redirectURL=https%3A%2F%2Fwww.sandbox.paypal.com%2Fus%2Fcgi-bin%2Fwebscr%3Fcmd%3D_hostedua-flow%26encrypted_second_auth_code%3DAgPLMEgZKZSFz7ve8rViM9pjBZLK86wyV3suJtaHV4nku.Q7huKEMZms2zN6bVpWzQY%26encrypted_id%3DH24VPCELGVF4N
    • 218. a few more important things
    • 219. Instant Payment Notifications (IPN)
    • 220. Instant Pay Notifications (IPN)
      Message service that notifies you of events related to:
      New transactions
      Updates to previous transactions
      Dispute management and chargebacks
      Provides status on pending, cancelled, or failed transactions
      Allows merchants and developers to integrate payments and automate back-end operations
    • 221. COMMON IPN TYPES
      Instant payments, such as Express Checkout
      eCheck payments
      Pending payments
      Recurring payments and subscriptions
      Authorizations
      Chargebacks
      Disputes
      Reversals
    • 222. IPN IN ACTION
      PayPal posts IPN to seller
      Seller posts back IPN message to PayPal
      Buyer clicks Buy Now button
      PayPal sends VERIFIED/INVALID response
    • 223. IPN MESSAGE
      IPN is HTTP POST with POST variables consisting of:
      Information about Seller
      Information about the Transaction
      Information about your Buyer
      Information about the Payment
    • 224. IPN - Sample
      mc_gross=19.95&protection_eligibility=Eligible&address_status=confirmed&pay
      er_id=LPLWNMTBWMFAY&tax=0.00&address_street=1+Main+St&payment_date=20%3A12%
      3A59+Jan+13%2C+2009+PST&payment_status=Completed&charset=windows-
      1252&address_zip=95131&first_name=Test&mc_fee=0.88&address_country_code=US&
      address_name=Test+User&notify_version=2.6&custom=&payer_status=verified&add
      ress_country=United+States&address_city=San+Jose&quantity=1&verify_sign=Atk
      OfCXbDm2hu0ZELryHFjY-Vb7PAUvS6nMXgysbElEn9v-
      1XcmSoGtf&payer_email=user123%40yahoo.com&txn_id=61E67681CH32
      38416&payment_type=instant&last_name=User&address_state=CA&receiver_email=g
      pmac__biz%40gmail.com&payment_fee=0.88&receiver_id=S8XGHLYDW9T3S
      &txn_type=express_checkout&item_name=&mc_currency=USD&item_number=&residenc
      e_country=US&test_ipn=1&handling_amount=0.00&transaction_subject=&payment_g
      ross=19.95&shipping=0.00
      https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_notifyvalidate&
      mc_gross=19.95&protection_eligibility=Eligible&address_status=conf
      irmed&payer_id=LPLWNMTBWMFAY&tax=0.00&...&payment_gross=19.95&shipping=0.00
      VERIFIED or INVALID
    • 225. ENABLING IPN
      • Listener can be enabled from Profile-> Instant Payment Notification
      • 226. Per Transaction Listener (Notify URL) can be used from buttons and API requests
      * Requires subscription.
      Contact Customer Service for access
    • 227. IPN HISTORY: RESENDING IPN
      History->IPN History
    • 228. IPN BEST PRACTICES
      Once IPN is received:
      Always validate the incoming IPN.
      Send the response as soon as possible.
      Check for duplicate IPNs.
      Respond to all the IPNs or the IPN will be resent.
      IPN is designed as an asynchronous notification. Never wait for IPN synchronously.
      Disable any listeners that are not in use. PayPal detects and disables malfunctioning listeners.
      Where necessary get, transaction information from other methods in addition to using IPN.
    • 229. Development Process
      Submit for application review
      Get API credentials
      Go Live
      Design and build application
      Create Sandbox account
      Get APP ID
      Signup on
      x.com
    • 230. Submitting your non-Adaptive API APP
      • Get live API credentials from your profile page
      • 231. Go live !
    • Submitting your Adaptive APIs app for review
      Upgrade to a PayPal Business Account
      Get Verified
      Obtain Live API Credentials
      Submit App
      App description
      Kind of Payments it provisions
      Test URL and related testing info
      Services you use (simple/adanced)
      A few screenshots
      Answer a few questions to make sure your app is Secure, and doesn’t violate any regulations.
    • 232. Things to note
      1. The PayPal X Developer Agreement is your friend.
      Clearly and concisely explains what is and is not allowed
      Describes confidentiality and intellectual property rights
      2. Your application will be reviewed for:
      Compliance with payment regulations
      Acceptable use policy compliance
      Information security
      Risk
      Functionality
      3. Applications using only standard functionality go through a less involved review.
    • 233. Going Live
      Once your app get’s approved, you will receive your Live APP ID.
      Update your app to use Live APP ID and API Credentials
      Launch your application
      Start accepting payments!
    • 234. WHEN TRANSACTIONS GO RIGHT
      Order
      Payment
      Shipment
      /Delivery
    • 235. When Security Fails
    • 236. SECURITY WITH PayPal PRODUCTS
      • Always use HTTPS when talking to PayPal.
      • 237. Always integrate with web flows and APIs using POST, not GET.
      • 238. Always integrate with PayPal using an HTTP(s) library, not raw sockets.
      • 239. Pay attention to HTTP(s) error codes
      • 240. Validate IPNs properly.
      • 241. Use saved or encrypted Website Payments Standard buttons to prevent tampering attacks.
      • 242. Don’t rely on the referrer header during a checkout flow to assume a person has been paid.
    • Securing your applications
      • Be careful about handling input to your application.
      • 243. Prevent Common shopping cart attacks like Price tampering & Fake referrer header attack
      • 244. Stay current on security vulnerabilities.
      • 245. Harden your servers, frameworks, and applications and keep them up to date.
      • 246. By following best practices, your applications will be both more robust and more secure.
      The Open Web Application Security Project (http://www.owasp.org)
      The Web Application Security Consortium (http://www.webappsec.org/)
      Security Focus (http://www.securityfocus.com)
    • 247. Fighting Fraud
      Consumer fraud
      Merchant fraud
      Phishing
      Social engineering
    • 248. BEST PRACTICES
      Be vigilant
      Authenticate each transaction
      Real-time authorizations
      Reduce customer errors
      Manual review
      Robust risk rules customized for your business
      Comprehensive and dynamic fraud scoring
      Bayesian filters
      Neural nets
      Cross merchant and buyer data analysis for patterns
      Cross channel data analysis patterns
    • 249. Managing your Risk using PayPal
    • 250. Watch out for illegal transactions
      Certain transactions are illegal. Therefore, the payment and processing of the payment is also illegal.
      Some examples:
      Sales of narcotics
      Child pornography
      Internet gambling transactions
      Underage alcohol/tobacco sales
      All payment mechanisms prohibit payments that violate law.
      As a developer, creating an application that violates law or enables the violation of law could subject you to criminal and civil liability.
    • 251. A few useful urls
      • PayPal X Developer Network: https://www.x.com
      • 252. API Documentation: https://www.x.com/community/ppx/dev-tools
      • 253. SDKs & Toolkits: https://www.x.com/community/ppx/sdks
      • 254. Business Account SignUp: https://www.paypal.com
      • 255. Sandbox: https://developer.paypal.com/
      • 256. IPN Simulator: https://developer.paypal.com/devscr?cmd=_ipn-link-session
      • 257. Contact Us: https://www.x.com/community/ppx/support
    • LEARN AND SHARE
      www.x.com
      Twitter: @paypalx, @ppalavilli, @aalapparikh, @carolynmellor
      www.facebook.com/paypalx

    ×