Seems Google Pay doesn't work over Mi 9. I've been doing some tests and I believe Google its able to discern that the bootloader its unlocked and thus marks the phone as rooted/modified.
From my side I've tried the following scenarios:
- Plain MIUI ROM without any extras.
- MIUI ROM + Magisk.
- MIUI ROM + Magisk + Custom kernel.
All installs where from scratch, clearing all the data. In some cases I almost got Google Pay card validation completed, but it got me an error of my bank (probably since I've been validating cards a lot during these tests). In the end, as soon as Google Pay / GMS update, they mark the device as modified. With the first test (plain ROM) I think Google its able to check the bootloader state, since there is no custom kernel nor anything to avoid that and on the other cases I think Magisk its being detected by Google itself, since it was also reported on their GitHub.
I haven't tested the method to patch GMS with an external apk, so not sure if that works, but for the time being its kinda tricky to make this work over Mi 9.
EDIT: Oh! I forgot to add that I also tested the Global Developer version from miui.com and that fails as well (since the phone has the unlocked bootloader), so it fails on the base, its not an issue of xiaomi.eu's version.