You can get Android Pie on your OnePlus 6 right now if you're willing to switch to the company's latest Open Beta version of OxygenOS. While it comes with all of Android Pie's latest features such as Adaptive Battery and the latest Material Design theme, it's not without its problems. One of the main issues is that Google Pay is not supported. In fact, the device fails the SafetyNet Attestation API test. Not only does that mean you can't use Google Pay, but you won't be able to log in to Snapchat, play Pokemon Go, or use pretty much any app that requires you to pass SafetyNet. You can't even install Netflix through the Google Play Store (though side-loading the APK still works).

There's a way around that, though. Not only will you pass SafetyNet on the latest Open Beta of OxygenOS, but Google Pay will work perfectly as well. You can either use Magisk or simply modify the build.prop file yourself. If you want to do it via Magisk, then you'll need to get a Magisk module made by XDA Recognised Contributor Didgeridoohan which lets you change your device's fingerprint.

SafetyNet check success on the OnePlus 6 running Android Pie.

How to pass SafetyNet on beta Android Pie builds for the OnePlus 6

When your device fails the ctsProfile check but passes basicIntegrity, it's likely because of your phone's fingerprint. The fingerprint is essentially a unique identifier for the ROM you are using and is used to check whether the Android build you are using has been verified through Google's Compatibility Test Suite (CTS). If the fingerprint does not match an Android build that has been CTS certified, then it will fail this test immediately. As such, we need to modify our fingerprint which resides in the build.prop file. You can do this two different ways.

Method 1 - Modify build.prop manually

This is the option I personally chose as it's easier than the Magisk route. We'll get into that later. You'll still need your OnePlus 6 rooted via Magisk, but we won't be making use of a Magisk module. Once you're rooted, download any build.prop editor from the Google Play Store, or you can do it through most root-enabled text editors.

I personally use this app to modify my build.prop, but any will do.

Once you've installed an application that you can use to modify your build.prop, navigate to

        ro.build.fingerprint
    

and change the value from

        ro.build.fingerprint=OnePlus/OnePlus6/OnePlus6:9/PKQ1.180716.001/1808301430:user/release-keys

or whatever the current build fingerprint is, to:

        ro.build.fingerprint=OnePlus/OnePlus6/OnePlus6:8.1.0/OPM1.171019.011/06140300:user/release-keys

Reboot your device, and you'll now pass SafetyNet. The downside of doing it this way is that you are making changes to /system, so updating your phone or reflashing your ROM will overwrite this change. You are spoofing the fingerprint of the latest stable release, so to Google, it appears that your Android version has been CTS tested. You will now be able to use Google Pay on Android Pie.

Method 2 - Using a Magisk Module

This is the Magisk Module we mentioned earlier, and the reason we don't currently recommend it is that you'll have to use the new Magisk Canary builds. Resetprop, used for modifying build.prop systemlessly, doesn't work on Android Pie unless you are using the latest Canary build of Magisk. While doing so lets you play games like Fortnite Mobile or Fate/Grand Order, you're subject to other bugs by using the Canary builds. It's not really a good idea to use it unless you know exactly what you're doing. If you are willing to proceed, then you can check out the XDA forum thread to learn how to install Magisk Canary on your OnePlus 6.

Once you've got that setup, you'll need to download and install the "MagiskHide Props Config" module, which can be found on the Magisk module repo. Once you've done that, download any terminal emulator and type "props".

[appbox googleplay jackpal.androidterm]

This is the Android Terminal application I personally use.

You should be met with something similar to the screenshots below.

Once you reboot, you should also pass SafetyNet. While both of the above methods work, until a beta build of Magisk is released I personally recommend directly modifying your build.prop. Magisk Canary can have any number of bugs, and it's safer to go with modifying your build.prop when it won't trip SafetyNet anyway.