• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

Working: Magisk with Google Pay as of gms 17.1.22 on Pie

Search This thread

jaccydan

Member
Jun 15, 2021
14
0
I'm not sure how to find this setting:

3. /data/data/com.google.android.gms/databases/dg.db permissions set to 440

Samsung s20 Ultra SM-G9880 Snapdragon. I am confirmed rooted in root checker. I have Magisk installed.
Getting that G-Pay message that "Can't set up payment card because phone is altered or rooted"
I have hidden G-Pay and all Google play services in Magisk.

I am using a re-flashed stock ROM, not a custom ROM, because I reversed a failed custom ROM attempt/bricked/bootloop situation. Phone is working fine except for this issue.

Any ideas how I can get G-Pay to work?

Thanks.
 
Last edited:

73sydney

Senior Member
Jul 21, 2018
1,680
1,371
Sydney
Google Pixel 2 XL
I'm not sure how to find this setting:



Samsung s20 Ultra SM-G9880 Snapdragon. I am confirmed rooted in root checker. I have Magisk installed.
Getting that G-Pay message that "Can't set up payment card because phone is altered or rooted"
I have hidden G-Pay and all Google play services in Magisk.

I am using a re-flashed stock ROM, not a custom ROM, because I reversed a failed custom ROM attempt/bricked/bootloop situation. Phone is working fine except for this issue.

Any ideas how I can get G-Pay to work?

Thanks.

For many people the requirement to fiddle with the database hasnt been needed in months, i dont even use my own module (which does the same thing) and havent for many months

I also do not have Google Pay hidden in MagiskHide....

Go back a page and try the basics: https://forum.xda-developers.com/t/...s-of-gms-17-1-22-on-pie.3929950/post-84654929
 

jaccydan

Member
Jun 15, 2021
14
0
I'm not sure how to find this setting:



Samsung s20 Ultra SM-G9880 Snapdragon. I am confirmed rooted in root checker. I have Magisk installed.
Getting that G-Pay message that "Can't set up payment card because phone is altered or rooted"
I have hidden G-Pay and all Google play services in Magisk.

I am using a re-flashed stock ROM, not a custom ROM, because I reversed a failed custom ROM attempt/bricked/bootloop situation. Phone is working fine except for this issue.

Any ideas how I can get G-Pay to work?

Thanks.

I now have this error message in G-Pay after I try adding payment card:

G-Pay Error.jpg



Going to try the methods set out in this feature below, because it seems to be down to whether Safety Net passes or not, and atm mine is failing:

 
Last edited:

73sydney

Senior Member
Jul 21, 2018
1,680
1,371
Sydney
Google Pixel 2 XL
I now have this error message in G-Pay after I try adding payment card:

View attachment 5341443


Going to try the methods set out in this feature below, because it seems to be down to whether Safety Net passes or not, and atm mine is failing:


Seen other people have this in the past, and had this myself a few weeks ago

It can happen randomly, especially if like me youre adding your card over and over as youre testing ROM's (which i do a lot)...i had to contact Google Pay and get them to fix it...48 hour turn around

This be the link i think: https://support.google.com/pay/answer/9080767?hl=en

Click Contact Us on the lower section of page

Gentle mention that if you had searched the thread it was already covered here: https://forum.xda-developers.com/t/...agisk-discussion-thread.3906703/post-80895607

Search is there for things like this :)

p.s. Did you also go back and check the basics link i referred to last post...wont solve you current problem, but you still need to check it out
 
Last edited:

jaccydan

Member
Jun 15, 2021
14
0
I am looking for expert advice from someone who has done this before..

I'm confused. I have Magisk on my phone. I simply wish to 'upgrade' to the latest Canary Build.

I saw this guide:


It says Pre-Requisite is to download the latest Magisk Manager APK and Magisk Installer ZIP. Do I swap those out for the lastest downloaded Canary files? Or do I choose 'beta' in the 'Update Channel' in order to install (beta) Canary build?:

Magisk channel.png



And where do I put the latest Magisk Manager APK and Magisk Installer ZIP on my phone? - (I normally stick my 'flash files' on my SD card).


Btw, I don't fancy uninstalling my current Magisk and re-flashing Canary ZIP within Odin.

(Just to let you guys know - my Hide Magisk Manager option is greyed out for some reason which isn't going to help with me trying to pass cts SafetyNet- Hardware attestation in order for G-Pay to work):

SafetyNet Attesation failed.jpg

Thanks in advance..
 
Last edited:

73sydney

Senior Member
Jul 21, 2018
1,680
1,371
Sydney
Google Pixel 2 XL
I am looking for expert advice from someone who has done this before..

I'm confused. I have Magisk on my phone. I simply wish to 'upgrade' to the latest Canary Build.

I saw this guide:


It says Pre-Requisite is to download the latest Magisk Manager APK and Magisk Installer ZIP. Do I swap those out for the lastest downloaded Canary files? Or do I choose 'beta' in the 'Update Channel' in order to install (beta) Canary build?:

View attachment 5341985


And where do I put the latest Magisk Manager APK and Magisk Installer ZIP on my phone? - (I normally stick my 'flash files' on my SD card).


Btw, I don't fancy uninstalling my current Magisk and re-flashing Canary ZIP within Odin.

(Just to let you guys know - my Hide Magisk Manager option is greyed out for some reason which isn't going to help with me trying to pass cts SafetyNet- Hardware attestation in order for G-Pay to work):

Thanks in advance..

You would have more luck asking in the topic where this is more appropriate, which is Magisk General Support/Discussion

Ive never swapped channels, so cant help you on this one.

Also just be aware that theres no new Magisk builds being made on the official repos, canary or otherwise as the original developer has ceased developing Magisk since he left to join Google

Some of us have moved to the Alpha builds from vvb2060, which is possibly more recent, and has more cutting edge commits, and which is located here: https://github.com/vvb2060/magisk_files/tree/alpha the file at that location if you wish to go this route is app-release.apk

But your question is best handled in the General thread....

You might want to mention your brand/model of device as well...and whether your bootloader is unlocked etc...basic info
 

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
14,669
33,052
Halifax
GT-i9250
Nexus 7 (2013)
Also just be aware that theres no new Magisk builds being made on the official repos, canary or otherwise as the original developer has ceased developing Magisk since he left to join Google
Incorrect. He simply hasn't resumed development yet since joining Google. 😉
 

jaccydan

Member
Jun 15, 2021
14
0
@73sydney Have you got out the bed the wrong side? What's with all the attitude? i am leading on from my original post on this thread so it is organic - I don't think I'm on the wrong thread - this is G-Pay related and not going on about the weather!

I have already mentioned my setup if you'd actually care to look further up the thread. I will re-post it for you:

"Samsung s20 Ultra SM-G9880 Snapdragon. I am confirmed rooted in root checker. I have Magisk installed.."


My bootloader is therefore obviously unlocked.


I am not interested in Alpha builds from vvb2060 - i am only interested in what I am trying to do with Magisk which is still available. I am only looking for constructive answers to my question, not clever chastisement.

(If people can't help why do they feel the need to say anything?! - Haven't they got anything else to do with their time?) :rolleyes:

@73sydney Stop throwing out misinformation; trying to be clever; and taking the piss!
 
Last edited:

73sydney

Senior Member
Jul 21, 2018
1,680
1,371
Sydney
Google Pixel 2 XL
@73sydney Have you got out the bed the wrong side? What's with all the attitude? i am leading on from my original post on this thread so it is organic - I don't think I'm on the wrong thread - this is G-Pay related and not going on about the weather!

I have already mentioned my setup if you'd actually care to look further up the thread. I will re-post it for you:

"Samsung s20 Ultra SM-G9880 Snapdragon. I am confirmed rooted in root checker. I have Magisk installed.."


My bootloader is therefore obviously unlocked.


I am not interested in Alpha builds from vvb2060 - i am only interested in what I am trying to do with Magisk which is still available. I am only looking for constructive answers to my question, not clever chastisement.

(If people can't help why do they feel the need to say anything?! - Haven't they got anything else to do with their time?) :rolleyes:

@73sydney Stop throwing out misinformation; trying to be clever; and taking the piss!

Please, lose your attitude, i didnt have any. Youre the only one who seems to have gotten out of the "wrong side of bed". I correctly pointed you to the Magisk main thread, because your question is exactly better dealt with there, and off topic here...

Your question is about changing Magisk channels, not Google Pay, hence off topic here

None of what i said was misinformation....

I do not appreciate personal attacks for doing the correct thing, thank you

The bolding of words is also completely unnecessary, and aggressive

Any further aggression will be reported
 
Last edited:

pndwal

Senior Member
Your word choice of "ceased" carried a certain finality to its connotation, so I'm sure you understand my want to reassure. 😛
And a noble want it is!

I'm assuming colaborators (especially contributors) are in loops not traversed by us mere mortals...

After 34 days with no word on such development, your reassurance is certainly appreciated, if nebulous...

Some further clarity may actually become imperative to dispell any perception that development has in fact ceased, at least on the part of many; we simply don't have (active) sources to check...

I do understand that there are likely (certainly) loyalties involved that necessarily have colaborators between a rock and a hard place in this matter, so I'm not expecting such clarification any time soon. - But while the speculation has been effectively subdued, it's clear the pessimism persists nowhere more than on XDA.

Meantime, Ours is not to reason why...

And sorry for prolonging the OT here. 😬 PW
 
Last edited:

jaccydan

Member
Jun 15, 2021
14
0
I am looking for expert advice from someone who has done this before..

I'm confused. I have Magisk on my phone. I simply wish to 'upgrade' to the latest Canary Build.

I saw this guide:


It says Pre-Requisite is to download the latest Magisk Manager APK and Magisk Installer ZIP. Do I swap those out for the lastest downloaded Canary files? Or do I choose 'beta' in the 'Update Channel' in order to install (beta) Canary build?:

View attachment 5341985


And where do I put the latest Magisk Manager APK and Magisk Installer ZIP on my phone? - (I normally stick my 'flash files' on my SD card).


Btw, I don't fancy uninstalling my current Magisk and re-flashing Canary ZIP within Odin.

(Just to let you guys know - my Hide Magisk Manager option is greyed out for some reason which isn't going to help with me trying to pass cts SafetyNet- Hardware attestation in order for G-Pay to work):

Thanks in advance..


Fixed this Google Pay issue.

In Google Play Store > Settings my Play Protection Certification was showing 'Device Not Certified', and in Magisk SafetyNet Check it was showing 'cts SafetyNet- Hardware attestation FAILED' in red (see my last post above).

Solution:

1. Ensure you install the lastest Magisk Canary APK build (https://www.androidsage.com/2020/04...ld-to-root-android-11-and-magisk-manager-apk/) = app-debug.apk; then in Magisk go to Settings > App > click 'Update Channel' then choose Canary. Reboot device.

2. Enable MagiskHide in Magisk settings and ensure all Google Play Services are individually hidden. Also hide Google Pay app there too.


3. In Magisk install modules: 1. Busybox for Android NDK & 2. MagiskHide Props Config. Then Reboot.


see:


4. From Google Play install Termux app, and run it for your particular brand of phone as also shown in the above youtube video.

5. Then manually download and (manually install in Magisk) the following software: safetynet-fix-v1.1.1.zip from:


see:

Reboot Device.

Et Voila - SafetyNet will PASS and turn blue in Magisk.
Also Google Play Store will report in Settings > Play Protection Certification - 'Device Certified'


I have successfully now added my bank card to G-Pay and linked my TicWatch and added G-Pay to that also.
I have just tested it on a local shop pay terminal and it all worked no problem.

Hope this helps someone with the same Google Pay issue.

I am running a Samsung s20 Ultra SM-G9880 Snapdragon Hong Kong variant. This solution could work for other phone makes and models if you make the appropriate settings changes and download the appropriate software for your device following my above methods - but don't quote me on that.
 
Last edited:

pndwal

Senior Member
Just a (few) head's-up(s) as we wouldn't want to mislead others (even though perhaps OT here as this was really a Magisk SafetyNet-passing issue):
Fixed this Google Pay issue.

In Google Play Store > Settings my Play Protection Certification was showing 'Device Not Certified', and in Magisk SafetyNet Check it was showing 'cts SafetyNet- Hardware attestation FAILED' in red (see my last post above).

Solution:

1. Ensure you install the lastest Magisk Canary APK build
Works fine on latest public (Stable/Beta) build also as at this point it is essentially identical to debug (Canary), aside from verbose logging.
(https://www.androidsage.com/2020/04...ld-to-root-android-11-and-magisk-manager-apk/) = app-debug.apk; then in Magisk go to Settings > App > click 'Update Channel' then choose Canary. Reboot device.
Please don't list 3rd party links / sources for official Magisk here as these have often been hosted with malware included (even on PlayStore!), and can be a real hazard / security risk.

If you do a little searching official threads and site pages, especially OPs, you'll find all you need.

Eg, magisk-general-support-discussion thread OP links Announcement Thread for "All information". OP there links Magisk's official GitHub Page "For all up-to-date info and links"... And you already have the link to this from any Magisk App version you have installed; Home page, GitHub 'OctoCat' symbol.

There, under Downloads, we read:
"Github is the only source where you can get official Magisk information and downloads."

Directly under this are big official links to latest public stable/beta and debug canary (app-debug.apk) builds.
2. Enable MagiskHide in Magisk settings and ensure all Google Play Services are individually hidden. Also hide Google Pay app there too.
Of Google Play Services, only standard com.google.android.gms.unstable SafetyNet process should normally be hidden.
3. In Magisk install modules: 1. Busybox for Android NDK & 2. MagiskHide Props Config. Then Reboot.

4. From Google Play install Termux app, and run it for your particular brand of phone as also shown in the above youtube video.
MHPC module / fingerprint spoofing (configured in terminal emulator UI) is generally only needed for custom ROMs without built-in spoofing, and non Google-certified stock ROMs (China region, etc).

As you say you're now on stock I doubt you need this unless Hong Kong variant is non G-certified, but having bootloader unlocked you can always use global / different region G-certified ROMs.
5. Then manually download and (manually install in Magisk) the following software: safetynet-fix-v1.1.1.zip from:

https://github.com/kdrag0n/safetynet-fix/releases/v1.1.1

Reboot Device.

Et Voila - SafetyNet will PASS and turn blue in Magisk.
Also Google Play Store will report in Settings > Play Protection Certification - 'Device Certified'

I have successfully now added my bank card to G-Pay and linked my TicWatch and added G-Pay to that also.
I have just tested it on a local shop pay terminal and it all worked no problem.

Hope this helps someone with the same Google Pay issue.

I am running a Samsung s20 Ultra SM-G9880
While USNF module may work on your Sammy device, it is probably not the best available solution for 'heavily skinned' OS's like One UI as it will most likely break biometric authentication or other functions, and destabilize system because customised Keystore has been replaced with AOSP one.

A newer (experimental) fix from the same dev (shims the keystore service instead of replacing it) is now working for Sammy users (confirmed to fix S20 issues) and others with:
- some 32-bit ARM devices
- Heavy OEM skins
- Samsung One UI
- MIUI (needed for some variants only)
- Broken biometric authentication in apps
- Unstable system (i.e. rebooting and/or crashing)

Link (read OP here):
https://github.com/kdrag0n/safetynet-fix/pull/13#issuecomment-767863635

Nb. Additional working module variations for several specific devices are found in the closed issues mentioned / linked from PR thread above.
Snapdragon Hong Kong variant. This solution could work for other phone makes and models if you make the appropriate settings changes and download the appropriate software for your device following my above methods - but don't quote me on that.
Hope these clarifications help, and possibly improve matters. 🙂 PW
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 242
    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 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 database 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 have Magisk 19.1 with GMS and Google Pay hidden. Also, I am using a custom kernel but others have reported using a stock kernel with this working.

    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: people should know this by now, but GMS updates have not required any reapplication of this process.

    Edit2: After much time, it was determined that all one has to do is apply the chmod 440 to dg.db before launching google pay for the first time after clearing gms data. No need to change any keys in the dg.db file. If it does not work, you may have to clear gms (Google play services) before applying chmod.

    Cheers,
    B.D.
    114
    Magisk Method Gpay SQLite Fix.....

    This post best viewed in a browser - theres lots of formatting which is lost (and the hide tags dont work) when viewed via XDA App/Labs - (thanks to @pndwal for making me aware of this)

    Stats as of 18/8/2020 - 23,000+ downloads....um thats a lot..only once did i wish id charged $0.50 per download

    General Notice:

    14/03/2021


    You may not need to use this module - read below!

    Back and able to test again, and able to confirm the experience of some others, who have reported not needing the module recently to have Google Pay working. No one is quite sure why this is, or how long it will last. No one will be more happy than i if we can retire the module. For those wanting to try the minimal non-module method, ive added the steps i took below:
    1. Open Magisk Manager and enable MagiskHide (Settings -> toggle MagiskHide on)
    2. Toggle Airplane mode on
    3. Clear data for Google Play Store and Google Play Service (Settings > All Apps (toggle Show System) the search for and clear data for these packages)
    4. Reboot
    5. Toggle Airplane mode off
    6. Check Google Play Store is certified (Google Play -> Settings, scroll to bottom)
    7. Open Magisk Manager - check Safetynet passes (If not try steps under Pre Installation Checks) - Note: Make sure you are using at least Magisk v23 for the internal SafteyNetCheck OR use this 3rd party app to check for SafetyNet: https://play.google.com/store/apps/details?id=com.scottyab.safetynet.sample
    8. Add card and test
    If this fails for you, please continue on below for further steps in Pre Installation Checks to try passing safetynet (adding fingerprints), or to try the module....

    9/3/2021

    Good news, switched over to a bank which does not only Google Pay, buy Samsung Pay (which is handy as i have had an Active 2 fior a while now and Samsugn Pay is relatively easy to get working on a rooted phone), so i'll soon be back using my own module and be able to better test issues if and when they crop up.

    29/12/2020

    I have had to change cards/banks (due to the previous ones ATM eating my card, and not being able to get money out to eat/pay rent/buy food etc without the card - and my only option to travel into a head office ATM in the centre of COVID every time i need to get money out, no thanks) to my previous bank which doesnt do Google Pay (which is why i moved to the other bank). So for the forseeable future i will NOT be able to test Google Pay payments.

    19/08/2020

    Major update to the installation process, mainly adding a pre-installation checklist....hopefully doing some basic tests (CTS pass/fail and basic/hardware attestation) before trying to install the module. Its high time things were done this way and may head off a lot less posts, with repeating information. So as opposed to people just trying the module and finding out afterwards that they werent passing CTS etc, now people will be encouraged to pass CTS/attestation first, and given the info (hopefully correct and understandable) to troubleshoot/resolve that, before trying my module.

    At time of writing there are two hacks to bypass googles crackdown on rooted devices and make CTS pass (primarily bypassed by setting a valid fingerprint (usually most useful on custom ROMS)), and the other hardware backed attestation, which can be forced to basic. Both workarounds may become invalid at any time by google.

    There are no updates to the module itself at this time, all changes are only for new installs, so if you have the module installed and working, then you are unaffected


    Changelog:

    GPay SQLite Fix:

    v2.4 9/3/2021


    Changes to service.sh:
    • Fixed broken/mangled pipes that left the log file blank - dont ask me why
    If you need logging (only useful if youre having an issue and want to troubleshoot) you can choose to install the new zip, or extract the service.sh from the zip and overwrite the one in /data/adb/modules/73sydney.gpay

    v2.3 - 20/12/2020


    Changes to service.sh:
    • setting variable runsql=1, as noted by @osm0sis it was missing and script expected it to be set
    I had fixed this and just reuploaded the v2.2 zip file, lazy at the time i didnt increment the version or document it here or on github. Fixed now.

    v2.2 - 28/03/2020

    All changes due to MMT-EX upgrade to v1.5
    • changes to /common/functions.sh
    • /common/addon/Volume-Key-Selector/main.sh changed and renamed to /common/addon/Volume-Key-Selector/install.sh
    Upgrade to this version is not necessary, changes only affect module install...


    SQLite3 Universal Binaries:

    v1.1 - 1/10/2020


    - Added

    mkdir -p $MODPATH/system/xbin

    In response to report from XDA user @djjohnnyblaze that the sqlite binary wasnt getting copied on his device under Android 11

    Recommended especially for those folks who have recently tried installing the Gpay SQLite Fix and find it reports it doesnt find the sqlite binary, that you thought was just installed by the SQLite3 Universal Binaries module!

    Current users can also check if theyre unaffected by checking the contents of the /cache/payfixfirstrun.log file, if the sqlite binary hasnt been found by the module, it will show up here as:

    SQLite3 binary not found, please install a SQLite3 binary, without this the fix *may* not work
    I provide an SQLite3 Universal Binary Magisk Module, and links to SQLite3 binaries for other architectures
    at https://forum.xda-developers.com/showpost.php?p=79643248&postcount=176


    Requirements:

    Magisk:

    Magisk Manager version 23 or above
    is highly desirable as the recent SafetyNet check function issue is fixed in v23 and above, especially for more recent devices. To avoid possible stability issues on some devices, It is recommended, at least for now, that you run stable Magisk (unless on a very recent device where ONLY a Canary version will run, or a Canary version includes a fix for a specific issue that affects you), but use Magisk Manager (Canary version).

    If your magisk install process usually involves installing Magisk Manager, and then install Magisk via it, its suggested that once you install Magisk Manager (Canary version), that you change the Update Channel to Stable (unless on a very recent device, or a canary version includes a fix for a specific issue that affects you):

    From Magisk Manager (Canary version):
    1. Click the settings icon (gear in top right)
    2. Scroll to Manager section
    3. Tap Update Channel, and set to Stable

    An SQLite3 binary:
    • Ive just added an SQLite3 Universal Binaries module to my github and download links below. Also the previous module for arm-v7 chipset only one will remain for now as an option for arm-v7 only devices.
    • Other SQLite3 binary choices for other chipsets *may* be found on Magisk Repo
    • For arm64-v8a (aarch64) users, an SQLite binary is available from the Magisk Repo: SQLite for ARM aarch64 devices
    • For all/other architectures, theres also some provided here (untested by me): https://forum.xda-developers.com/general/general/binary-sqlite3-binary-android-pie-t3721530
    • Other compatible SQLite3 binaries tested and reported working are provided with termux and titanium backup - users of these apps do not require a separate SQLite3 binary....

    And quite (very) possibly one or both of the following...

    MagiskHide Props Config - MagiskHide Props Config allows most devices to take advantage of a hack to bypass googles crackdown on rooted devices. Excellent work by @Didgeridoohan.

    This can potentially "fix" CTS passing - sometimes in conjunction with the Universal SafetyNet Fix below
    • Fingerprint: by spoofing a certified device by adding a valid fingerprint in props (most useful for custom ROMs, or stock ROMs for uncertified devices - Chinese ROMs etc)
    MagiskHide Props Config is available from the official Magisk Repo. The Pre-Installation Checklist below will help you identify if you need to install and configure it.

    Universal SafetyNet Fix - Universal SafetyNet Fix by @kdrag0n is a "universal fix for SafetyNet on devices with hardware attestation and unlocked bootloaders. It defeats both hardware attestation and the new SafetyNet CTS profile updates released on January 12, 2021. The only requirement is that you can pass basic attestation, which requires a valid combination of device and model names, build fingerprints, and security patch levels."

    In short its now the preferred method of enabling users with hardware attestation to pass basic attesation, which MagiskHide Props Config offered before recent Google changes

    Not currently on the repo, but available via github, via link in OP of linked thread.

    Please note: The Uninversal Safetynet Fix is now soemtimes integrated into ROM's, please check your ROM doesnt already include it before installing it.


    Pre Installation Checks (To proactively head off the common reasons the module will fail)

    Check For Identified Conflicting Magisk Modules: (tracked by @pndwal)
    • SafetyPatch
    • FDE.AI
    These modules should be removed prior to trying this module. Failure to remove = no support.


    Check For EdXposed: (Steps/tips courtesy of @kevinwu128, via @pndwal)

    Method:

    In EdXposed Installer

    1. Enable Black/White list in EdXp Settings
    2. Blacklist Google Play Services in Black/White list
    3. Reboot
    4. Check SafetyNet status in Magisk Manager

    In EdXposed Manager

    1. Enable App List Mode in Settings
    2. Blacklist Google Play Services in Application List
    3. Reboot
    4. Check SafetyNet status in Magisk Manager

    If the above fails search the thread with the keyword "edXposed" for further tips


    Check for ctsProfile (pass/fail) and/or evalType (basic/hardware) in Magisk Manager:

    Opem Magisk Manager and tap check SafetyNet to do an attestation test, which apart from the usual basicIntegrity and ctsProfile tests, now provides a test showing how the attestation is generated/processed, evalType is either BASIC or Hardware

    Please note that Google could change this at any time and force all devices to use hardware attestation, though its unlikely that they care about your Galaxy S4 that youre stubbornly hanging onto.......

    Method:

    To check open Magisk Manager and tap Check SafetyNet mid way down the opening screen

    Based on the results, choose which path below to follow:

    • Result: ctsProfile of fail and evalType of Basic

      Solution: Install a FingerPrint via MagiskHide Props Config (thanks be to @Didgeridoohan)

      These are the simplified steps, for more info on fingerprints and patch levels read the doc or visit the MagiskHide Props Config thread

      Method To Install A Fingerprint:
      1. Install MagiskHide Props Config (from magisk repo)
      2. Check that MagiskHide is enabled in Magisk Manager:
        • Click the settings icon (gear in top right)
        • Scroll to Magisk section
        • Toggle MagiskHide on
      3. Reboot
      4. Open a terminal and type su (grant permissions when prompted)
      5. Type props
      6. Type 1
      7. Type f
      8. Type the number that matches your devices manufacturer
      9. Type the number that matches your devices model
      10. Type the number that matches your android version
      11. Type y
      12. Type e to exit
    • Test SafetyNet again via Magisk Manager, if all passes continue to Clear Play Store & Play Store Services Data & Check Play Store Certification below

      See here for more info: https://github.com/Magisk-Modules-R...ices-fingerprint-to-pass-the-ctsprofile-check

    • Result: ctsProfile of fail and evalType of Hardware
      • Install Universal SafetyNet Fix (thanks be to @kdrag0n), reboot and test SafetyNet again via Magisk Manager, if all passes continue to Clear Play Store & Play Store Services Data & Check Play Store Certification below, otherwise consider installing a fingerprint via MagiskHide Props Config (thanks be to @Didgeridoohan)
      • Method To Install A Fingerprint:
        1. Install MagiskHide Props Config and reboot
        2. Open a terminal and type su (grant permissions when prompted)
        3. Type props
        4. Type 1
        5. Type f
        6. Type the number that matches your devices manufacturer
        7. Type the number that matches your devices model
        8. Type the number that matches your android version
        9. Type y
        10. Type e to exit

        See here for more info:

        Spoofing fingerprints: https://github.com/Magisk-Modules-R...ices-fingerprint-to-pass-the-ctsprofile-check

      • Test SafetyNet again via Magisk Manager, if all passes continue to GPay SQLite Fix install below

        If the above fails, please post in the MagiskHide Props Config thread for best chance of success, please be aware that the ability to even attempt to trick the system as MagiskHide Props Config currently does may be shutdown by Google at any time


    Clear Play Store & Play Store Services Data & Check Play Store Certification
    • Toggle Airplane Mode on
    • Clear data and cache of:
      • Google Play
      • Google Play Services
    • Usually this will be achieved by (exact steps and terminology may change per device or ROM):
      • Opening Settings
      • Going to Apps, choosing Show All Apps
      • Enabling Show System Apps via a menu option
      • Locating the app, tapping it and then finding Storage/Cache
      • Tapping Clear Data
    • Reboot (Best) and/or Toggle Airplane Mode off
    • Open Google Play Store, go to Settings and check Certification at bottom

    Assuming you pass CTS and evalType tests, and Google Play Store Certification above, its time for the module installation.....


    Module Installation:

    The module has its best possible chance of succeeding if done on a clean flash of your ROM

    1. Install an SQLite binary (see Downloads below)
    2. Reboot if the SQLite you've just added is supplied by a magisk module (via magisk manager), so its active, as its required for GPay SQLite Fix install script.
    3. Install Gpay SQLite Fix magisk module via magisk manager (see Downloads below)
    4. At end of GPay SQLite Fix magisk module install, exit magisk manager
    5. Add card to Google Pay
    6. Reboot for gpay.sh service script to do its thing

    It *should* be that simple.


    Upgrade process (version v1.6 and above):

    - Uninstall previous version
    - Reboot
    - Install latest

    Upgrade process (versions below 1.6:

    Because the new version no longer uses chattr, for anyone using a verison older than v1.6, you will want to issue the following commands via a terminal to put /data/data/com.google.android.gms/databases/dg.db in its original state before installing the latest version:

    Code:
    su
    chattr -i /data/data/com.google.android.gms/databases/dg.db

    - Uninstall previous version
    - Reboot
    - Install latest


    Uninstall:

    1) Remove via Magisk Manager - all changes except packages hidden via MagiskHide and clearing the cache of Google Pay are reverted
    2) Reboot


    Known Issues:

    Loyalty Cards/Passes: You risk the possibility of loss of loyalty or other cards in the Passes section of Google Pay if you choose to flash the module and clear the cache & storage of Google Pay. Any version from v2.0+ will warn users and allow users to skip the clearing of Google Pay cache and app storage. This will also come with a warning that it *may* make the module fail to do its job.


    Downloads (hosted on my github):


    To download the working module zip, please click on the release link for any of the files below (this will take you to the latest release), and then download the first zip file on the following page, not the source.zip file nor the source.tar.gz below...

    To look over the code and contents in the module, use the repo link and either browse the code and contents online or download the zip from that page. If you download the zip from the repo link it will not work as a flashable magisk module....

    Gpay Fixes Downloads:


    repo: https://github.com/stylemessiah/GPay-SQLite-Fix
    release: https://github.com/stylemessiah/GPay-SQLite-Fix/releases/latest

    SQLite3 Binary Downloads:

    Newer & Universal (hopefully):

    SQLite3 Universal Binaries v1.1 (installs to /system/xbin if exists, otherwise /system/bin) here:
    repo: https://github.com/stylemessiah/SQLite3-Universal-Binaries
    release: https://github.com/stylemessiah/SQLite3-Universal-Binaries/releases/latest

    Older and only for arm-v7:

    SQLite3 v4.1 static binary (for arm-v7 devices ONLY and NOT using termux) (installs to /system/xbin if exists, otherwise /system/bin) here:
    repo: https://github.com/stylemessiah/SQLite3-v4.1-arm-v7
    release: https://github.com/stylemessiah/SQLite3-v4.1-arm-v7/releases/latest[/QUOTE]
    52
    [/COLOR]Thanks @BostonDan for this great method! My GPay just works now!

    [Edited to add @Karpfenhai's suggest to use TitaniumBackup's sqlite3 binary]

    Anyway for those sqlite impaired (this means 99.9999% of world population), here is my steps:

    If you have Titanium backup, please start from 3, if not, please start from 1

    1. Install Magisk module "SQLite for ARM aarch64 device" by ianmacd from Magisk Manager
    2. Reboot to enable this module
    3. Install your favorite terminal emulator (I use Termux)
    4. Enter Termux, then type "su" (Magisk might ask you for permission of root access, permit it.)
    5. Enter following command line by line: (This is Magisk module version. Titanium backup version is down below)

    am force-stop /data/data/com.google.android.apps.walletnfcrel
    chmod 777 /data/data/com.google.android.gms/databases/dg.db
    sqlite3 /data/data/com.google.android.gms/databases/dg.db "update main set c='0' where a like '%attest%';"
    chmod 444 /data/data/com.google.android.gms/databases/dg.db

    6. Reboot
    7. Profit!

    For using with TitaniumBackup's sqlite3 binary, you could modify the sqlite3 path as
    /data/data/com.keramidas.TitaniumBackup/files/sqlite3 /data/data/com.google.android.gms/databases/dg.db "update main set c='0' where a like '%attest%';"

    Actually I put all those commands in a Tasker task so I could run it during each reboot (with "Monitor Start" Event). Tasker xml as attached.

    Also, if your system come with sqlite3 binary (Actually I use the one from Termux) you don't need even to install the Magisk sqlite3 module.

    I am not responsible for what you have done with your phone, but hey, just let me know if you guys have any issue and I am glad to help!
    16
    Will you mind if I add a way to automate the whole process to my GMS Toolbox app?
    16
    Magisk Method Gpay SQLite Fix.....

    v2.2 28/03/2020

    All changes due to MMT-EX upgrade to v1.5

    • changes to /common/functions.sh
    • /common/addon/Volume-Key-Selector/main.sh changed and renamed to /common/addon/Volume-Key-Selector/install.sh
    Upgrade to this version is not necessary, changes only affect module install...

    As always, the module can be found here, or in my sig below