Oh! I have a feeling it’s using the base64 preimage, not the hex encoded version!
#[0] I’ve just implemented a zapper on top of LND, and it seems to be producing valid zaps, but they’re not appearing in Damus.
I’m probably missing something, would you mind taking a look?
E.g. I’ve zapped this note: nostr:note1v9qhyek3n6z59qnffunqut0lj0awafaerqk0ghzymy4dejgtnhws5pts8r
Iris seems to show it as zapped 🤔
The event ID of the zap is: 7ce9d7a054d3e1464b27b7f2d8fadd277b58ca0e80fa3638f02f78f590913f8e
https://gateway.nostr.au/e/7ce9d7a054d3e1464b27b7f2d8fadd277b58ca0e80fa3638f02f78f590913f8e
Discussion
It doesn’t check preimage. Just make sure rhe 9735 pubkey matches the nostrPubkey on the lnurl endpoint. It also checks description hash
The public key definitely matches.
I expect it’s to do with the description hash then, as I’m probably not serialising the event properly.
Thanks! 🤙🏻
That was totally it, it’s working now! 
Thanks for the reference implementation (cln-nostr-zapper) and the detailed NIP, it made it reasonably straightforward to implement 🙇