Without further ado, here is my process:
1) download a SQL database editor. I used
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.)
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.