what zap receipt implementation are you using? are you sure it is sending the zap receipt to the relays specified in the zap attempt?
Discussion
I made my own zap receipt server with some random relays hardcoded. Maybe that’s the issue.

Yep. Check out this line in the nip 57 spec:
" publish it to the `relays` specified in the `zap request`."
... almost everyone gets this wrong the first time they create a zap receipt server... we definitely did...
Okay… maybe I should add a few extra relays though just in case? Like at least one that I’m connected to so I can see my own zap receipts.