1. Checkout
1.1. Interface update
1.1.1. Move all apis to iFrame level
1.1.2. Make the sdk interface dynamic
1.1.3. Support old current configs
1.1.4. Map the new interface values iFrame level
1.1.5. Update the demos (dev,staging,beta)
1.2. SamsungPay
1.2.1. Whitelist Checkout dev, staging, beta & production urls.
1.2.2. Integrate SamsungPay Tap web button into Checkout.
1.2.3. Display SamsungPay chip in all modes enabled & disabled.
1.2.4. Integrate with SamsungPay SDK from within Checkout iFrame.
1.2.5. Add urls used by SamsungPay into the allowed domain in our CSP.
1.2.6. Add a new enum for Token API request model using SamsungPay model.
1.2.7. Update the demo to have Samsung Pay as a payment option.
1.3. STC Pay:
1.3.1. Refactor the phone entry + country picker into a shared library (used in many places.)
1.3.2. Add the hints view to the phone entry view.
1.3.3. Add the logic when and how to show different hints for phone as per UI
1.3.3.1. Incomplete number when only focused.
1.3.3.2. Non existing number when rejected by STC Pay and clear once edited.
1.3.4. Blur the card when STC Pay is selected.
1.3.5. Integrate the phone view in Checkout (C2P & STC Pay) using the shared view.
1.3.6. Parse the new model for STC Payment option from CheckoutProfile API.
1.3.7. Display STC Pay chip in all modes (enabled & disabled.)
1.3.8. Update charge api request model to support passing phone + country code.
1.3.9. Create the OTP view to support the needed UI.
1.3.10. Update the charge update request model to support passing OTP.
1.3.11. Add the BACK button in the Powered by Tap strip.
1.3.12. Update the demo to have STC Pay as a payment option
1.4. Inline 3DS
1.4.1. Any 3DS/Redirection allowed in iFrame to have it embedded
1.4.2. Apply for GooglePay flow
1.4.3. Apply for Click2Pay flow
1.4.4. Apply for Paypal
1.4.5. Apply for Tabby
1.5. Click2Pay:
1.5.1. Apply the suggestions from MC to solve the new card issue.
1.5.2. Once the new card flow is working we need to handle all cases as we were blocked
1.5.2.1. Cancel
1.5.2.2. New profile created
1.5.2.3. New card added for a logged in user
1.5.2.4. Close
1.5.2.5. Error
1.5.2.6. Success
1.6. Mobile wrapper
1.6.1. Web
1.6.1.1. Create an iFrame mobile wrapper
1.6.1.2. Adjust the wrapper to take parameters from URL params
1.6.1.3. Change the redirection experience to make mobile display it (KNET,BENEFIT,etc)
1.6.1.4. Adjust all callbacks to be through url schemes
1.6.1.5. Integrate with Native functionalities (Scanner + NFC)
1.6.1.6. Add custom functions to support native experience
1.6.1.6.1. Accept ApplePayLoad (generated from iOS) to process it.
1.6.1.6.2. Accept GooglePayLoad (generated from native device) to process it.
1.6.1.6.3. Prefil card data when fetched through scanner or nfc.
1.6.1.6.4. Listen to user interface change (light/dark) at run time.
1.6.2. Mobile
1.6.2.1. Create Checkout Native SDKS repos and setup
1.6.2.2. Build the interface from merchant
1.6.2.3. Add device details + encrypt data in Checkout web wrapper URL
1.6.2.4. Listen to all schemes url from the Checkout web wrapper.
1.6.2.4.1. Open a url (so we can open KNET e.g as per mobile flow Figma)
1.6.2.4.2. Start Scanner
1.6.2.4.3. Start NFC
1.6.2.4.4. Start a device based payment method (ApplePay, GooglePay)
1.6.2.5. Integrate In house Tap iOS and Android scanner.
1.6.2.6. Integrate In house Android NFC.
1.6.2.7. Build a react native & flutter wrappers for native iOS & Android.
2. Pay button
2.1. Interface update:
2.1.1. Web:
2.1.1.1. Update the interface to be the latest as Checkout.
2.1.1.2. Move all calls to iFrame level.
2.1.1.3. Make the sdk interface dynamic.
2.1.1.4. Update the mobile wrapper to accept the new interface.
2.1.1.5. Update the standalone buttons sdks BENEFITPAY, CAREEMPAY & APPLEPAY to use our latest Tap sdks.
2.1.1.6. Create staging, beta & production envrionment setup for the PayButton & demo servers.
2.2. Mobile:
2.2.1. Update the native sdk interface to match the new interface.
2.2.2. Provide extensive demos for testing for PayButton in iOS, Android, RN & Flutter.
2.3. SamsungPay PayButton:
2.3.1. Web:
2.3.1.1. Whiteliste the paybutton server (dev,staging) urls.
2.3.1.2. Refactor button props (the sdk interface) to a unified library (as same model is being used in all buttons.)
2.3.1.3. Update the buttons to use the shared interface from the shared library.
2.3.1.4. Allow SamsungPay urls in our CSP.
2.3.1.5. Correclt load SamsungPay only details from CheckoutProfile api.
2.3.1.6. Integrate with SamsungPay SDK with details from Merchant + CheckoutProfile api.
2.3.1.7. Throw an error if payment is not allowed for merchant.
2.3.1.8. Render the SamsungPay button with correct UI and locale.
2.3.1.9. Disaply the SamsungPay payment sheet.
2.3.1.10. Listen to evens from SamsungPay payment sheet:
2.3.1.10.1. Cancel.
2.3.1.10.2. Error.
2.3.1.10.3. Credentials (the SamsungPay payload)
2.3.1.11. Add a new scope to the defined scopes in PayButton : SamsungPayToken.
2.3.1.12. Add new Token model request to support the SamsungPay payload.
2.3.1.13. Correctly send the raw SamsungPay payload if scope is set to SamsungPayToken.
2.3.1.14. Correctly send the TapToken if scope is set to TapToken.
2.3.1.15. Correctly send the Charge if scope is set to Charge.
2.3.1.16. Update the demo to have SamsungPay button + SamsungPayToken as a scope.
2.3.2. Mobile:
2.3.2.1. Add SamsungPay sdk dependency.
2.3.2.2. Accept the merchant + transactions details from Merchant.
2.3.2.3. Correclt load SamsungPay only details from CheckoutProfile api.
2.3.2.4. Integrate with SamsungPay SDK with details from Merchant + CheckoutProfile api.
2.3.2.5. Throw an error if payment is not allowed for merchant.
2.3.2.6. Same as the above.
2.4. Update Card in PayCard button:
2.4.1. Use latest Card SDK in the PayButton
2.4.2. Adjust the intergration from PayButton to use new interface in the Card released.
2.4.3. Handle MID, as MID is optional in PayButton but required in Card SDK.
2.4.4. Update the PayButton expected response from Card to latest responses.
3. Card
3.1. Unify response
3.1.1. Adjust Checkout SDK to parse
3.1.2. Adjust PayButton SDK to parse
3.2. Re-architect (needs two weeks and important as per the tech lead)
3.2.1. Host card wrapper on a different iframe
3.2.2. Update name on card interface