Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notify Uphold-verified users if they have to complete customer due diligence with Uphold #20427

Closed
Miyayes opened this issue Jan 10, 2022 · 2 comments · Fixed by brave/brave-core#11857

Comments

@Miyayes
Copy link
Collaborator

Miyayes commented Jan 10, 2022

Description

Uphold now requires some users to complete an additional due diligence survey in order to be able to receive deposits (edit: or to send transactions). This status can be checked with GET /me/capabilities/receives or .../sends. (Uphold may soon add /capabilities generically which will return list of all capabilities, without checking each capability individually.)

Until this is complete, transfers/deposits to these users' Uphold accounts will fail. This includes deposits for ad payouts as well as userdrains. Transactions from the user's account, such as direct tips, will also fail.

Solution

Updated: Jan 13, 2022

  1. When this state is detected
  2. Throw the user back into "Logged out" state (and show "logged out" notification)
  3. When user goes to log back/verify again, if they haven't completed the CDD survey, it'll fail and they'll get an error modal that tells them to complete this survey and then try again. (@Miyayes or @szilardszaloki have the appropriate error modal text. This error modal shows on Rewards settings page, so on Android, might be automatically inherited.)

cc: @amirsaber @husobee @szilardszaloki

Notes

If user runs into this restriction, it does not expire their access tokens. So this needs to be detected via separate API call.

@szilardszaloki
Copy link
Contributor

GET https://api.uphold.com/v0/me's response already contains if a user is required to fill in the CDD survey or not, and since this API is called in Uphold's wallet generation flow (which runs quite frequently), we'll just need to parse out verifications.customerDueDiligence.status and check if it's required for them.

@szilardszaloki szilardszaloki added this to the 1.36.x - Nightly milestone Jan 21, 2022
@LaurenWags LaurenWags added QA/In-Progress Indicates that QA is currently in progress for that particular issue and removed QA/In-Progress Indicates that QA is currently in progress for that particular issue labels Jan 27, 2022
@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Jan 28, 2022

Verification PASSED on


Brave | 1.35.96 Chromium: 98.0.4758.66 (Official Build) (64-bit)
-- | --
Revision | db1b4001d5ce29f141297f260d2b778e000b85a3-refs/branch-heads/4758@{#762}
OS | Windows 10 Version 21H2 (Build 19044.1466)

Scenario 1: Clean install - PENDING ==> NOT_CONNECTED - PASSED
  1. Clean install 1.36.63 w/ staging parameters
  2. Enable Rewards
  3. Link KYC'd account which has CDD "required"
  4. Confirm you get modal on brave://rewards page
  5. Confirm link on modal directs to https://wallet.uphold.com/customer-due-diligence (staging or production env, both link to the same place)
  6. Confirm close closes the modal
  7. Open the panel
  8. Confirm that no notification is shown on the panel per Handling Uphold's CDD (customer due diligence) process. brave-core#11857 (comment)
Settings Page Panel
image image
Scenario 2: Upgrade - VERIFIED ==> DISCONNECTED_VERIFIED (brave://rewards tab active) - PASSED

Pre-req: Use Charles Proxy to simulate CDD required or ask for your Uphold sandbox account to be put into this state.

  1. Clean install 1.35.x Nightly version or 1.36.x prior to this fix w/ staging parameters
  2. Enable Rewards
  3. Link KYC'd account which has CDD "required"
  4. Confirm you are logged in without any problem (UI reflects this, your balance is displayed on settings and panel, etc)
  5. Have brave://rewards page open and as the active tab
  6. Upgrade to 1.36.63
  7. Confirm you get modal on brave://rewards page
  8. Confirm link on modal directs to https://wallet.uphold.com/customer-due-diligence (staging or production env, both link to the same place)
  9. Confirm close closes the modal
  10. Open the panel
  11. Confirm that notification is shown on the panel per Handling Uphold's CDD (customer due diligence) process. brave-core#11857 (comment)
Settings Page before upgrade Panel before upgrade Settings page after upgrade - modal Settings page after upgrade - modal closed Panel after upgrade
image image image image image
Scenario 3: Upgrade - VERIFIED ==> DISCONNECTED_VERIFIED (brave://rewards tab not active) - PASSED

Pre-req: Use Charles Proxy to simulate CDD required or ask for your Uphold sandbox account to be put into this state.

  1. Clean install 1.35.x Nightly version or 1.36.x prior to this fix w/ staging parameters
  2. Enable Rewards
  3. Link KYC'd account which has CDD "required"
  4. Confirm you are logged in without any problem (UI reflects this, your balance is displayed on settings and panel, etc)
  5. Close brave://rewards page if open
  6. Upgrade to 1.36.63
  7. Open the panel
  8. Confirm that notification is shown on the panel per Handling Uphold's CDD (customer due diligence) process. brave-core#11857 (comment)
  9. Navigate to brave://settings
  10. Confirm no modal shown
Settings Page before upgrade Panel before upgrade Panel after upgrade Settings page after upgrade
image image image image

Encountered #20529 while testing scenario 3


Verified with

Brave | 1.35.97 Chromium: 98.0.4758.72 (Official Build) (x86_64)
-- | --
Revision | d63e30f73734c5326037b0d94eceed77168d95e1-refs/branch-heads/4758@{#905}
OS | macOS Version 11.6.1 (Build 20G224)
Scenario 1: Clean install - PENDING ==> NOT_CONNECTED - PASSED

Pre-req: Use Charles Proxy to simulate CDD required or ask for your Uphold sandbox account to be put into this state.

  1. Clean install 1.35.x w/ staging parameters
  2. Enable Rewards
  3. Link KYC'd account which has CDD "required"
  4. Confirm you get modal on brave://rewards page
  5. Confirm link on modal directs to https://wallet.uphold.com/customer-due-diligence (staging or production env, both link to the same place)
  6. Confirm close closes the modal
  7. Open the panel
  8. Confirm that no notification is shown on the panel per Handling Uphold's CDD (customer due diligence) process. brave-core#11857 (comment)
Settings Page Panel
1 2
Scenario 2: Upgrade - VERIFIED ==> DISCONNECTED_VERIFIED (brave://rewards tab active) - PASSED

Pre-req: Use Charles Proxy to simulate CDD required or ask for your Uphold sandbox account to be put into this state.

  1. Clean install 1.34.x w/ staging parameters
  2. Enable Rewards
  3. Link KYC'd account which has CDD "required"
  4. Confirm you are logged in without any problem (UI reflects this, your balance is displayed on settings and panel, etc)
  5. Have brave://rewards page open and as the active tab
  6. Upgrade to 1.35.x
  7. Confirm you get modal on brave://rewards page
  8. Confirm link on modal directs to https://wallet.uphold.com/customer-due-diligence (staging or production env, both link to the same place)
  9. Confirm close closes the modal
  10. Open the panel
  11. Confirm that notification is shown on the panel per Handling Uphold's CDD (customer due diligence) process. brave-core#11857 (comment)
Settings Page before upgrade Panel before upgrade Settings page after upgrade - modal Settings page after upgrade - modal closed Panel after upgrade
1 2 3 4 5
Scenario 3: Upgrade - VERIFIED ==> DISCONNECTED_VERIFIED (brave://rewards tab not active) - PASSED

Pre-req: Use Charles Proxy to simulate CDD required or ask for your Uphold sandbox account to be put into this state.

  1. Clean install 1.34.x w/ staging parameters
  2. Enable Rewards
  3. Link KYC'd account which has CDD "required"
  4. Confirm you are logged in without any problem (UI reflects this, your balance is displayed on settings and panel, etc)
  5. Close brave://rewards page if open
  6. Upgrade to 1.35.x
  7. Open the panel
  8. Confirm that notification is shown on the panel per Handling Uphold's CDD (customer due diligence) process. brave-core#11857 (comment)
  9. Navigate to brave://settings
  10. Confirm no modal shown
Settings Page before upgrade Panel before upgrade Panel after upgrade Settings page after upgrade
1 2 3 4

Encountered #20529 while testing scenario 3


Verification passed on

Brave 1.35.98 Chromium: 98.0.4758.74 (Official Build) (64-bit)
Revision d0fe1ec4df090cd3eb02b591228505e12ea476e9-refs/branch-heads/4758@{#935}
OS Ubuntu 18.04 LTS
Scenario 1: Clean install - PENDING ==> NOT_CONNECTED - PASSED
  1. Clean install 1.36.63 w/ staging parameters
  2. Enable Rewards
  3. Link KYC'd account which has CDD "required"
  4. Confirm you get modal on brave://rewards page
  5. Confirm link on modal directs to https://wallet.uphold.com/customer-due-diligence (staging or production env, both link to the same place)
  6. Confirm close closes the modal
  7. Open the panel
  8. Confirm that no notification is shown on the panel per Handling Uphold's CDD (customer due diligence) process. brave-core#11857 (comment)

image
image

Scenario 2: Upgrade - VERIFIED ==> DISCONNECTED_VERIFIED (brave://rewards tab active) - PASSED

Pre-req: Use Charles Proxy to simulate CDD required or ask for your Uphold sandbox account to be put into this state.

  1. Clean install 1.34.x w/ staging parameters
  2. Enable Rewards
  3. Link KYC'd account which has CDD "required"
  4. Confirm you are logged in without any problem (UI reflects this, your balance is displayed on settings and panel, etc)
  5. Have brave://rewards page open and as the active tab
  6. Upgrade to 1.35.x
  7. Confirm you get modal on brave://rewards page
  8. Confirm link on modal directs to https://wallet.uphold.com/customer-due-diligence (staging or production env, both link to the same place)
  9. Confirm close closes the modal
  10. Open the panel
  11. Confirm that notification is shown on the panel per Handling Uphold's CDD (customer due diligence) process. brave-core#11857 (comment)

image
image
image

Scenario 3: Upgrade - VERIFIED ==> DISCONNECTED_VERIFIED (brave://rewards tab not active) - PASSED

Pre-req: Use Charles Proxy to simulate CDD required or ask for your Uphold sandbox account to be put into this state.

  1. Clean install 1.34.x w/ staging parameters
  2. Enable Rewards
  3. Link KYC'd account which has CDD "required"
  4. Confirm you are logged in without any problem (UI reflects this, your balance is displayed on settings and panel, etc)
  5. Close brave://rewards page if open
  6. Upgrade to 1.35.x
  7. Open the panel
  8. Confirm that notification is shown on the panel per Handling Uphold's CDD (customer due diligence) process. brave-core#11857 (comment)
  9. Navigate to brave://settings
  10. Confirm no modal shown

image
image
image

Encountered #20529

@LaurenWags LaurenWags added QA/In-Progress Indicates that QA is currently in progress for that particular issue QA Pass-macOS and removed QA/In-Progress Indicates that QA is currently in progress for that particular issue labels Jan 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment