257
© 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. System Frameworks #WWDC16 Session 703 Apple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit

703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

© 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

System Frameworks #WWDC16

Session 703

Apple Pay on the web

Nick Shearer iOS Apps and FrameworksAnders Carlsson WebKit

Page 2: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Use this shape to mask safari screenshotsand place beneath the top bar

Page 3: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Use this shape to mask safari screenshotsand place beneath the top bar

Page 4: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Use this shape to mask safari screenshotsand place beneath the top bar

Page 5: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 6: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Overview

Page 7: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Introduction

Apple Pay on the web

Payment Processing

Designing for Apple Pay

Overview

Page 8: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Introduction

Page 9: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay

Page 10: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay

An easy, secure, and private way to pay

Page 11: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay

An easy, secure, and private way to payPay in-store and within iOS apps

Page 12: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay

An easy, secure, and private way to payPay in-store and within iOS appsEnables best in class eCommerce

Page 13: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 14: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Thousands of apps

Page 15: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Within appsApple Pay

Page 16: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Within appsApple Pay

Higher conversion rates

Page 17: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Within appsApple Pay

Higher conversion ratesIncreased engagement

Page 18: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Within appsApple Pay

Higher conversion ratesIncreased engagementHappier users

Page 19: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Outside appsApple Pay

Page 20: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Outside appsApple Pay

A large amount of eCommerce takes place outside of apps

Page 21: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Outside appsApple Pay

A large amount of eCommerce takes place outside of appsTypically, payment outside of apps is slow, laborious, and unclear

Page 22: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Outside appsApple Pay

A large amount of eCommerce takes place outside of appsTypically, payment outside of apps is slow, laborious, and unclearWe're bringing Apple Pay to more places and more people

Page 23: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

EverywhereApple Pay

Page 24: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

EverywhereApple Pay

WatchKit

Page 25: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

EverywhereApple Pay

ExtensionsWatchKit

Page 26: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

EverywhereApple Pay

Extensions SafariWatchKit

Page 27: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

EverywhereApple Pay

Extensions SafariWatchKit

Page 28: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

EverywhereApple Pay

Extensions SafariWatchKit

Page 29: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay on the web

Page 30: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

eCommerce todayApple Pay on the web

Page 31: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

eCommerce todayApple Pay on the web

Large amount of retail happens on the web

Page 32: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

eCommerce todayApple Pay on the web

Large amount of retail happens on the webCheckouts are lengthy, complicated, and hard to use—especially on mobile

Page 33: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

eCommerce todayApple Pay on the web

Large amount of retail happens on the webCheckouts are lengthy, complicated, and hard to use—especially on mobileUsers want the same level of security and privacy they get from apps

Page 34: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webApple Pay

Page 35: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webApple Pay

Use Apple Pay from your websites on iPhone and iPad

Page 36: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webApple Pay

Use Apple Pay from your websites on iPhone and iPadAvailable on Safari and SFSafariViewController

Page 37: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webApple Pay

Use Apple Pay from your websites on iPhone and iPadAvailable on Safari and SFSafariViewControllerSame Apple Pay experience, but on the web

Page 38: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Desktop eCommerceApple Pay in 2016

Page 39: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Desktop eCommerceApple Pay in 2016

Many transactions happen on the desktop

Page 40: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Desktop eCommerceApple Pay in 2016

Many transactions happen on the desktopApple Pay should be available wherever you pay

Page 41: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 42: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On macOSApple Pay

Page 43: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On macOSApple Pay

Available on any handoff-enabled Mac

Page 44: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On macOSApple Pay

Available on any handoff-enabled MacSupported in Safari

Page 45: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On macOSApple Pay

Available on any handoff-enabled MacSupported in SafariAuthorize payment on your iPhone or Apple Watch

Page 46: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

DemoApple Pay on the web

Page 47: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay 101The basics

Page 48: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay 101The basics

Apple Pay provides you with a unique payment token

Page 49: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay 101The basics

Apple Pay provides you with a unique payment tokenYou send this token to a payment processor

Page 50: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay 101The basics

Apple Pay provides you with a unique payment tokenYou send this token to a payment processorThis token is encrypted to your merchant certificate and merchant identifier

Page 51: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay 101Merchant identifier and certificate

Page 52: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay 101Merchant identifier and certificate

The merchant identifier uniquely identifies you as a merchant

merchant.com.example.merchant.identifier

Page 53: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay 101Merchant identifier and certificate

The merchant identifier uniquely identifies you as a merchantThe merchant certificate is used to encrypt your payment data

merchant.com.example.merchant.identifier

Page 54: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay 101Merchant identifier and certificate

The merchant identifier uniquely identifies you as a merchantThe merchant certificate is used to encrypt your payment dataThis means only you can use your customer's Apple Pay tokens

merchant.com.example.merchant.identifier

Page 55: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

App

Apple Pay within Apps

Apple Pay Server

Merchant orPSP Server

iOS

Page 56: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

App

Apple Pay within Apps

Apple Pay Server

Merchant orPSP Server

iOS

Page 57: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

App

Apple Pay within Apps

Apple Pay Server

Merchant orPSP Server

iOS

Display Payment Request

Page 58: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

App

Apple Pay within Apps

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Display Payment Request

Page 59: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

App

Apple Pay within Apps

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Rewrap Payment Data

Generate Payment Data

Return Rewrapped

Payment

Display Payment Request

Page 60: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

App

Apple Pay within Apps

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Rewrap Payment Data

Receive Payment Data

Generate Payment Data

Return Rewrapped

Payment

Display Payment Request

Page 61: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

App

Apple Pay within Apps

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Rewrap Payment Data

Receive Payment Data

Generate Payment Data

Return Payment StatusCharge Payment

Return Rewrapped

Payment

Display Payment Request

Page 62: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

App

Apple Pay within Apps

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Rewrap Payment Data

Receive Payment Data Dismiss Sheet

Generate Payment Data

Return Payment StatusCharge Payment

Return Rewrapped

Payment

Display Payment Request

Page 63: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webSite requirements

Page 64: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webSite requirements

You have an Apple Developer Account

Page 65: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webSite requirements

You have an Apple Developer AccountYour site is served over HTTPS

Page 66: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webSite requirements

You have an Apple Developer AccountYour site is served over HTTPSYour site complies with the Apple Pay guidelines

Page 67: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webSite requirements

You have an Apple Developer AccountYour site is served over HTTPSYour site complies with the Apple Pay guidelinesSome eCommerce platforms will support Apple Pay on your behalf

Page 68: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webRegistering your site

Page 69: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webRegistering your site

Create a merchant identifier and certificate at the developer portal

Page 70: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webRegistering your site

Create a merchant identifier and certificate at the developer portalRegister your domain and link it to your identifier

Page 71: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

On the webRegistering your site

Create a merchant identifier and certificate at the developer portalRegister your domain and link it to your identifierObtain your domain's Apple Pay session certificate

Page 72: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 73: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss SheetDisplay Payment

Request

Charge Payment

Rewrap Payment Data

Return Rewrapped

Payment

Page 74: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss SheetDisplay Payment

Request

Charge Payment

Rewrap Payment Data

Return Rewrapped

Payment

Page 75: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss SheetDisplay Payment

Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 76: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 77: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Get Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 78: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Get Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 79: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

iOS Authorize Payment

Generate Payment Data

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Get Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 80: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

iOS Authorize Payment

Generate Payment Data

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Get Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 81: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationWhy do we use it?

Page 82: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationWhy do we use it?

In an iOS app Apple Pay security is protected with signed entitlements

Page 83: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationWhy do we use it?

In an iOS app Apple Pay security is protected with signed entitlementsThis protects both users and merchants

Page 84: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationWhy do we use it?

In an iOS app Apple Pay security is protected with signed entitlementsThis protects both users and merchantsMerchant validation performs a similar function on the web

Page 85: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Performing Merchant Validation

Obtain the Apple Pay session generation URL from Safari

Get Apple Pay Server URL

Safari

Page 86: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Performing Merchant Validation

Obtain the Apple Pay session generation URL from SafariSend this URL to your web server to start merchant validation

Request Merchant Session

Get Apple Pay Server URL

Safari Your Web Server

URL

Page 87: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Performing Merchant Validation

Obtain the Apple Pay session generation URL from SafariSend this URL to your web server to start merchant validationOnce generated, return it back to the client to be consumed

Request Merchant Session

Generate Merchant Session

Get Apple Pay Server URL

Safari Your Web Server Apple Pay Server

Apple Pay Session CertificateURL

Page 88: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationThe merchant session

Page 89: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationThe merchant session

A unique token that's linked with a single Apple Pay request from a site

Page 90: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationThe merchant session

A unique token that's linked with a single Apple Pay request from a siteUsed to ensure your site is still secure and available for Apple Pay

Page 91: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationThe merchant session

A unique token that's linked with a single Apple Pay request from a siteUsed to ensure your site is still secure and available for Apple PayRequired for every Apple Pay on the web payment

Page 92: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationThe merchant session

A unique token that's linked with a single Apple Pay request from a siteUsed to ensure your site is still secure and available for Apple PayRequired for every Apple Pay on the web paymentYour server requests the session from Apple's servers

Page 93: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationTips

Page 94: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationTips

Always obtain the session request URL from the client, as it may vary

Page 95: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationTips

Always obtain the session request URL from the client, as it may varyOnly request a session when the user interacts with the Apple Pay button

Page 96: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant ValidationTips

Always obtain the session request URL from the client, as it may varyOnly request a session when the user interacts with the Apple Pay buttonDo not generate a merchant session client-side!

Page 97: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

RecapGetting set up

Page 98: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

RecapGetting set up

Made sure our site complies with Apple's requirements

Page 99: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

RecapGetting set up

Made sure our site complies with Apple's requirementsCreated our merchant identifier and merchant certificate used for payment encryption

Page 100: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

RecapGetting set up

Made sure our site complies with Apple's requirementsCreated our merchant identifier and merchant certificate used for payment encryptionCreated our Apple Pay session certificate linked to our domain name

Page 101: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

RecapGetting set up

Made sure our site complies with Apple's requirementsCreated our merchant identifier and merchant certificate used for payment encryptionCreated our Apple Pay session certificate linked to our domain nameLearned how to validate our site for every Apple Pay payment

Page 102: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Get Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 103: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Get Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 104: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Get Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 105: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay API

Page 106: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay API NEW

Available in Safari and SFSafariViewController on iOSAvailable in Safari on macOSSingle API entry point, ApplePaySession Influenced by PassKit API

Page 107: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 108: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 109: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Add to Cart

Page 110: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 111: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Checkout

Page 112: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 113: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Place OrderBack to shopping

Page 114: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Place OrderBack to shopping Place OrderPlace Order

Page 115: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 116: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Add To Cart

Page 117: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Add To Cart

Page 118: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Detecting Payment Availability

ApplePaySession.canMakePayments

Page 119: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Detecting Payment Availability

ApplePaySession.canMakePayments

if (window.ApplePaySession) {

if (ApplePaySession.canMakePayments()) {

showApplePayButtons();

}

}

Page 120: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Detecting Payment Availability

ApplePaySession.canMakePayments

if (window.ApplePaySession) {

if (ApplePaySession.canMakePayments()) {

showApplePayButtons();

}

}

Page 121: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Detecting Payment Availability

ApplePaySession.canMakePayments

if (window.ApplePaySession) {

if (ApplePaySession.canMakePayments()) {

showApplePayButtons();

}

}

Page 122: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Detecting Payment Availability

ApplePaySession.canMakePayments only checks whether Apple Pay is supported• iOS: Secure Element• Mac: iPhone or Apple Watch

Page 123: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Detecting Payment Availability

ApplePaySession.canMakePaymentsWithActiveCard

Takes a merchant identifierAsynchronous

Page 124: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Allowed usesDetecting Payment Availability

Defaulting to Apple Pay during checkoutAdding Apple Pay button to product page

Page 125: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Detecting Payment Availability

if (window.ApplePaySession) {

var merchantIdentifier = 'merchant.com.canine-clothing';

var promise = ApplePaySession.canMakePaymentsWithActiveCard(merchantIdentifier);

promise.then(function (canMakePayments) {

if (canMakePayments)

showApplePayButtons();

});

}

Page 126: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Detecting Payment Availability

if (window.ApplePaySession) {

var merchantIdentifier = 'merchant.com.canine-clothing';

var promise = ApplePaySession.canMakePaymentsWithActiveCard(merchantIdentifier);

promise.then(function (canMakePayments) {

if (canMakePayments)

showApplePayButtons();

});

}

Page 127: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Detecting Payment Availability

if (window.ApplePaySession) {

var merchantIdentifier = 'merchant.com.canine-clothing';

var promise = ApplePaySession.canMakePaymentsWithActiveCard(merchantIdentifier);

promise.then(function (canMakePayments) {

if (canMakePayments)

showApplePayButtons();

});

}

Page 128: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Detecting Payment Availability

if (window.ApplePaySession) {

var merchantIdentifier = 'merchant.com.canine-clothing';

var promise = ApplePaySession.canMakePaymentsWithActiveCard(merchantIdentifier);

promise.then(function (canMakePayments) {

if (canMakePayments)

showApplePayButtons();

});

}

Page 129: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Ensure this matches Slide 4, with the

addition of Apple Pay buttons

Update with new dog - photo on server: Design >

Photography > Purchased

Page 130: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Presenting the Payment Sheet

Create a new ApplePaySession JavaScript objectPass in an API version numberPass in a payment requestCall begin()

Page 131: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Presenting the payment sheet

var paymentRequest = {

currencyCode: 'USD',

countryCode: 'US',

total: {

label: ‘Canine Clothing',

amount: '19.99'

},

supportedNetworks: ['amex', 'discover', 'masterCard', 'visa' ],

merchantCapabilities: [ 'supports3DS' ],

requiredShippingAddressFields: [ 'postalAddress' ]

};

var session = new ApplePaySession(1, paymentRequest);

session.begin();

Page 132: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Presenting the payment sheet

var paymentRequest = {

currencyCode: 'USD',

countryCode: 'US',

total: {

label: ‘Canine Clothing',

amount: '19.99'

},

supportedNetworks: ['amex', 'discover', 'masterCard', 'visa' ],

merchantCapabilities: [ 'supports3DS' ],

requiredShippingAddressFields: [ 'postalAddress' ]

};

var session = new ApplePaySession(1, paymentRequest);

session.begin();

Page 133: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Presenting the payment sheet

var paymentRequest = {

currencyCode: 'USD',

countryCode: 'US',

total: {

label: ‘Canine Clothing',

amount: '19.99'

},

supportedNetworks: ['amex', 'discover', 'masterCard', 'visa' ],

merchantCapabilities: [ 'supports3DS' ],

requiredShippingAddressFields: [ 'postalAddress' ]

};

var session = new ApplePaySession(1, paymentRequest);

session.begin();

Page 134: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Presenting the payment sheet

var paymentRequest = {

currencyCode: 'USD',

countryCode: 'US',

total: {

label: ‘Canine Clothing',

amount: '19.99'

},

supportedNetworks: ['amex', 'discover', 'masterCard', 'visa' ],

merchantCapabilities: [ 'supports3DS' ],

requiredShippingAddressFields: [ 'postalAddress' ]

};

var session = new ApplePaySession(1, paymentRequest);

session.begin();

Page 135: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Presenting the payment sheet

var paymentRequest = {

currencyCode: 'USD',

countryCode: 'US',

total: {

label: ‘Canine Clothing',

amount: '19.99'

},

supportedNetworks: ['amex', 'discover', 'masterCard', 'visa' ],

merchantCapabilities: [ 'supports3DS' ],

requiredShippingAddressFields: [ 'postalAddress' ]

};

var session = new ApplePaySession(1, paymentRequest);

session.begin();

Page 136: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Presenting the payment sheet

var paymentRequest = {

currencyCode: 'USD',

countryCode: 'US',

total: {

label: ‘Canine Clothing',

amount: '19.99'

},

supportedNetworks: ['amex', 'discover', 'masterCard', 'visa' ],

merchantCapabilities: [ 'supports3DS' ],

requiredShippingAddressFields: [ 'postalAddress' ]

};

var session = new ApplePaySession(1, paymentRequest);

session.begin();

Page 137: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Creating an ApplePaySession can throw an exceptionPresenting the Payment Sheet

Called from an insecure pageCalled with an invalid payment request• Missing properties• Invalid properties• Unknown properties

Page 138: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Calling begin() can throw an exceptionPresenting the Payment Sheet

If not called in response to a user actionIf there is already an active sheet

Page 139: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 140: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 141: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Merchant Validation

A validatemerchant DOM event is dispatched to the sessionEvent has a validationURL propertyPerform validationCall completeMerchantValidation

Page 142: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Merchant Validation

session.onvalidatemerchant = function (event) {

var promise = performValidation(event.validationURL);

promise.then(function (merchantSession) {

session.completeMerchantValidation(merchantSession);

});

}

Page 143: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Merchant Validation

session.onvalidatemerchant = function (event) {

var promise = performValidation(event.validationURL);

promise.then(function (merchantSession) {

session.completeMerchantValidation(merchantSession);

});

}

Page 144: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Merchant Validation

session.onvalidatemerchant = function (event) {

var promise = performValidation(event.validationURL);

promise.then(function (merchantSession) {

session.completeMerchantValidation(merchantSession);

});

}

Page 145: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 146: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Payment Authorization

A paymentauthorized DOM event is dispatched to the sessionEvent has a payment property• Shipping information• Payment method• Payment token

Call completePayment

Page 147: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Payment Authorization

session.onpaymentauthorized = function (event) {

var promise = sendPaymentToken(event.payment.token);

promise.then(function (success) {

var status;

if (success)

status = ApplePaySession.STATUS_SUCCESS;

else

status = ApplePaySession.STATUS_FAILURE;

session.completePayment(status);

showConfirmation();

});

}

Page 148: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Payment Authorization

session.onpaymentauthorized = function (event) {

var promise = sendPaymentToken(event.payment.token);

promise.then(function (success) {

var status;

if (success)

status = ApplePaySession.STATUS_SUCCESS;

else

status = ApplePaySession.STATUS_FAILURE;

session.completePayment(status);

showConfirmation();

});

}

Page 149: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Payment Authorization

session.onpaymentauthorized = function (event) {

var promise = sendPaymentToken(event.payment.token);

promise.then(function (success) {

var status;

if (success)

status = ApplePaySession.STATUS_SUCCESS;

else

status = ApplePaySession.STATUS_FAILURE;

session.completePayment(status);

showConfirmation();

});

}

Page 150: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Payment Authorization

session.onpaymentauthorized = function (event) {

var promise = sendPaymentToken(event.payment.token);

promise.then(function (success) {

var status;

if (success)

status = ApplePaySession.STATUS_SUCCESS;

else

status = ApplePaySession.STATUS_FAILURE;

session.completePayment(status);

showConfirmation();

});

}

Page 151: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Payment Authorization

session.onpaymentauthorized = function (event) {

var promise = sendPaymentToken(event.payment.token);

promise.then(function (success) {

var status;

if (success)

status = ApplePaySession.STATUS_SUCCESS;

else

status = ApplePaySession.STATUS_FAILURE;

session.completePayment(status);

showConfirmation();

});

}

Page 152: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

// Payment Authorization

session.onpaymentauthorized = function (event) {

var promise = sendPaymentToken(event.payment.token);

promise.then(function (success) {

var status;

if (success)

status = ApplePaySession.STATUS_SUCCESS;

else

status = ApplePaySession.STATUS_FAILURE;

session.completePayment(status);

showConfirmation();

});

}

Page 153: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 154: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Demo

Page 155: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Handling your paymentsPayment Processing

Page 156: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Get Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 157: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Web Page

Apple Pay on the web

Apple Pay Server

Merchant orPSP Server

iOS Authorize Payment

Generate Payment Data

Return Payment Status

Receive Payment Data Dismiss Sheet

Request Merchant Session

Get Merchant Session

Display Payment Request

Charge Payment

Create Payment Request

Rewrap Payment Data

Return Rewrapped

Payment

Page 158: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Payment Token

Page 159: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Payment Token

Decrypt the payment token yourselfPass the raw data to your payment provider

Pass the encrypted payment token to your payment providerThey decrypt on your behalf and charge

Page 160: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

US and EuropePayment Processors

Page 161: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

US and EuropePayment Processors

Over forty payment processors support Apple Pay today

Page 162: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

US and EuropePayment Processors

Over forty payment processors support Apple Pay todayMany providers offer SDKs for in-app payments

Page 163: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

US and EuropePayment Processors

Over forty payment processors support Apple Pay todayMany providers offer SDKs for in-app paymentsFor a full list, see developer.apple.com/apple-pay

Page 164: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Asia PacificPayment Processors

Page 165: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

eCommerce Platforms

Page 166: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

eCommerce Platforms

Partnering with major eCommerce platforms

Page 167: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

eCommerce Platforms

Partnering with major eCommerce platforms

Page 168: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

eCommerce Platforms

Partnering with major eCommerce platformsDeeply integrated Apple Pay support

Page 169: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

eCommerce Platforms

Partnering with major eCommerce platformsDeeply integrated Apple Pay supportNo developer account required

Page 170: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Testing Your Sites

The Apple Pay SandboxA new testing environment for Apple Pay

What's New with Wallet & Apple Pay Mission Tuesday 3:00PM

Page 171: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Testing Your Sites

What's New with Wallet & Apple Pay Mission Tuesday 3:00PM

Page 172: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Testing Your Sites

Apple Pay on the web is available in the Apple Pay Sandbox for testing

What's New with Wallet & Apple Pay Mission Tuesday 3:00PM

Page 173: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Testing Your Sites

Apple Pay on the web is available in the Apple Pay Sandbox for testingWill be rolled out to production closer to GM

What's New with Wallet & Apple Pay Mission Tuesday 3:00PM

Page 174: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Testing Your Sites

Apple Pay on the web is available in the Apple Pay Sandbox for testingWill be rolled out to production closer to GMFile bugs and send us feedback!

What's New with Wallet & Apple Pay Mission Tuesday 3:00PM

Page 175: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Building a compelling experienceDesigning for Apple Pay

Page 176: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Easy. Secure. Private.

Page 177: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Three Phases of Apple Pay

Page 178: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Three Phases of Apple Pay

Pre-payment

Page 179: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Three Phases of Apple Pay

Pre-paymentPayment

Page 180: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Three Phases of Apple Pay

Pre-paymentPaymentPost-payment

Page 181: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Apple Pay buttonPre-Payment

Page 182: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Apple Pay buttonPre-Payment

Available in Cocoa Touch and WebKit

Page 183: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Apple Pay buttonPre-Payment

Available in Cocoa Touch and WebKitA variety of styles to suit your needs

Page 184: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

div {

 width: 150px;

 height: 50px;

 display: inline-block;

 border: 1px solid black;

 box-sizing: border-box;

}

.normal {

 background-image: -webkit-named-image(apple-pay-logo-black);

 background-size: 100% 100%;

 background-repeat: no-repeat;

}

Page 185: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

div {

 width: 150px;

 height: 50px;

 display: inline-block;

 border: 1px solid black;

 box-sizing: border-box;

}

.normal {

 background-image: -webkit-named-image(apple-pay-logo-black);

 background-size: 100% 100%;

 background-repeat: no-repeat;

}

Page 186: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay Button

Page 187: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay Button

Do’s• Use the built-in assets• Place wherever a user might

want to purchase

Page 188: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Apple Pay Button

Don’ts• Modify the button or

change its behavior• Suppress the button

Do’s• Use the built-in assets• Place wherever a user might

want to purchase

Page 189: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

PlacementPre-Payment

Page 190: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

PlacementPre-Payment

Offer Apple Pay early in your purchase flow

Page 191: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

PlacementPre-Payment

Offer Apple Pay early in your purchase flowPlacement on product pages can increase user engagement

Page 192: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

PlacementPre-Payment

Offer Apple Pay early in your purchase flowPlacement on product pages can increase user engagementAlso place in regular checkout flows and in carts

Page 193: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Carts

Page 194: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Express Checkout

Page 195: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Product Pages

Page 196: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 197: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Account creationPre-Payment

Page 198: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Account creationPre-Payment

Required registration is a major source of user friction

Page 199: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Account creationPre-Payment

Required registration is a major source of user frictionApple Pay can help reduce abandoned purchases with guest checkout

Page 200: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Account creationPre-Payment

Required registration is a major source of user frictionApple Pay can help reduce abandoned purchases with guest checkoutLeverage information collected in the Apple Pay sheet to create accounts post purchase

Page 201: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Apple Pay SheetPayment

Page 202: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Apple Pay SheetPayment

The Apple Pay sheet offers a flexible payment flow for merchants

Page 203: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

The Apple Pay SheetPayment

The Apple Pay sheet offers a flexible payment flow for merchantsBut a consistent experience for users

Page 204: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 205: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 206: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Requesting Information

Page 207: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Requesting Information

Request billing, shipping, and contact info if needed

Page 208: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Requesting Information

Request billing, shipping, and contact info if neededSpecify shipping method or pickup

Page 209: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Requesting Information

Request billing, shipping, and contact info if neededSpecify shipping method or pickupList shipping cost, tax, or discounts after the subtotal

Page 210: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Requesting Information

Request billing, shipping, and contact info if neededSpecify shipping method or pickupList shipping cost, tax, or discounts after the subtotalMake sure you have a clear privacy policy

Page 211: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 212: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Shipping Method

Page 213: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Shipping Method

Users can pick from a provided list of methods

Page 214: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Shipping Method

Users can pick from a provided list of methodsMethods can be updated in response to address changes

Page 215: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Shipping Method

Users can pick from a provided list of methodsMethods can be updated in response to address changesMethods can be free

Page 216: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Shipping Method

Users can pick from a provided list of methodsMethods can be updated in response to address changesMethods can be freeNaming can be customized: shipping, pickup, and delivery

Page 217: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 218: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 219: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

What to displaySummary Items

Page 220: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

What to displaySummary Items

Use the summary items as a concise indication of what's to be charged

Page 221: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

What to displaySummary Items

Use the summary items as a concise indication of what's to be chargedSub-totals, taxes, shipping, discounts

Page 222: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

What to displaySummary Items

Use the summary items as a concise indication of what's to be chargedSub-totals, taxes, shipping, discountsNot a line by line itemized list

Page 223: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

What to displaySummary Items

Use the summary items as a concise indication of what's to be chargedSub-totals, taxes, shipping, discountsNot a line by line itemized listKeep it concise

Page 224: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

What to displaySummary Items

Use the summary items as a concise indication of what's to be chargedSub-totals, taxes, shipping, discountsNot a line by line itemized listKeep it conciseBe up-front and clear about charges

Page 225: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Unknown amountsSummary Items

Page 226: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Unknown amountsSummary Items

Sometimes you don't know the final cost

Page 227: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Unknown amountsSummary Items

Sometimes you don't know the final costUse the pending item type to indicate this

Page 228: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Unknown amountsSummary Items

Sometimes you don't know the final costUse the pending item type to indicate thisMake estimates clear

Page 229: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Summary ItemsClear estimates

Page 230: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Summary ItemsClear estimates

Page 231: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Free and discounted itemsSummary Items

Page 232: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Free and discounted itemsSummary Items

Items can be marked as free

Page 233: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Free and discounted itemsSummary Items

Items can be marked as freeItems may also be negative, except for the total

Page 234: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 235: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 236: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Site Icon

Page 237: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Site Icon

Page 238: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Site Icon

Uses the existing Apple Touch icon

Page 239: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Site Icon

Uses the existing Apple Touch iconProvide in 180x180 and 120x120 sizes

Page 240: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Site Icon

Uses the existing Apple Touch iconProvide in 180x180 and 120x120 sizes

<link rel="apple-touch-icon" sizes="120x120" href="[email protected]">

Page 241: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Site Icon

Uses the existing Apple Touch iconProvide in 180x180 and 120x120 sizes

<link rel="apple-touch-icon" sizes="120x120" href="[email protected]">

<link rel="apple-touch-icon" sizes="180x180" href="[email protected]">

Page 242: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Semantic markupApple Pay Tips

Indicate your site takes Apple Pay with appropriate semantic markup

<!—- Open Graph —->

<meta property="og:type" content="og:product />

<meta property="og:title" content="Apple Watch" />

<meta property="product:price:amount" content="249.99" />

<meta property="product:price:currency" content="USD" />

<meta property="product:payment_method" content="ApplePay" />

Page 243: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Semantic markupApple Pay Tips

Indicate your site takes Apple Pay with appropriate semantic markup

<!—- Open Graph —->

<meta property="og:type" content="og:product />

<meta property="og:title" content="Apple Watch" />

<meta property="product:price:amount" content="249.99" />

<meta property="product:price:currency" content="USD" />

<meta property="product:payment_method" content="ApplePay" />

Page 244: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

ConfirmationPost Payment

Page 245: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

ConfirmationPost Payment

Reflect the appropriate status in the Apple Pay sheet

Page 246: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

ConfirmationPost Payment

Reflect the appropriate status in the Apple Pay sheetLeverage information collected via Apple Pay sheet to offer account creation

Page 247: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 248: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 249: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation
Page 250: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Summary

Page 251: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Summary

Apple Pay Merchant Validation on the web

Page 252: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Summary

Apple Pay Merchant Validation on the webApplePaySession JavaScript API

Page 253: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Summary

Apple Pay Merchant Validation on the webApplePaySession JavaScript APITaking advantage of Apple Pay in your designs

Page 254: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

More Information

https://developer.apple.com/wwdc16/703

Page 255: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Related Sessions

What’s New with Wallet & Apple Pay Mission Tuesday 3:00PM

Optimizing Web Content in Your App Mission Friday 4:00PM

Page 256: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation

Labs

Apple Pay Lab 1 Frameworks Lab B Tuesday 4:00PM

Apple Pay Lab 2 Frameworks Lab D Wednesday 9:00AM

Safari & WebKit Lab Fort Mason Wednesday 4:30PM

Safari & WebKit Lab Frameworks Lab C Friday 4:30PM

Page 257: 703 Apple Pay On the Web 04 FINALApple Pay on the web Nick Shearer iOS Apps and Frameworks Anders Carlsson WebKit. ... Send this URL to your web server to start merchant validation