Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web Payments

jeffcarp
September 22, 2016

Web Payments

Turbocharging mobile commerce through native browser APIs

jeffcarp

September 22, 2016
Tweet

More Decks by jeffcarp

Other Decks in Technology

Transcript

  1. Who is this And why are they up here Jeff

    Carpenter Software Engineer Google Chrome (Please note: I am not speaking on behalf of Google) Formerly at Braintree Payments
  2. <form> <input name=”number” /> <input name=”expiration” /> <input type=”submit” />

    </form> <script src=”gateway.js”></script> But what about PCI compliance?
  3. <form> <input name=”number” /> <input name=”expiration” /> <input type=”submit” />

    </form> <script src=”gateway.js”></script> <script src=”cc-validator.js”></script> How about client-side validation?
  4. <form> <input name=”number” /> <input name=”expiration” /> <input type=”submit” />

    </form> <script src=”gateway.js”></script> <script src=”cc-validator.js”></script> <script src=”paypal.js”></script> <script src=”dogecoin.js”></script> What about supporting different payment methods?
  5. Most frustrating aspects of mobile checkout • Small screen size

    • Entering card information ◦ Need to enter for each merchant • Heterogeneity
  6. Most frustrating aspects of mobile checkout • Small screen size

    • Entering card information ◦ Need to enter for each merchant • Heterogeneity
  7. 2016 has seen two native APIs emerge PaymentRequest Google I/O

    May 2016 Safari Apple Pay WWDC June 2016
  8. var details = { total: { label: 'Donation', amount: {currency:

    'USD', value: '55.00'} }, displayItems: [{ label: 'CatDog', amount: { currency: 'USD', value: '65.00' } }] }
  9. new PaymentRequest(instruments, details).show() .then(instrumentResponse => { console.log(instrumentResponse.details) // Spinner is

    shown to customer // as you complete transaction // with your back-end instrumentResponse.complete() } )
  10. { methodName: 'visa', details: { cardHolderName: 'Jane Smith', cardNumber: '4111111111111111',

    expiryMonth: '01', expiryYear: '2021', cardSecurityCode: '123' } }
  11. Try it yourself! Chrome 53, Android only • Demo pages

    ◦ https://googlechrome.github.io/samples/paymentrequest/ • Integration guide • https://developers.google.com/web/fundamentals/primers/payment- request/?hl=en
  12. When will PaymentRequest be available? • Available for credit cards

    now in Chrome 53! • Android Pay late 2016 • 3rd party apps 2017
  13. var options = { currencyCode: 'USD', countryCode: 'US', total: {

    label: 'Canine Clothing', amount: '19.99' }, supportedNetworks: ['amex', 'masterCard'] };
  14. session.onvalidatemerchant = (event) => { // Send event.validationURL to your

    server // Start merchant session by // calling Apple’s servers // with two-way TLS (using merchant // validation certificate) }
  15. PCI Compliance estimates Raw PaymentRequest: SAQ A-EP Via a payment

    gateway (if supported): SAQ A-EP Android Pay & Apple Pay: SAQ A
  16. SAQ A • SAQ A for raw PANs may not

    be possible even with gateway support • W3C spec in development • Feature Policy • <iframe enable=”payment”>
  17. Realistic timeline • Realistically given PCI compliance and browser development

    timelines, my wildly speculative estimate is mid to late 2017
  18. Merchants Upside: potentially more card volume Downside: might require engineering

    resources to implement (based on how they accept payments)
  19. Acquiring banks & Card Networks Upside: potentially more card volume

    Upside: no change to existing payment rails
  20. PayPal Has always been a simpler and safer alternative to

    entering credit cards. Are web payments a threat to one of PayPal’s value props?
  21. W3C Specs • Payment Request API ◦ Payment Method Identifiers

    (e.g. the string ‘visa’) ◦ Basic Card Payment (credit card schema) • Start here: ◦ https://github.com/w3c/webpayments/wiki/PaymentRequestFAQ
  22. Learning more • Good explanation of W3C rationale: ◦ https://www.w3.org/Payments/

    • Bringing seamless checkouts to the mobile web - Google I/O 2016 ◦ https://www.youtube.com/watch?v=yelPlCVZLEE • Apple Pay WWDC talk ◦ https://developer.apple.com/videos/play/wwdc2016/703/
  23. Thank You Comments - Questions - Tomatoes - @jcarp Special

    thanks to: • Elliot Lee, Braintree • Zach Koch, Google Chrome