[Discussion] Google Pay Magisk Discussion Thread

Search This thread

73sydney

Account currently disabled
That's what happens when you rush to publish an app 😂
I fixed it but it will take some time for Google to approve this groundbreaking change

I had too much respect for you to do some sort of "ermahgerd you have so much intergrity" meme thing

also im the king of typos due to nerve issues in my left arm meaning what my brain sends to hands isnt what always appears onscreen :)
 
  • Wow
Reactions: 1nikolas

1nikolas

Senior Member
Jul 28, 2015
202
131
Heraklion, Greece
Thanks Google! So apparently I can't put Google's docs links on my description but I can put random GitHub links.. And this took like 4 days

Screenshot_20220805-101045.jpg
 

loshabih

Senior Member
Jul 2, 2012
120
11
The author of the Play Integrity API test has answered about his app right the last post before your

Follow his posts back, read and you will find the link to his Early (Beta) version of the app on Playstore
Thanks for your reply, I'm not asking about API checker, I'm asking about how to run test from GPay or wallet on the post i replied to.
 

patrickneil

Senior Member
Jun 18, 2011
75
27
Samsung Galaxy S10e
Asus Zenfone 9
Hello helpful folks, I've been stumped by a very specific issue since Google made this recent switch to Play Integrity API. One specific credit card still does not work at one specific retailer. It worked before the switch, when I seem to have been one of the first here to notice their contactless pay failing on June 20. Like others, I got things working again with Props Config and then USNF 2.3.1-mod, except at this one retailer with this one card. The card works in Google Pay at every other retailer I've tried, and I can use other cards in Google Pay at this retailer. And I can tap the physical card at this retailer and that works. I've tried dozens of terminals all with the same result. I've removed the card completely from my Google account and re-added it twice, which gets me a new virtual account number each time, and that's all that the retailer should be seeing, so I don't know how this retailer remembers to reject it, even if they saved the old virtual number in some database of cards on rooted phones to reject.

This is very frustrating because the retailer is the public transit system in my city, and holding up the line while I fish into my wallet or try to change some setting on my phone is unappreciated here. Also because this is the card that I get 5% back for using there plus an added discount for using it mulitple times in a week. I know how petty this is, that I can either use a different card on Google Pay or just not use Google Pay here, so I'm mostly posting in case someone else is running into a similarly specific issue now or at some point later and has ideas.

If it matters, I'm on a Samsung S10e, Android 12, passing SN, Play Store Certified, all the checkmarks in Google Pay's contactless settings page plus Device Integrity and Basic Integrity on 1nikolas's checker. Thanks!
 

Attachments

  • Screenshot_20220802-214054_Yet Another SafetyNet Attestation Checker.jpg
    Screenshot_20220802-214054_Yet Another SafetyNet Attestation Checker.jpg
    89.8 KB · Views: 93
  • Screenshot_20220802-213952_Google Play services.jpg
    Screenshot_20220802-213952_Google Play services.jpg
    237.3 KB · Views: 89
  • Screenshot_20220802-214026_Play Intergrity API Checker.jpg
    Screenshot_20220802-214026_Play Intergrity API Checker.jpg
    91.8 KB · Views: 89

Fishawy

Senior Member
Mar 26, 2010
3,718
1,312
Melbourne
Google Pixel 7 Pro
Just an FYI, Google Pay - now Google Wallet - gave me the "Your device doesn't meet the security standards" warning when I attempted to activate the "https filtering" option in the App Management section of AdGuard. Disabling it allows the app to run normally and restores the ability to add cards again.

Thought I might share this here - as one of the million reasons why - if anyone comes across similar issues.
 

vMAC

Senior Member
Oct 21, 2007
388
62
Thanks👍

Xiaomi Mi 11 Lite 5G NE, stock A11, rooted (ofc, Bootloader unlocked), USNF 2.3.1-mod

IMO, as expected, cannot pass MEETS_STRONG_INTEGRITY since USNF spoofs to Basic attestation to pass CTS - Hardware Backed would require TEE that cannot be spoofed)

Is there a fix for this? I have Pixel 6 Pro and I have the same things checked. Can't pass MEETS_STRONG_INTEGRITY.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 63
    The new Google Play services update caused this.

    Temporary workaround:

    1. Disable Google Pay/Find My Device as Device Administrators in Settings > Security & location > Device Administrators.

    2. Search "Google Play services" in the Settings search bar.

    3. Press the three dots and press "Uninstall previous updates".

    4. Download this update - https://www.apkmirror.com/apk/google-inc/google-play-services/google-play-services-14-7-99-release/
    Pick your needed edition (arm or arm64, etc.), download it and install it.

    5. Disable Background data access for Google Play Services and Google Play in their respective App Info pages.

    6. Download Google Pay from the Play Store.

    7. Set up your cards. Enjoy!

    Never EVER update Google Play services manually, until a Magisk update is available that bypasses the upgraded SafetyNet. Note that Google Play services is responsible for adding/verifying the card, not the Google Pay app! Hence why there seems to be an overlay when adding a card/verifying an existing one.

    Tested Google Pay versions:

    2.79.x-2.83.235070858 - working

    Tested Google Play services versions:

    14.7.99, 16.0.86 - working with Magisk 18.1

    14.8.49-16.x- working with Magisk 18.2 Canary
    34
    This thread is inspired by the PoGo Magisk discussion thread. It's meant to keep the clutter of "Google Pay doesn't work" posts out of the main Magisk threads.

    Please use this to discuss issues with Google Pay and possible solutions.


    There's a working solution here:
    https://xdaforums.com/t/magisk-module-universal-safetynet-fix-2-3-1.4217823/post-87198517


    For general tips on first getting SafetyNet to pass fully, check here:
    https://www.didgeridoohan.com/magisk/MagiskHide#hn_SafetyNet
    29
    Ok. I tried this and it worked on gms 17.1.22, allowing one to add cards and pay in store. Warning YMMV, but this is the process I did to get this working. One caveat is that Google pay does not register the "recent transactions" on the Google pay app. Another caveat is that I suspect users will have to reverse some step if gms is updated and then reapply, but this still needs to be confirmed

    Without further ado, here is my process:

    1) download a SQL database editor. I used

    https://play.google.com/store/apps/details?id=com.tomminosoftware.sqliteeditor&hl=en_US

    2) download a terminal emulator program. I used terminus but any terminal emulator should work.

    3) make sure Google pay is forced close, if it is open.

    4) open SQL editor. Navigate to /data/data/com.google.android.gms/databases

    5) open dg.db

    6) change any value that lists "attest" in the name (first column) to 0 in the third column. Mine was showing a value of 10 in the third column for each of these values. (Column c for sqlite databse editor I used)

    7) open the terminal emulator.

    8) get root access (su)

    9) cd /data/data/com.google.android.gms/databases

    10) type: chmod 440 dg.db
    This makes dg.db read only (for owner and group, and no access for world.)

    11) reboot

    I suspect when gms is updated, one will have to go back to steps 10 and 11 and chmod 660 dg.db to allow new keys to be written to the database, and then go back and redo all these steps to reset the attestation values back to 0.

    If there is still an error, verify in sqlite database editor that all attest release keys values in dg.db are 0 when dg.db is read only (owner and group).

    Again, YMMV but this worked for me, so I give it back to the community now.

    Edit: recent activities did show up soon afterwards for the payment method.

    Cheers,
    B.D.
    28
    The app is finally public! (thanks Google for taking a week to approve this 🤦)
    I made it beta testing since I haven't tested it on much devices. If you find any problem, please open an issue here and I'll take a look at them once I return from vacation.


    Source code:

    If you are curious, the possible outcomes I've seen are:
    • 3 ticks (unrooted samsung)
    • tick/tick/x (unrooted redmi note 4 with unlocked bootloader)
    • x/tick/x (my rooted a11 op7t)
    23
    UPDATE 1/8/2022
    This app is officially discontinued in favor of a new app I published on Play Store. Read more here:

    ====================
    ORIGINAL MESSAGE:

    I just made this simple app which tells you if your device passes the new Play Integrity API (which is presumably what Google Pay and Play Store use to detect root now). If you don't trust random apks from the internet feel free not to use this. I'll upload the source code at a later time since it's very junk now (probably on github).
    You can use it to play around and see if you manage to get it to pass without having to mess with Google Pay. There are screenshots of the 2 possible outputs (pass screenshot is from an online emulator).
    Also I didn't test it much since I don't have many devices that can pass. Hope it works fine 🤞

    Hope this helps someone find a solution :)

    EDIT:
    Here is a quote from Google of what exactly "Does not meet device integrity" mean:
    The app is running on a device that has signs of attack (such as API hooking) or system compromise (such as being rooted), or the app is not running on a physical device (such as an emulator that does not pass Google Play integrity checks).
    ...
    If you are having problems with your testing device meeting device integrity, make sure the factory ROM is installed (for example, by resetting the device) and that the bootloader is locked.