Create setup token with empty card object in demo app, simulating merchant server's behavior and output
Use graphQL endpoint to update setup token with payment method.
Create VaultDelegate protocol and delegate methods to return setup token id and vault status to merchant app
Implement creating actual payment token using setupToken in demo app via sample merchant server call to PayPal API
Fix unit tests, add new ones from changes
There is currently a refactor ticket (https://github.com/paypal/paypal-ios/pull/177) on the network layer that includes replacing GraphQLClient. There are some TODO comments to mark some changes to address after the refactor.
TODO for another PR handling 3DS contingency:
Use GET request for getting setupToken to get minimum PaymentSource information and for 3DS contingency, updated
status, 3Ds results.
We are not fetching minimum paymentSource from UpdateSetupToken graphQL endpoint. (following JS implementation)
I am assuming that this is because of cards with 3DS contingency where GET request is needed
for updated status. Using a separate GET request lets me use objects internal to CardPayments module.
Not clear on 3DS contingency => I am not getting 3DS url (helios link) from setup token endpoints (from setup token create with or without card info, update setup token endpoint) with many of the test cards that I've
tried. These test cards did trigger 3DS contingency in checkout flow.
I am confused about whether 3DS contingency gets kicked off at moment of standalone vault or during checkout process with the vaulted method. I think it's the former but wanted to make sure I know all the steps involved in creating 3DS contingency correctly for standalone vaulting.
Summary of changes
There is currently a refactor ticket (https://github.com/paypal/paypal-ios/pull/177) on the network layer that includes replacing GraphQLClient. There are some TODO comments to mark some changes to address after the refactor.
TODO for another PR handling 3DS contingency:
Use GET request for getting setupToken to get minimum PaymentSource information and for 3DS contingency, updated status, 3Ds results.
We are not fetching minimum paymentSource from UpdateSetupToken graphQL endpoint. (following JS implementation) I am assuming that this is because of cards with 3DS contingency where GET request is needed for updated status. Using a separate GET request lets me use objects internal to CardPayments module.
Not clear on 3DS contingency => I am not getting 3DS url (helios link) from setup token endpoints (from setup token create with or without card info, update setup token endpoint) with many of the test cards that I've
tried. These test cards did trigger 3DS contingency in checkout flow.
I am confused about whether 3DS contingency gets kicked off at moment of standalone vault or during checkout process with the vaulted method. I think it's the former but wanted to make sure I know all the steps involved in creating 3DS contingency correctly for standalone vaulting.
Checklist
Authors