$30 off During Our Annual Pro Sale. View Details »

Developing Apple Pay In-App Provisioning

kenmaz
March 19, 2019

Developing Apple Pay In-App Provisioning

Presentation slide for “try! Swift Pre Talk 2019”

kenmaz

March 19, 2019
Tweet

More Decks by kenmaz

Other Decks in Programming

Transcript

  1. Developing
    Apple Pay In-App Provisioning
    With Sandbox App
    Kentaro Matsumae (@kenmaz)

    merpay
    #tryswift_pre
    try! Swift Pre Talks 2019, Mar 19th

    View Slide

  2. GSBNFXPSLT
    8IBUJT4BOECPY"QQ

    View Slide

  3. 4BOECPY"QQT
    8IBUJT4BOECPY"QQ

    View Slide

  4. View Slide

  5. "QQMF1BZ*O"QQ1SPWJTJPOJOH

    View Slide

  6. "QQMF1BZ*O"QQ1SPWJTJPOJOH
    *TTVFS
    "QQMF

    View Slide

  7. "QQMF1BZ*O"QQ1SPWJTJPOJOH
    *TTVFS
    "QQMF
    *TTVFSFRVFTUGPSBWJSUVBM
    QSFQBJEDBSE

    View Slide

  8. "QQMF1BZ*O"QQ1SPWJTJPOJOH
    *TTVFS
    "QQMF
    *TTVFBWJSUVBMQSFQBJEDBSE

    View Slide

  9. "QQMF1BZ*O"QQ1SPWJTJPOJOH
    *TTVFS
    "QQMF
    3FRVFTUUPSFHJTUFSDBSEUISPVHI1BTT,JU"1*
    PassKit
    - PKAddPaymentPassViewController
    - PKPassLibrary

    View Slide

  10. "QQMF1BZ*O"QQ1SPWJTJPOJOH
    *TTVFS
    "QQMF
    3FHJTUFSDBSEJOUP8BMMFUBQQ

    View Slide

  11. View Slide

  12. 130#-&.
    w .645UPJOTUBMMUIFBQQWJB5FTU'MJHIUGPS
    EFCVHHJOH
    w &WFSZUJNFZPVEFCVH ZPVOFFEUPSFCVJME
    BOEVQMPBEUIF"QQUP5FTU'MJHIU
    #VJME 6QMPBE 5FTU'MJHIU1SPDFTTJOH
    NJO

    View Slide

  13. w 5FTU'MJHIUQSPDFTTJOHUJNFEFQFOETPOCJOBSZTJ[F
    w .JOJNJ[FUIFDPEFUPSFEVDFCVJMEJOHBOE5'QSPDFTTJOH
    UJNF
    w 4BOECPY"QQJTVTFGVMUPEPJU
    3&40-65*0/

    View Slide

  14. 0SHBOJ[FQSPWJTJPOJOHSFMBUFE
    DPEFJOUPPOFDPNQPOFOU
    1SPWJTJPOJOH
    $PSF
    1SPWJTJPOJOH
    6*
    .FSQBZGSBNFXPSL

    View Slide

  15. 4BOECPY"QQXJUI$PSFDPNQPOFOU
    1SPWJTJPOJOH
    $PSF
    1SPWJTJPOJOH
    6*
    .FSQBZGSBNFXPSL
    4BOECPY
    "QQ

    View Slide

  16. 3&46-54
    1SPWJTJPOJOH
    $PSFDPNQPOFOUT
    ,#
    4BOECPY"QQ
    #VJME 6QMPBE
    5FTU'MJHIU1SPDFTTJOH
    NJO
    Y'BTUFS

    View Slide

  17. 6*JNQMFNFOUBUJPO
    VTJOH4BOECPY"QQ

    View Slide

  18. 1SPWJTJPOJOH'MPX

    View Slide

  19. 1SPWJTJPOJOH'MPX

    View Slide

  20. 1SPWJTJPOJOH'MPX
    4BOECPY
    "QQ
    4UBSU

    View Slide

  21. 1SPWJTJPOJOH$PSF
    1SPWJTJPOJOH'MPX
    4BOECPY
    "QQ
    4UBSU

    View Slide

  22. %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

    View Slide

  23. %FQFOEFODZ3FHJTUSZ
    %FQFOEFODZ
    3FHJTUSZ
    "MM7JFX$POUSPMMFSTBSFJOJUJBMJ[FEXJUI%FQFOEFODZ3FHJTUSZ

    View Slide

  24. 6*VTFT$PSFDPNQPOFOUUISPVHI
    %FQFOEFODZ3FHJTUSZ
    %FQFOEFODZ
    3FHJTUSZ
    1SPWJTJPOJOH
    $PSF
    1SPWJTJPOJOH
    6*
    .FSQBZGSBNFXPSL
    1SPEVDUJPO
    "QQ

    View Slide

  25. .FSQBZGSBNFXPSL
    4BOECPY
    "QQ
    %FQFOEFODZ
    3FHJTUSZ
    1SPWJTJPOJOH
    $PSF .PDL

    1SPWJTJPOJOH
    6*
    6*VTFT$PSFDPNQPOFOUUISPVHI
    %FQFOEFODZ3FHJTUSZ

    View Slide

  26. 1SPWJTJPOJOH$PSF
    1SPWJTJPOJOH'MPX
    4BOECPY
    "QQ
    4UBSU

    View Slide

  27. 1SPWJTJPOJOH'MPX
    4BOECPY
    "QQ
    4UBSU
    %VNNZ
    /FYU

    View Slide

  28. 0UIFSVTFDBTFTPG
    4BOECPY"QQ

    View Slide

  29. &BTZUPUFTUWBSJPVTFSSPSDBTFT

    View Slide

  30. &BTZUPBDDFTTUPBOZTDSFFO
    %VNNZ
    /FYU
    %VNNZ
    /FYU








    5BQT


    View Slide

  31. &BTZUPBDDFTTUPBOZTDSFFO
    4BOECPY
    "QQ
    1BHF
    1BHF
    1BHF
    1BHF
    1BHF
    1BHF


    5BQ

    View Slide

  32. 3FDBQ
    w *OUSPEVDFE"QQMF1BZ*O"QQ1SPWJTJPOJOH
    w 4BOECPY"QQIFMQTUPJNQSPWFEFWFMPQNFOUF⒏DJFODZ
    w 6TFGVMGPSEFWFMPQJOHGFBUVSFTUIBUBSFIJHIMZEFQFOEFOUPOUIF
    FYUFSOBMFOWJSPONFOU
    w *NQPSUBOUUIBU7JFX$POUSPMMFSTIBWFBMPPTFMZDPVQMFEEFTJHO
    w 4BOECPY"QQNBZIFMQTZPVSDPEFNPSFMPPTFMZDPVQMFE

    View Slide

  33. IUUQTNFSDBSJDPOOQBTTDPNFWFOU
    5IBOLZPV
    8BOUUPLOPXNPSF

    View Slide