streamlining online checkout using web standards why are
play

Streamlining Online Checkout Using Web Standards Why are checkouts - PowerPoint PPT Presentation

Alex Liu & Michel Weksler / November 2017 Streamlining Online Checkout Using Web Standards Why are checkouts not easy nor fast? Support different: networks Why not easy nor fast? payment methods billing address formats


  1. Alex Liu & Michel Weksler / November 2017 Streamlining Online Checkout Using Web Standards

  2. Why are checkouts not easy nor fast?

  3. Support different: ● networks Why not easy nor fast? ● payment methods ● billing address formats ● shipping address formats

  4. 1. What? Agenda 2. Why? 3. Demo 4. Technical Details

  5. Payment Request API

  6. A standard to allow merchants to utilize payment methods with minimal integration W3C

  7. Why Payment Request API?

  8. ● An escrow service ● Moving billions of dollars per year Airbnb Payments ● 25 integrations, 191 countries, 75 currencies ● Ecosystems of all maturity levels

  9. ● Mobile is 21% of e-commerce payments Why Payment ● 66% of mobile purchases made on Request API? web rather than native apps ● At airbnb, conversion rate on mobile much lower than desktop

  10. “makes checkout flows easier , faster and consistent ” Google Developer Blog

  11. 1. Easier

  12. 1. Easier 2. Faster

  13. 1. Easier 2. Faster 3. Consistent

  14. ● Users can use their existing wallets ● Preferred payment methods Payment Request ● Avoid custom billing form at Airbnb presentation ● Common infrastructure: CVV, billing address, shipping address

  15. Demo

  16. Demo

  17. Demo

  18. “makes checkout flows easier , faster and consistent ” Google Developer Blog

  19. new PaymentRequest( methodData, PaymentRequest details, options ).show();

  20. new PaymentRequest( methodData, methodData details, options ).show();

  21. const methods = [ 'basic-card', methodData 'https://android.com/pay', .methods 'https://apple.com/apple-pay', ];

  22. const networks = [ 'mastercard', methodData 'visa', 'discover', .networks 'amex' ];

  23. const types = [ methodData 'credit', 'debit', .types ];

  24. const methodData = [ { supportedMethods: methods, data: { supportedNetworks: networks, methodData supportedTypes: types, }, } ]

  25. new PaymentRequest( methodData, details details, options ).show();

  26. const details = { id: "HM2AJDX29P1", displayItems: [{ label: "1 x $55 per night", amount: { currency: "USD", value: "55.00" }, }, { details label: "Occupancy Tax", amount: { currency: "USD", value: "5.00" }, }], total: { label: "Total due", amount: { currency: "USD", value: "60.00" }, }, };

  27. new PaymentRequest( methodData, options details, options ).show();

  28. const options = { requestPayerEmail: false, requestPayerName: true, options requestPayerPhone: false, requestShipping: true, }

  29. new PaymentRequest( methodData, PaymentRequest details, options );

  30. new PaymentRequest( methodData, PaymentRequest details, options ).show();

  31. Questions?

Recommend


More recommend