Apple Pay • User • Easy • No need to re-enter payment and contact information • Secure • Pay using Touch ID • Private • Card number not expose to the merchant
Apple Pay • Developer • Don't need to handle actual card numbers • Higher conversion rates and faster checkouts • No onboarding or existing accounts required
Apple Pay • Developer • Don't need to handle actual card numbers • Higher conversion rates and faster checkouts • No onboarding or existing accounts required
Problem • Contact • A contact object representing the new shipping address. To maintain privacy, the shipping information is anonymized. For example, in the United States it only includes the city, state, and zip code. This provides enough information to calculate shipping costs, without revealing sensitive information until the user actually approves the purchase. IUUQTEFWFMPQFSBQQMFDPNSFGFSFODFQBTTLJUQLQBZNFOUBVUIPSJ[BUJPOWJFXDPOUSPMMFSEFMFHBUFQBZNFOUBVUIPSJ[BUJPOWJFXDPOUSPMM
import Contacts • બͨ͠ใCNContact͔Β֤ʑ͢Δ public class CNContact : NSObject, NSCopying, NSMutableCopying, NSSecureCoding { (..snip..) public var phoneNumbers: [CNLabeledValue] { get } public var emailAddresses: [CNLabeledValue] { get } public var postalAddresses: [CNLabeledValue] { get } public var urlAddresses: [CNLabeledValue] { get }
import Contacts • ϥϕϧ public class CNLabeledValue : NSObject, NSCopying, NSSecureCoding { public var identifier: String { get } public var label: String? { get } @NSCopying public var value: protocol { get } public init(label: String?, value: protocolNSSecureCoding>) (..snip..)
public class CNLabeledValue : NSObject, NSCopying, NSSecureCoding { public var identifier: String { get } public var label: String? { get } @NSCopying public var value: protocol { get } public init(label: String?, value: protocolNSSecureCoding>) (..snip..) import Contacts • ϥϕϧ