Thanks i tried to make it as simple as possible.
Discussion
Yes. Zap is easy to implement…!
@jb55 I am having issue with seeing the zap on Damus. It is correctly showing up on snort.social Here’s the 9735 event I think the sha256 description is not matching…!
https://nosbin.com/4e8654c27e25a5293ca200d464f110e0936983183d78f590c5c0f4ca24690483
snort.social success screenshot: 
damus will reject it if the sha2(description) does not match the description hash
understand. Are you converting to hex?
this is what I am doing.. Can you give me the line of code you are using before generating invoice in your CLN?
description_hash = Buffer.from(crypto.createHash('sha256').update(req.query.nostr).toString('hex'), 'hex')
Yes super nice, well done!
My partner will not like how I hacked it into the vanilla LNURL part of the code but I'll try to isolate the nostr stuff as good as I can :)
A quick note on the NIP, I found this part confusing:
"The e tag is optional which allows profile tipping."
I was like, is this a typo? Why would the e tag be for profile tipping. Then I realized what you're saying.
I would reformulate it to make it a bit more explicit as in: "The e tag is optional. When only the p tag is present, it represents profile tipping" or something.
Winning ™
