I'm going to make a new post but wanted to add to this thread as well.
I installed Lineage OS on my phone and then installed all my apps (including FNB) and only then installed magisk and used magisk hide to hide root from FNB. I then tried registering for Tap and Pay. But it seems like FNB looks for root the first you open the app, so if you haven't installed magisk and used magisk hide to hide root from the FNB app, it will trip safety net and on top of this write to disk that your phone has root. So to use Tap and Pay with the FNB app with a custom rom or root, what you want to do is:
1. Install Lineage OS (or some other ROM).
2. Install Gapps (or not).
3. Install Magisk.
4. Install FNB, don't open!
5. Hide root from FNB with Magisk Hide.
6. Open FNB and register for Tap and Pay.
And then you'll have no issues.
But if you're like me and you accidentally installed and used FNB before hiding it from magisk or installing magisk. You'll get a message saying "the rom on your device is not the stock android rom" or maybe a message about rooted devices not being allowed. Either way, it's really easy to fix. The easiest way:
1. Uninstall, then Reinstall the FNB app, don't open!
2. Immediately hide root from FNB with Magisk hide.
3. Open FNB and register for Tap and Pay.
This works but because of FNB's new "safety" rules, you can't verify the phone after it's been uninstalled, even if you have other verified devices. So you have to make a transaction of R300 or more and then only after a week is the app verified and only then can you use Tap and Pay, because that's "safe".
But if you're more impatient you don't actually have to wait a week. All you need to do is delete the flag the app set saying your device is rooted. Which is really simple because the app just naivley writes it to an unencrypted shared preferences file. Which, you can easily change. So all you have to do is:
0. Immediately hide root from FNB with Magisk hide.
1. Use a file manager, adb, something to navigate to \data\data\za.co.fnb.connect.itt\shared_prefs
2. Open the file za.co.fnb.connect.itt_preferences.xml
3. Simply change
HTML:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="show_drawer" value="false" />
<int name="lastversion" value="1009" />
<boolean name="SUPER_USER_ACCESS_EXISTS" value="true" />
</map>
to
HTML:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="show_drawer" value="false" />
<int name="lastversion" value="1009" />
<boolean name="SUPER_USER_ACCESS_EXISTS" value="false" />
</map>
4. Save the file.
5. Kill the app from recents and open it again.
3. Register for Tap and Pay.
I'm so tired of FNB actively preventing me from using my phone the way I want to, under the guise of "safety". There's no universe where using the stock $hitwiz ROM (that hasn't been update since early 2016) is safer than using Lineage OS with a security patch level that is less than a month old. I literally can't wait until Root Bank is out of beta so I can dump FNB.