[ONE Q&A, Help & Troubleshooting] Link_of_Hyrule:
As of June 16th, 2017 the fix which can be found here has been merged so it will be in the June 18th, 2017 build and forward. The fix below will no longer be needed after that point.

Android Pay should now work if you use the Magisk module I created using the file with changes made by Shantur! To use my module you need to install Magisk follow instructions HERE. Alternatively, you can manually replace /system/lib/libnfc_nci_jni.so with the one in this post. Of course you must be able to pass SafetyNet to use Android Pay to if it's giving you errors make sure you're passing it!

Note: This should also work for any device that has the NfcNci chip.

So let me specify a few things first of all Android Pay didn't work because of a defect with the NFC drivers not because of SafetyNet. You can actually use Android Pay on Lineage OS 14.1 stock (not using the su add-on) on devices with working NFC drivers such as the OnePlus 3 or Nexus 7 2013.

To fix the problem all you have to do is replace the file using any method. This fix should work on any device with the same NFC Chip as the OnePlus One. You can actually install it on an unlocked phone WITHOUT root using the TWRP recovery. I have not tested but I don't think this will break SafetyNet. I personally suggest the Magisk Module because it will survive updates unlike doing it manually or with a non-add.d flashable zip. This is of course an unofficial mod not supported by the Lineage OS developers you can view the code changes in this thread. The Lineage OS developers are working on an Official fix for the issue now that we have determined the cause of it.

Special thanks to shantur and the other people in this thread that worked hard on this!

The official fix is being worked on progress can be found HERE.

You can find a flashable zip here: https://xdaforums.com/showpost.php?p=71025490&postcount=295

Old Post:

This thread is about getting Android Pay to work to make actual transactions not about passing SafetyNet or CTS which we can already do through the methods described below!

What works:

*Passing SafetyNet/CTS (having an unlocked bootloader doesn't matter).

*Adding a Credit Card to Android Pay.

What doesn't work:

*Making an actual transaction with Android Pay.

So as most of you know Android Pay and other apps don't work unless you pass SafetyNet aka CTS. I've gone found these if you unroot or you use phh super user and magisk you can easily pass CTS and add your cards to Android Pay and use other apps such as Pokemon GO.

However, I've discovered that something else is causing Android Pay not to work and would like for it to be fixed. Android Pay works in CM13 and COS13 as long as your device passes CTS but when you tap a terminal using a Lineage OS 14.1 device nothing happens the Android Pay app never launches at all and didn't show any kind of errors or crashes it just never appears.

*Please note although you may have heard unlocked bootloaders cause SafetyNet to fail this is only true if the kernel reports the status of the bootloader which Lineage OS 14.1 does not please see this commit here https://review.lineageos.org/#/c/152044/

I don't know enough about this to diagnosis or fix the problem but I'm willing to gather logs and try and help resolve the problem. I live by an NFC vending machine so it's easier to get logs than going to an actual store.

If you have Lineage OS 14.1 and have successfully used Android Pay on your OnePlus one please post here. If you're on a Lineage OS 14.1 based ROM but not official nightly and it works for you tell us maybe we can have patches pushed to official cm to fix the issues.

When I say it works for you I mean you've made actually successful payments with it not just added cards to the app which is already working on Lineage OS 14.1 if you pass CTS.

Note: To pass CTS simply install Lineage OS directly followed by magisk 10.2 and enable Magisk hide and reboot. If you have issues use magisk install, wipe your system, dalvic, and cache in TWRP and repeat the previous steps.