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

Developing Apple Pay In-App Provisioning in merpay

kenmaz
March 27, 2019

Developing Apple Pay In-App Provisioning in merpay

Presentation slide for "merpay Tech Talk for iOS/Android Engineer" event.
https://mercari.connpass.com/event/124161/

kenmaz

March 27, 2019
Tweet

More Decks by kenmaz

Other Decks in Technology

Transcript

  1. Developing Apple Pay In-App Provisioning in merpay Kentaro Matsumae (@kenmaz)

    merpay #merpay_techtalk merpay Tech Talk for iOS/Android Engineer, Mar 27th
  2. "QQMF1BZ3FHJTUSBUJPO'MPX J04%FWJDF "QQMF 1BZNFOU /FUXPSL w $BSEIPMEFSOBNF w $BSE/VNCFS '1"/

     w 4FDVSJUZ$PEF 5PLFO %1"/ 4FDVSF &MFNFOU '1"/TV⒏Y  IUUQTTVQQPSUBQQMFDPNKBKQ)5 '1"/ˠ%1"/
  3. w '1"/ 'VOEJOH1SJNBSZ"DDPVOU/VNCFS  w %1"/ %FWJDF1SJNBSZ"DDPVOU/VNCFS  w 1BZNFOUQSPDFTTVTFTFODSZQUFE%1"/POMZ

    OPU'1"/ w &ODSZQUFEBOETUPSFEJO4FDVSF&MFNFOU w %1"/DIBOHFTFWFSZUJNFZPVSFHJTUFS w l5PLFOJ[BUJPOzl5PLFO1BZNFOUz '1"/%1"/
  4. 1,"EE1BZNFOU1BTT7JFX$POUSPMMFS open class PKAddPaymentPassViewController : UIViewController { public init?( requestConfiguration

    configuration: PKAddPaymentPassRequestConfiguration, delegate: PKAddPaymentPassViewControllerDelegate?) } public protocol PKAddPaymentPassViewControllerDelegate : NSObjectProtocol { public func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, generateRequestWithCertificateChain certificates: [Data], nonce: Data, nonceSignature: Data, completionHandler handler: @escaping (PKAddPaymentPassRequest) -> Void) public func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, didFinishAdding pass: PKPaymentPass?, error: Error?) }
  5. 1,1BZNFOU1BTT1,1BTT-JCSBSZ open class PKPaymentPass : PKPass { open var primaryAccountIdentifier:

    String { get } open var primaryAccountNumberSuffix: String { get } weak open var deviceAccountIdentifier: NSString? { get } weak open var deviceAccountNumberSuffix: NSString? { get } } open class PKPassLibrary : NSObject { open func passes() -> [PKPass] open func remotePaymentPasses() -> [PKPaymentPass] open func present(_ pass: PKPaymentPass) open func canAddPaymentPass(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> Bool open func canAddFelicaPass() -> Bool }
  6. %FQFOEFODZ*OKFDUJPO public protocol DependencyRegistry { var service: ServiceType { get

    } var mercariViewControllerFactory: MercariViewControllerFactoryType { get } var mercariExperimentProvider: MercariExperimentsProviderType { get } var nfcClient: NFCClientType { get } … 1SPWJEFTBMMFYUFSOBMFOWJSPONFOUEFQFOEFOUPCKFDUT 1SPWJTJPOJOH $PSF 1SPUPDPM