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

[Android] ZebPay — Phase 1 #32386

Closed
Miyayes opened this issue Aug 19, 2023 · 5 comments · Fixed by brave/brave-core#19803
Closed

[Android] ZebPay — Phase 1 #32386

Miyayes opened this issue Aug 19, 2023 · 5 comments · Fixed by brave/brave-core#19803
Assignees

Comments

@Miyayes
Copy link
Collaborator

Miyayes commented Aug 19, 2023

Android version of #32036.

@kjozwiak
Copy link
Member

The above requires 1.58.110 or higher for 1.58.x verifications 👍

@kjozwiak
Copy link
Member

@LaurenWags @GeetaSarvadnya added QA/Test-All-Platforms but please remove if you feel differently. Should at least check the above on Tablet to make sure none of the UI/UX is broken due to the different size. Probably a good idea to spot check Android 8 to make sure there's no obvious issues/crashes.

@kjozwiak kjozwiak added the Android 8 - Test/Verification Checking on an older Android device to make sure everything is working as expected label Aug 31, 2023
@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Sep 4, 2023

Verification PASSED on Samsung Galaxy version 12 running Bravemonoarm54.apk_1.58.110

Case 1: Basic connection/linking_PASSED
  1. New profile, enable Rewards and select India
  2. Make sure that ZebPay is the only visible option in the custodian selection modal, and that Uphold, Gemini, bitFlyer do not appear. (If Do not show bullet point #2 in custodian selection modal when country is India is merged into your build, check that the 2nd bullet point about “topping up” is removed from the custodial selection modal screen.)
  3. Connect Rewards to ZebPay account that has some BAT in it
  4. Check if authorization / linking flow succeeds and user goes into Connected state
  5. Check if balance on NTP Rewards widget, Rewards panel, and brave://rewards settings page match the balance in the ZebPay account
  6. Go to brave://rewards and make sure there is NO Auto-Contribute feature (similar to bitFlyer case)
  7. Ensure that there is no “userdrain tooltip” notice (yellow question mark) on NTP widget, Rewards panel, and brave://rewards settings page.
  8. Go to a Verified Creator to try and initiate a tip/contribution. Ensure that the text in the Contribution Banner says “ZebPay”. Also, make sure that the appropriate error shows up saying that the Creator is unable to receive tips from ZebPay (because there do not exist any ZebPay creators at this time).
  9. Check “Go to my ZebPay account” works under the “Connected” pill dropdown menu in the Rewards panel, and also in the panel on the brave://rewards page.
step 1 step 2 step 6 step 6(1) step 9(1) step 9(2)
Screenshot_20230904-105331_Brave - Beta Screenshot_20230904-105352_Brave - Beta Screenshot_20230904-105614_Brave - Beta Screenshot_20230904-105625_Brave - Beta Screenshot_20230904-105632_Brave - Beta Screenshot_20230904-105703_Brave - Beta

ZebPay balance display

steps 3, 5 and 7

Rewards settings page BR panel Pubs page
Screenshot_20230904-110145_Brave - Beta Screenshot_20230904-110205_Brave - Beta Screenshot_20230904-110218_Brave - Beta

Linking flow success logs:

step 4

     [ REQUEST ]
    > URL: https://grant.rewards.bravesoftware.com/v3/wallet/zebpay/2394ae76-1bc5-5950-9c2e-331391725e7d/claim
    > Method: POST
    > Content: {"linking_info":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc1ZhbGlkIjp0cnVlLCJhY2NvdW50SWQiOiI5QUFEOTMzMjhFRDAyMTEwNDM4NTY2QjExNjJGNDhCOCIsImRlcG9zaXRJZCI6IjEzNDYwIiwiY291bnRyeUNvZGUiOiJJTiIsIm5iZiI6MTY5MzgwMzMyOSwiZXhwIjoxNjkzODA2OTI5LCJpYXQiOjE2OTM4MDUxMjl9.-vgFLJttyVBvEt3woa-b-1F4736t0yj5bHlhb1g8mlY"}
    > Content Type: application/json; charset=utf-8
    > Header digest: SHA-256=oiAUMWOQibc9fnhqByZzDSPg9H63ZCfCPKQL8kBotK0=
    > Header signature: keyId="2394ae76-1bc5-5950-9c2e-331391725e7d",algorithm="ed25519",headers="digest (request-target)",signature="nQeRHmOzmQvjc1sMQ84A1DGoPNYfIxQDsYPLK24uW5QT1unw0ZwNRUiEGPSgM1GeqIojXHNok1SyCyqfoiU9Cw=="
    > Header accept: application/json
2023-09-04 10:55:30.170 32712-32712/? V/chromium: [VERBOSE6:logging_util.cc(120)] 
----
    [ RESPONSE - OnResponse ]
    > Url: https://grant.rewards.bravesoftware.com/v3/wallet/zebpay/2394ae76-1bc5-5950-9c2e-331391725e7d/claim
    > Result: Success
    > HTTP Code: 200
    > Body: {}
2023-09-04 10:55:30.192 32712-32712/? V/chromium: [VERBOSE5:rewards_engine_impl.h(260)] 

Balance check logs:

step 5

[ REQUEST ]
    > URL: https://rewards.zebpay.co/api/balance
    > Method: GET
2023-09-04 10:55:34.927 32712-32712/? V/chromium: [VERBOSE6:logging_util.cc(120)] 
---
   [ RESPONSE - OnResponse ]
    > Url: https://rewards.zebpay.co/api/balance
    > Result: Success
    > HTTP Code: 200
    > Body: {"BAT":10000}
2023-09-04 10:55:36.475 32712-32712/? V/chromium: [VERBOSE6:logging_util.cc(120)] 

Cross custodian tipping banner message:

step 8

Uphold Gemini bitFlyer
Screenshot_20230904-110440_Brave - Beta Screenshot_20230904-110504_Brave - Beta Screenshot_20230904-110527_Brave - Beta
Case 2: Deferred userdrain_PASSED
  1. Create profile on old version of Brave
  2. Send yourself some vBAT
  3. Upgrade to a more recent version so that you are in the grandfathered-unverified state
  4. Connect to ZebPay
  5. Check if the vBAT was submitted for userdrain. Note: The BAT won’t be sent to the ZebPay account immediately. Just make sure that the vBAT was submitted to our servers. Go to brave://rewards-internals and make sure “Rewards BAT'' balance is 0.00 BAT. Also, you can check on Metabase/ask the Rewards-backend team to check that the vBAT userdrain attempt was received by our backend servers.
  6. Make sure “userdrain tooltip” (yellow question mark) appears on NTP widget, Rewards panel, and brave://rewards settings page.
  7. Go to brave://rewards and make sure there is NO Auto-Contribute feature (similar to bitFlyer case)
1.47.96 - step 1, 2 1.59.x - step 3 1.59.x - step 3(1) 1.59.x - step 4 step 5
Screenshot_20230904-114404_Brave - Beta Screenshot_20230904-114435_Brave - Beta Screenshot_20230904-114445_Brave - Beta Screenshot_20230904-121619_Brave - Beta Screenshot_20230904-121635_Brave - Beta

Step 6 - Userdrain tooltip (yellow question mark) is NOT shown in the BR panel - Logged #32576

Step 6 Step 6 (1)
Screenshot_20230904-121739_Brave - Beta Screenshot_20230904-121821_Brave - Beta

Step 7:

Step 7 (1) Step 7(2)
Screenshot_20230904-121855_Brave - Beta Screenshot_20230904-121903_Brave - Beta

Confirmation from server team that userdrain occurred and is on the server as expected:
https://bravesoftware.slack.com/archives/C0NPFB6H5/p1693903373583029?thread_ts=1692789212.170909&cid=C0NPFB6H5

Case 3: Logged out state → Connected state_PASSED
  1. New profile, enable Rewards and choose India
  2. Connect Rewards to ZebPay account
  3. Ensure that Rewards profile is now in “Connected” state
  4. Expire the access token
    a. Maybe you can do this yourself with Charles proxy somehow, or you may have to ask ZebPay’s team to expire the access token for you. There’s no UI in ZebPay to do this right now it seems.
  5. Ensure that Rewards profile is now in the “Logged out” state
  6. Log in/auth again with ZebPay
  7. Ensure that the Rewards profile is now back in the Connected state

Connected state

Example Example Example Example Example Example
Screenshot_20230904-124029_Brave - Beta Screenshot_20230904-124036_Brave - Beta Screenshot_20230904-124046_Brave - Beta Screenshot_20230904-124220_Brave - Beta Screenshot_20230904-124238_Brave - Beta Screenshot_20230904-124248_Brave - Beta

Logged out state

Example Example Example Example
Screenshot_20230905-094408_Brave - Beta Screenshot_20230905-094705_Brave - Beta Screenshot_20230905-094728_Brave - Beta Screenshot_20230905-094734_Brave - Beta

Logged out state logs:

2023-09-05 09:44:04.918 17435-17435/? I/chromium: [INFO:get_balance_zebpay.cc(45)] Access token expired!
2023-09-05 09:44:04.919 17435-17435/? V/chromium: [VERBOSE1:wallet_util.cc(388)] Logging out zebpay wallet...
2023-09-05 09:44:04.924 17435-17435/? I/chromium: [INFO:wallet_balance.cc(90)] Failed to fetch balance for zebpay wallet!

Re-connect state

Example Example Example
Screenshot_20230905-094850_Brave - Beta Screenshot_20230905-094901_Brave - Beta Screenshot_20230905-094907_Brave - Beta
Case 4: vBAT sunset notices_PASSED
  1. New profile in an old version of Brave, then upgrade so that you’re in the grandfathered state
  2. If it asks you to declare country, choose India
  3. Make sure that at /parameters endpoint, vbatExpired = false, and that the vbatDeadline is sometime in the future.
  4. Ensure that you see vBAT countdown notices, and that the messaging tells the user to connect a custodial account. (It should NOT show the notices that tell the user there is no available custodian and that they should contribute/tip all their vBAT away.) Check the NTP widget, brave://rewards page, and Rewards panel for these notices.
  5. Click to connect to a custodian via the notices and make sure that ZebPay is an option.
  6. Connect to ZebPay and make sure that you’re in the connected state with ZebPay.
  7. After in the connected state, make sure all vBAT notices are gone, and that it looks like a normal ZebPay connected state.
  8. Ensure that there are “userdrain tooltip” notices (yellow question marks) on NTP widget, Rewards panel, and brave://rewards settings page.

steps 1.2

1.47.96 1.59.x
Screenshot_20230904-125014_Brave - Beta Screenshot_20230904-125124_Brave - Beta

step 3

Future date is set in the vbatDeadline and vbatExpired is false at the /parameter endpoint (Used charles proxy to rewrite rule for the parameter response)

   [ REQUEST ]
    > URL: https://api.rewards.bravesoftware.com/v1/parameters
    > Method: GET
----
   [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.170927,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["US","CA","SG","GB"],"block":[]},"uphold":{"allow":["AD","AU","AR","AT","BE","BR","BS","BZ","CA","CH","CL","CO","CR","CY","CZ","DK","EC","EE","FI","FR","GD","GT","GR","HK","HN","HU","IE","IS","IT","JM","KY","LI","LT","LV","LU","MC","MT","MX","NI","NO","NZ","PE","PT","PY","SG","TR","UY","ES","SE","GB","US","UM","ZA","PL","SK","HR","SI","GR","TW"],"block":[]},"zebpay":{"allow":["IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"off","zebpay":"processing"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-09-25T04:00:00Z","vbatExpired":false}
2023-09-04 13:03:27.500 25280-25280/? V/chromium: [VERBOSE1:api_parameters.cc(88)] Params timer set for 12206 s

vBAT countdown notices:

step 4

brave://rewards BR panel
Screenshot_20230904-130401_Brave - Beta Screenshot_20230904-130410_Brave - Beta
step 5 step 6 step 7,8 step 7,8 (1)
Screenshot_20230904-130437_Brave - Beta Screenshot_20230904-130619_Brave - Beta Screenshot_20230904-130625_Brave - Beta Screenshot_20230904-130636_Brave - Beta
Case 5: Payout status banners_PASSED

1. Payout begin banner

brave://rewards ads section

Screenshot_20231004-134551_Brave - Beta

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
---
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.170927,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["US","CA","SG","GB"],"block":[]},"uphold":{"allow":["AD","AU","AR","AT","BE","BR","BS","BZ","CA","CH","CL","CO","CR","CY","CZ","DK","EC","EE","FI","FR","GD","GT","GR","HK","HN","HU","IE","IS","IT","JM","KY","LI","LT","LV","LU","MC","MT","MX","NI","NO","NZ","PE","PT","PY","SG","TR","UY","ES","SE","GB","US","UM","ZA","PL","SK","HR","SI","GR","TW"],"block":[]},"zebpay":{"allow":["IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"off","zebpay":""},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-01-25T04:00:00Z","vbatExpired":false}
2023-10-04 13:45:15.632 12738-12738/? V/chromium: [VERBOSE1:api_parameters.cc(88)] Params timer set for 10929 s

2. Payout processing banner

brave://rewards ads section

Screenshot_20231030-134905_Brave - Beta

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
---
   [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.170927,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["US","CA","SG","GB"],"block":[]},"uphold":{"allow":["AD","AU","AR","AT","BE","BR","BS","BZ","CA","CH","CL","CO","CR","CY","CZ","DK","EC","EE","FI","FR","GD","GT","GR","HK","HN","HU","IE","IS","IT","JM","KY","LI","LT","LV","LU","MC","MT","MX","NI","NO","NZ","PE","PT","PY","SG","TR","UY","ES","SE","GB","US","UM","ZA","PL","SK","HR","SI","GR","TW"],"block":[]},"zebpay":{"allow":["IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"off","zebpay":"processing"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-01-25T04:00:00Z","vbatExpired":false}
2023-10-30 13:48:54.700 18042-18042/? V/chromium: [VERBOSE1:api_parameters.cc(88)] Params timer set for 11380 s

3. Payout complete banner

brave://rewards ads section
Screenshot_20231028-135107_Brave - Beta

[ REQUEST ]
> URL: https://api.rewards.bravesoftware.com/v1/parameters
> Method: GET
---
2023-10-28 13:50:59.391 23496-23496/? V/chromium: [VERBOSE6:logging_util.cc(120)] 
    [ RESPONSE - OnResponse ]
    > Url: https://api.rewards.bravesoftware.com/v1/parameters
    > Result: Success
    > HTTP Code: 200
    > Body: {"autocontribute":{"choices":[1,2,3,5,7,10,20],"defaultChoice":1},"batRate":0.170927,"custodianRegions":{"bitflyer":{"allow":["JP"],"block":[]},"gemini":{"allow":["US","CA","SG","GB"],"block":[]},"uphold":{"allow":["AD","AU","AR","AT","BE","BR","BS","BZ","CA","CH","CL","CO","CR","CY","CZ","DK","EC","EE","FI","FR","GD","GT","GR","HK","HN","HU","IE","IS","IT","JM","KY","LI","LT","LV","LU","MC","MT","MX","NI","NO","NZ","PE","PT","PY","SG","TR","UY","ES","SE","GB","US","UM","ZA","PL","SK","HR","SI","GR","TW"],"block":[]},"zebpay":{"allow":["IN"],"block":[]}},"payoutStatus":{"bitflyer":"complete","gemini":"complete","payoutDate":"","unverified":"complete","uphold":"off","zebpay":"complete"},"tips":{"defaultMonthlyChoices":[1.25,5,10.5],"defaultTipChoices":[1.25,5,10.5]},"vbatDeadline":"2023-01-25T04:00:00Z","vbatExpired":false}

Case 6: Australia ZebPay account_PASSED
  1. Clean profile
  2. Close/relaunch to pull griffin
  3. Enable rewards, select India
  4. Connect Australia account from spreadsheet
  5. Note, I had to select "Login" after entering my PIN twice
  6. Get 404 page from ZebPay.
  7. Confirmed unable to connect non-India ZebPay account to Rewards.

Screenshot_20230904-141812_Brave - Beta

@GeetaSarvadnya GeetaSarvadnya added QA/In-Progress Indicates that QA is currently in progress for that particular issue QA Pass - Android ARM and removed QA/In-Progress Indicates that QA is currently in progress for that particular issue labels Sep 4, 2023
@kjozwiak kjozwiak removed the Android 8 - Test/Verification Checking on an older Android device to make sure everything is working as expected label Sep 12, 2023
@kjozwiak
Copy link
Member

Verification PASSED on Samsung Galaxy Tab S8 Ultra running Android 14 using the following build(s):

Brave | 1.58.125 Chromium: 117.0.5938.62 (Official Build) (64-bit)
--- | ---
Revision | 8ed90c22c7a876855ef8cb4c2872dd7b69beb594
OS | Android 13; Build/TP1A.220624.014; 33; REL

As discussed with @LaurenWags, quickly checked the area's where we're showing logo's/UI and ensured that everything appears correctly on a Tablet as we've historically had issues with UI/UX on Tablet that worked fine on mobile devices.

Example Example Example Example Example
Screenshot_20230914_214129_Brave Screenshot_20230914_214322_Brave Screenshot_20230914_214551_Brave Screenshot_20230914_214741_Brave Screenshot_20230914_214747_Brave

@SibahleRwaqa
Copy link

I had a similar bad experience with Zebpay. After responding to the ad in December 2023 I was contacted by zebpay who invited me to trade. I visited their website and was told I could make R30,000 to R50,000 pm on their platform. They told me I needed to add more funds. I began trading, always under the advice of a “success manager.” Three months later I have lost nearly R800,000 but I got my money back with the help of a good expert. BanninkSolutions is the licensed expert I use. Just research the name. You’d find the necessary details to work with a correspondence to set up an appointment.. You can also message them at telegram: @banninksolutions and also email: Banninksolutions @proton.me .
It's not a nice idea for anyone to trust this platform, they only extort from your account and disable everything when you request for withdrawal. I was only lucky enough to get it resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

6 participants