apple pay within apps

154
© 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. #WWDC15 Apple Pay within Apps Nick Shearer iOS Apps and Frameworks Rachel Roth User Experience Evangelist System Frameworks Session 702

Upload: anonymous-uisrd92

Post on 07-Jul-2016

27 views

Category:

Documents


3 download

DESCRIPTION

Apple Pay Within Apps

TRANSCRIPT

Page 1: Apple Pay Within Apps

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

#WWDC15

Apple Pay within Apps

Nick Shearer iOS Apps and FrameworksRachel Roth User Experience Evangelist

System Frameworks

Session 702

Page 2: Apple Pay Within Apps
Page 3: Apple Pay Within Apps

Overview

Page 4: Apple Pay Within Apps

What is Apple Pay?

Architecture

Design

Code

Overview

Page 5: Apple Pay Within Apps

What is Apple Pay?And how do I use it within my app?

Page 6: Apple Pay Within Apps

An easy, secure, and private way to pay within appOne-touch paymentsUse for physical goods and services

Page 7: Apple Pay Within Apps

Apple PayUser benefits

Easy—No need to re-enter payment and contact informationSecure—Pay using Touch IDPrivate—Card number not exposed to the merchant

Page 8: Apple Pay Within Apps

Apple PayDeveloper benefits

Don't need to handle actual card numbersHigher conversion rates and faster checkoutsNo onboarding or existing accounts requiredUsers love it

Page 9: Apple Pay Within Apps
Page 10: Apple Pay Within Apps

Apple Pay users transact more frequently

Page 11: Apple Pay Within Apps

20%Apple Pay users transact more frequently

Page 12: Apple Pay Within Apps

Transaction growth with Apple Pay

Page 13: Apple Pay Within Apps

50%Transaction growth with Apple Pay

Page 14: Apple Pay Within Apps

Increase in overall conversion

Page 15: Apple Pay Within Apps

109% Increase in overall conversion

Page 16: Apple Pay Within Apps

“Apple Pay is not only driving more purchases but also activating our biggest spenders.”

Joe Einhorn, CEO

Page 17: Apple Pay Within Apps
Page 18: Apple Pay Within Apps

Apple Pay or In-App Purchase?

Page 19: Apple Pay Within Apps

Apple Pay or In-App Purchase?

Apple Pay In-App Purchase

Framework PassKit StoreKit

Use For Physical goodsServices

In-AppContent

FunctionalityServices

Subscriptions

Payment Processor Developer responsible Apple

App Store Review Guidelines Section 29 Section 11

Page 20: Apple Pay Within Apps

Apple Pay or In-App Purchase?

Apple Pay In-App Purchase

Framework PassKit StoreKit

Use For Physical goodsServices

In-AppContent

FunctionalityServices

Subscriptions

Payment Processor Developer responsible Apple

App Store Review Guidelines Section 29 Section 11

Page 21: Apple Pay Within Apps

Apple Pay or In-App Purchase?

Apple Pay In-App Purchase

Framework PassKit StoreKit

Use For Physical goodsServices

In-AppContent

FunctionalityServices

Subscriptions

Payment Processor Developer responsible Apple

App Store Review Guidelines Section 29 Section 11

Page 22: Apple Pay Within Apps

Apple Pay or In-App Purchase?

Apple Pay In-App Purchase

Framework PassKit StoreKit

Use For Physical goodsServices

In-AppContent

FunctionalityServices

Subscriptions

Payment Processor Developer responsible Apple

App Store Review Guidelines Section 29 Section 11

Page 23: Apple Pay Within Apps

Supported Devices

iPhone 6iPhone 6 PlusiPad Air 2iPad mini 3

Page 24: Apple Pay Within Apps

Supported Countries

Page 25: Apple Pay Within Apps

Apple Pay ArchitectureHow payments are made

Page 26: Apple Pay Within Apps

First StepsMerchant Identifier

Apple Pay requires a Merchant IdentifierCreate a Merchant Identifier and matching certificate at the Developer PortalYour identifier and certificate are used to encrypt payment dataShould be a reverse DNS format beginning merchant.*

merchant.com.wwdc.emporium

Page 27: Apple Pay Within Apps

First StepsMerchant Identifier

Apple Pay requires a Merchant IdentifierCreate a Merchant Identifier and matching certificate at the Developer PortalYour identifier and certificate are used to encrypt payment dataShould be a reverse DNS format beginning merchant.*

merchant.com.wwdc.emporium

Page 28: Apple Pay Within Apps

Anatomy of a Payment

Page 29: Apple Pay Within Apps

Anatomy of a Payment

Your app displays the payment sheet

Page 30: Apple Pay Within Apps

Anatomy of a Payment

Your app displays the payment sheetTouch ID is used to authorize

Page 31: Apple Pay Within Apps

Anatomy of a Payment

Your app displays the payment sheetTouch ID is used to authorizeYour app receives a payment token

Page 32: Apple Pay Within Apps

Anatomy of a Payment

Your app displays the payment sheetTouch ID is used to authorizeYour app receives a payment tokenThis token is encrypted using your Merchant ID's certificate

Page 33: Apple Pay Within Apps

Anatomy of a Payment

Your app displays the payment sheetTouch ID is used to authorizeYour app receives a payment tokenThis token is encrypted using your Merchant ID's certificateSend this token to your processor

Page 34: Apple Pay Within Apps

Payment Flow

SecureElement

IOS

Checkout

Apple PayEligible?

Page 35: Apple Pay Within Apps

Payment Flow

SecureElement

IOS Touch ID Valid?

Apple PayEligible?

Checkout PresentApple Pay

Page 36: Apple Pay Within Apps

Payment Flow

SecureElement

IOS Touch ID Valid?

Apple PayEligible?

Checkout PresentApple Pay

AppleServer

Create CryptogramEncrypt Information

Page 37: Apple Pay Within Apps

Payment Flow

SecureElement

IOS

Send for Processing

AppleServer

AppleServer

Touch ID Valid?

Apple PayEligible?

MerchantServer

Create CryptogramEncrypt Information

Checkout PresentApple Pay

Page 38: Apple Pay Within Apps

Payment Flow

SecureElement

IOS

Send for Processing Success!

AppleServer

MerchantServer

AppleServer

Touch ID Valid?

Apple PayEligible?

MerchantServer

Create CryptogramEncrypt Information

Checkout PresentApple Pay

Page 39: Apple Pay Within Apps

Processing PaymentsPayment platforms

Handle decryption on your behalfSimply send the payment tokenSome provide native iOS development kitsThe preferred option for most developers

Page 40: Apple Pay Within Apps

US Payment Processors

Page 41: Apple Pay Within Apps

US Payment Processors

Page 42: Apple Pay Within Apps

UK Payment Processors

Page 43: Apple Pay Within Apps

UK Payment Processors

Page 44: Apple Pay Within Apps

Processing PaymentsProcessing yourself

Decrypt the payment token yourself server-sideSend the underlying cryptogram and payment information to your acquirerOnly recommended for those with existing payment infrastructureFurther information: Payment Token Reference

Page 45: Apple Pay Within Apps

Design

Page 46: Apple Pay Within Apps

Make Shopping Easy

Page 47: Apple Pay Within Apps

Make Shopping Easy

Account setup

Page 48: Apple Pay Within Apps

Make Shopping Easy

Account setupLengthy forms

Page 49: Apple Pay Within Apps

Make Shopping Easy

Account setupLengthy formsOutdated billing and shipping information

Page 50: Apple Pay Within Apps

Without Apple Pay

Page 51: Apple Pay Within Apps

Without Apple Pay

Page 52: Apple Pay Within Apps

Without Apple Pay

Page 53: Apple Pay Within Apps

Without Apple Pay

Page 54: Apple Pay Within Apps

Without Apple Pay

Page 55: Apple Pay Within Apps

Without Apple Pay

Page 56: Apple Pay Within Apps

Without Apple Pay

Page 57: Apple Pay Within Apps

Without Apple Pay

Page 58: Apple Pay Within Apps

With Apple Pay

Page 59: Apple Pay Within Apps

With Apple Pay

Page 60: Apple Pay Within Apps

Make Shopping Easy

Account setupLengthy formsOutdated billing and shipping information

Page 61: Apple Pay Within Apps

Integrating Apple Pay

Page 62: Apple Pay Within Apps

Integrating Apple Pay

Enable quick checkout

Page 63: Apple Pay Within Apps

Chairish

Page 64: Apple Pay Within Apps

Chairish

Page 65: Apple Pay Within Apps

Groupon

Page 66: Apple Pay Within Apps

Groupon

Page 67: Apple Pay Within Apps

Integrating Apple Pay

Enable quick checkout

Page 68: Apple Pay Within Apps

Integrating Apple Pay

Enable quick checkoutDefault to Apple Pay for eligible customers

Page 69: Apple Pay Within Apps

Integrating Apple Pay

Enable quick checkoutDefault to Apple Pay for eligible customersDisplay Apple Pay buttons prominently

Page 70: Apple Pay Within Apps

Fancy

Page 71: Apple Pay Within Apps

Fancy

Page 72: Apple Pay Within Apps

Shoptiques

Page 73: Apple Pay Within Apps

Shoptiques

Page 74: Apple Pay Within Apps

Integrating Apple Pay

Enable quick checkoutDefault to Apple Pay for eligible customersDisplay Apple Pay buttons prominently

Page 75: Apple Pay Within Apps

Integrating Apple Pay

Enable quick checkoutDefault to Apple Pay for eligible customersDisplay Apple Pay buttons prominentlyShow the payment sheet immediately

Page 76: Apple Pay Within Apps

Customizing the Payment Sheet

Page 77: Apple Pay Within Apps

Customizing the Payment Sheet

Request billing, shipping & contact info if needed

Page 78: Apple Pay Within Apps

Fancy

Page 79: Apple Pay Within Apps

Fancy

Page 80: Apple Pay Within Apps

Fancy

Page 81: Apple Pay Within Apps

Fancy

Page 82: Apple Pay Within Apps

Uber

Page 83: Apple Pay Within Apps

Customizing the Payment Sheet

Request billing, shipping, and contact info if needed

Page 84: Apple Pay Within Apps

Customizing the Payment Sheet

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

Page 85: Apple Pay Within Apps

Apple Store

Page 86: Apple Pay Within Apps

Apple Store

Page 87: Apple Pay Within Apps

Customizing the Payment Sheet

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

Page 88: Apple Pay Within Apps

Customizing the Payment Sheet

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

Page 89: Apple Pay Within Apps

Keep

Page 90: Apple Pay Within Apps

LIFX

Page 91: Apple Pay Within Apps

Customizing the Payment Sheet

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

Page 92: Apple Pay Within Apps

Customizing the Payment Sheet

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

Page 93: Apple Pay Within Apps

Uber

Page 94: Apple Pay Within Apps

Customizing the Payment Sheet

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

Page 95: Apple Pay Within Apps

Customizing the Payment Sheet

Request billing, shipping, and contact info if neededSpecify shipping method or pickupList shipping cost, tax, or discounts after the subtotalMake estimates clearPlace the business name before the total cost

Page 96: Apple Pay Within Apps

Fancy

Page 97: Apple Pay Within Apps

Customizing the Payment Sheet

Request billing, shipping, and contact info if neededSpecify shipping method or pickupList shipping cost, tax, or discounts after the subtotalMake estimates clearPlace the business name before the total cost

Page 98: Apple Pay Within Apps

Apple Store

Page 99: Apple Pay Within Apps

Apple Store

Page 100: Apple Pay Within Apps

Apple Store

Page 101: Apple Pay Within Apps

Summary

Page 102: Apple Pay Within Apps

Summary

Remove obstacles to making a purchase

Page 103: Apple Pay Within Apps

Summary

Remove obstacles to making a purchaseDisplay the Apple Pay buttons prominently

Page 104: Apple Pay Within Apps

Summary

Remove obstacles to making a purchaseDisplay the Apple Pay buttons prominentlyCustomize the payment sheet

Page 105: Apple Pay Within Apps

Summary

Remove obstacles to making a purchaseDisplay the Apple Pay buttons prominentlyCustomize the payment sheetConfirm the transaction

Page 106: Apple Pay Within Apps

Putting It All Together

Page 107: Apple Pay Within Apps

My First Apple Pay App

Request a paymentDisplay the payment sheetHandle the authorization

Page 108: Apple Pay Within Apps

Let's Talk Classes

Page 109: Apple Pay Within Apps

Let's Talk Classes

PKPaymentSummaryItem

Page 110: Apple Pay Within Apps

Let's Talk Classes

PKPaymentSummaryItem

PKPaymentRequest

Page 111: Apple Pay Within Apps

Let's Talk Classes

PKPaymentSummaryItem

PKPaymentRequest

PKPaymentAuthorizationViewController

Page 112: Apple Pay Within Apps

Let's Talk Classes

PKPaymentSummaryItem

PKPaymentRequest

PKPaymentAuthorizationViewController

PKPayment

Page 113: Apple Pay Within Apps

First StepsChecking for Apple Pay

Page 114: Apple Pay Within Apps

First StepsChecking for Apple Pay

Does the user have payment cards available that we can accept?let paymentNetworks = [PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]

if PKPaymentAuthorizationViewController.canMakePaymentsUsingNetworks(paymentNetworks) { // Create the payment request } else { // Traditional checkout flow }

Page 115: Apple Pay Within Apps

First StepsChecking for Apple Pay

Does the user have payment cards available that we can accept?let paymentNetworks = [PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]

if PKPaymentAuthorizationViewController.canMakePaymentsUsingNetworks(paymentNetworks) { // Create the payment request } else { // Traditional checkout flow }

Page 116: Apple Pay Within Apps

First StepsChecking for Apple Pay

Check if the hardware supports Apple Pay:PKPaymentAuthorizationViewController.canMakePayments()

New in iOS 9 - check for capabilities:PKPaymentAuthorizationViewController.canMakePaymentsUsingNetworks(networks, capabilities: .CapabilityDebit)

Page 117: Apple Pay Within Apps

Creating a PaymentPKPaymentRequest

Summarize the charges you'd like to make and how to pay for themRequest shipping and contact informationlet request = PKPaymentRequest()

request.merchantIdentifier = "merchant.com.wwdc.emporium" request.countryCode = "US" request.currencyCode = "USD" request.supportedNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkVisa] request.merchantCapabilities = .Capability3DS request.paymentSummaryItems = […]

Page 118: Apple Pay Within Apps

Creating a PaymentPKPaymentRequest

Summarize the charges you'd like to make and how to pay for themRequest shipping and contact informationlet request = PKPaymentRequest()

request.merchantIdentifier = "merchant.com.wwdc.emporium" request.countryCode = "US" request.currencyCode = "USD" request.supportedNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkVisa] request.merchantCapabilities = .Capability3DS request.paymentSummaryItems = […]

Page 119: Apple Pay Within Apps

Creating a PaymentPKPaymentRequest

Summarize the charges you'd like to make and how to pay for themRequest shipping and contact informationlet request = PKPaymentRequest()

request.merchantIdentifier = "merchant.com.wwdc.emporium" request.countryCode = "US" request.currencyCode = "USD" request.supportedNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkVisa] request.merchantCapabilities = .Capability3DS request.paymentSummaryItems = […]

Page 120: Apple Pay Within Apps

Creating a PaymentPKPaymentRequest

Summarize the charges you'd like to make and how to pay for themRequest shipping and contact informationlet request = PKPaymentRequest()

request.merchantIdentifier = "merchant.com.wwdc.emporium" request.countryCode = "US" request.currencyCode = "USD" request.supportedNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkVisa] request.merchantCapabilities = .Capability3DS request.paymentSummaryItems = […]

Page 121: Apple Pay Within Apps

Creating a PaymentPKPaymentRequest

Summarize the charges you'd like to make and how to pay for themRequest shipping and contact informationlet request = PKPaymentRequest()

request.merchantIdentifier = "merchant.com.wwdc.emporium" request.countryCode = "US" request.currencyCode = "USD" request.supportedNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkVisa] request.merchantCapabilities = .Capability3DS request.paymentSummaryItems = […]

Page 122: Apple Pay Within Apps

Creating a PaymentPKPaymentRequest

Summarize the charges you'd like to make and how to pay for themRequest shipping and contact informationlet request = PKPaymentRequest()

request.merchantIdentifier = "merchant.com.wwdc.emporium" request.countryCode = "US" request.currencyCode = "USD" request.supportedNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkVisa] request.merchantCapabilities = .Capability3DS request.paymentSummaryItems = […]

Page 123: Apple Pay Within Apps

Creating a PaymentPKPaymentRequest

Summarize the charges you'd like to make and how to pay for themRequest shipping and contact informationlet request = PKPaymentRequest()

request.merchantIdentifier = "merchant.com.wwdc.emporium" request.countryCode = "US" request.currencyCode = "USD" request.supportedNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkVisa] request.merchantCapabilities = .Capability3DS request.paymentSummaryItems = […]

Page 124: Apple Pay Within Apps

Creating a PaymentPKPaymentRequest

Summarize the charges you'd like to make and how to pay for themRequest shipping and contact informationlet request = PKPaymentRequest()

request.merchantIdentifier = "merchant.com.wwdc.emporium" request.countryCode = "US" request.currencyCode = "USD" request.supportedNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkVisa] request.merchantCapabilities = .Capability3DS request.paymentSummaryItems = […]

Page 125: Apple Pay Within Apps

Creating a PaymentPKPaymentRequest

If necessary, only allow certain types of cards to make payments// Only allow users to make payments with a debit card request.merchantCapabilities = .Capability3DS | .CapabilityDebit

Page 126: Apple Pay Within Apps

Creating a PaymentPKPaymentSummaryItem

Describes what you're paying for and how much it costsUses NSDecimalNumber for guaranteed precisionNSDecimalNumber NSDecimalNumber(string) NSDecimalNumber(decimal) NSDecimalNumber(double)

Page 127: Apple Pay Within Apps

Creating a PaymentPKPaymentSummaryItem

Describes what you're paying for and how much it costsUses NSDecimalNumber for guaranteed precisionNSDecimalNumber NSDecimalNumber(string) NSDecimalNumber(decimal) NSDecimalNumber(double)

Page 128: Apple Pay Within Apps

Creating a PaymentPKPaymentSummaryItem

let total = PKPaymentSummaryItem(label: "Apple Inc", amount: NSDecimalNumber(string: "349.99"))

request.paymentSummaryItems = [total]

The last item of the summary items array is the total to be charged

Page 129: Apple Pay Within Apps

Creating a PaymentPKPaymentAuthorizationViewController

Displays the payment information Modally displayed over your appOn iPad will be a form sheet

Page 130: Apple Pay Within Apps

Creating a PaymentPKPaymentAuthorizationViewController

let vc = PKPaymentAuthorizationViewController(paymentRequest: request)

vc.delegate = self presentViewController(vc, animated: true, completion: nil)

Page 131: Apple Pay Within Apps

Creating a PaymentPKPaymentButton

Use PKPaymentButton to trigger the sheetAvailable in a variety of styles and colorsFully localizedAvailable in iOS 8.3

Page 132: Apple Pay Within Apps

DemoMaking a payment

Page 133: Apple Pay Within Apps

Accepting a PaymentPKPaymentAuthorizationViewControllerDelegate

Receive callbacks when the payment authorization process has completedUse the delegate to confirm whether a payment has been made or not

Page 134: Apple Pay Within Apps

Accepting a PaymentPKPaymentAuthorizationViewControllerDelegate

Send the payment data for processing and return the statusfunc paymentAuthorizationViewController( controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: (PKPaymentAuthorizationStatus) -> Void)

Dismiss the payment view controllerfunc paymentAuthorizationViewControllerDidFinish( controller: PKPaymentAuthorizationViewController)

Page 135: Apple Pay Within Apps

Accepting a PaymentPKPayment and PKPaymentToken

Returned by the payment view controller after successful authorizationContains the encrypted payment dataAny other metadata you requested

Page 136: Apple Pay Within Apps

DemoAccepting a payment

Page 137: Apple Pay Within Apps

Contact Information

Request contact information from users for shipping (email, phone, address)paymentRequest.requiredShippingAddressFields = .PostalAddress | .Email

New in iOS 8.3—name onlypaymentRequest.requiredShippingAddressFields = .Name

Page 138: Apple Pay Within Apps

Contact Information

Optionally, request billing address as well

paymentRequest.requiredBillingAddressFields = .PostalAddress

Generally, don't request contact information unless you need it

Page 139: Apple Pay Within Apps

Billing Address

Billing address is not required to process Apple PayWe recommend against requesting it

Page 140: Apple Pay Within Apps

Shipping Costs

Update shipping costs when the user selects a new addressFor privacy, you'll receive city and ZIP onlyProvide updated shippingMethods and summaryItems arrays

func paymentAuthorizationViewController( controller: PKPaymentAuthorizationViewController, didSelectShippingContact contact: CNContact, completion: (PKPaymentAuthorizationStatus, [PKShippingMethod], [PKPaymentSummaryItem]) -> Void)

Page 141: Apple Pay Within Apps

Shipping Costs

Display shipping costs in-line in the Apple Pay sheetPKShippingMethod (PKPaymentSummaryItem subclass)

let twoDay = PKShippingMethod(label: "Express shipping", amount: NSDecimalNumber(string: "4.99")) twoDay.detail = "Delivers in two working days"

paymentRequest.shippingMethods = [twoDay]

Page 142: Apple Pay Within Apps

Contact Information

Un-redacted contact information is available after the user has authorized the payment

if let shippingContact = payment.shippingContact { let name = CNContactFormatter.stringFromContact(shippingContact, style: .FullName) let email = shippingContact.emailAddresses.first }

iOS 8 AddressBook.framework based APIs are deprecated

Page 143: Apple Pay Within Apps

DemoShipping and contacts

Page 144: Apple Pay Within Apps

Payment InformationPKPaymentMethod

Find out more about the payment instrument selectedApply debit / credit card surcharges or discountsReceive delegate callback when the payment method changes

if paymentMethod.type == .Debit { label = "Thanks for paying with your debit card!" }

Page 145: Apple Pay Within Apps

Payment InformationPKPaymentMethod

A minority of older cards may have no known payment typeIn this case, you'll receive PKPaymentMethodTypeUnknown

Page 146: Apple Pay Within Apps

Tips and TricksPending items

New property on PKPaymentSummaryItempaymentSummaryItem.type = .Pending

Use this to indicate charges that aren’t finalAdditional documentation in a future seed

Page 147: Apple Pay Within Apps

Tips and TricksSimulator support

Display the Apple Pay sheet in the simulatorAlways test your apps on real hardware

Page 148: Apple Pay Within Apps

Tips and TricksApple Pay on Apple Watch

Trigger payments directly from Apple WatchHandoff directly to an Apple Pay sheetSample code available

Wallet - The Home for Apple Pay and More Mission Tuesday 10:00AM

Page 149: Apple Pay Within Apps

Summary

Apple Pay: Easy, private, secureTry out Apple Pay for yourselfIntegrate into your appsDelight your users

Page 150: Apple Pay Within Apps

More Information

DocumentationApple Pay for Developershttps://developer.apple.com/apple-pay/

iOS Security White Paperhttp://www.apple.com/business/docs/iOS_Security_Guide.pdf

Page 151: Apple Pay Within Apps

More Information

Technical SupportApple Developer Forumshttp://developer.apple.com/forums

Developer Technical Supporthttp://developer.apple.com/support/technical

General InquiriesPaul Danbold, Core OS [email protected]

Rachel Roth, User Experience [email protected]

Page 152: Apple Pay Within Apps

Related Sessions

Wallet - The Home for Apple Pay and More Mission Tuesday 10:00AM

Introducing the Contacts Framework for iOS and OS X Pacific Heights Thursday 3:30PM

Page 153: Apple Pay Within Apps

Related Labs

Wallet and Apple Pay Lab Frameworks Lab C Tuesday 1:30PM

Wallet and Apple Pay Lab Frameworks Lab C Wednesday 1:30PM

Page 154: Apple Pay Within Apps