cameri / nostream

A Nostr Relay written in TypeScript
MIT License
715 stars 185 forks source link

[BUG] Lnbits is no longer working in version 1.23 #306

Closed johnongit closed 1 year ago

johnongit commented 1 year ago

Describe the bug lnbits as a payment processor is no longer working

To Reproduce Use lnbits as a payment processor try to register a new user. Invoice is creater but nostream cannot confirm payment

Expected behavior A clear and concise description of what you expected to happen.

Logs {"log":"2023-05-14T21:30:34.990Z worker:lnbits-callback-controller request body: { checking_id: '253a8533313898d0749018e11e759524d0f86a70065eff8d1ff9559c7a48a8f8', pending: true, amount: 5000000, fee: 0, memo: 'nostr.inosta.cc Admission Fee for npub1x0hgvaxe7j48s6g6x8f8au84wqmmpku2ymhmqum78vnkaj0jf92qtazhuc', time: 1684099828, bolt11: 'lnbc50u1pjxz5h5pp5y5ag2ve38zvdqaysrrs3uav4yng0s6nsqe00lrgll92ec7jg4ruqdyudehhxarj9e5kummnw3sjucmrypqkgmtfwdekjmmwyprx2efqvehhygrwwp6kyvtcxp5xwanp0pjnw6358penveek0quxvwrpw5urgam3d4khq6m4xfuk66rdw96k6decwehxkct2xp4xvwfjw96xz7ngw43scqzzsxqzjcrzjqg7t58svuezxnntm090dvrhfgr8namd3qyg33yymt5p8ffmjsl797zheavqq9qsqqyqqqqlgqqqqqqgq9qsp53tthh5x7cn02d698j888t0j2gnxfwvnyj0afl73tl2t6p8tn664s9qyyssqqlkyurq2tx5wgnl2hf2nc7zwugzwcxhrhlg283rdge0uffcd8tgzmgwpwgfc0ly4nn8g342cazpdcjq0rza2uehnu970cyak0nw3alqpwv2ch0', preimage: '0000000000000000000000000000000000000000000000000000000000000000', payment_hash: '253a8533313898d0749018e11e759524d0f86a70065eff8d1ff9559c7a48a8f8', expiry: 1684100428, extra: { internalId: '33ee8674d9f4aa78691a31d27ef0f57037b0db8a26efb0737e3b276ec9f24954' }, wallet_id: 'redacted', webhook: 'https://nostr.inosta.cc/callbacks/lnbits?hmac=1684186227752%3A35643e8755a42cad5e27fa946feb326f87cbdbcb149883025777919f9cd20ab9', webhook_status: null }\n","stream":"stderr","time":"2023-05-14T21:30:34.990227581Z"} {"log":"2023-05-14T21:30:34.990Z worker:payments-service get invoice undefined from payment processor\n","stream":"stderr","time":"2023-05-14T21:30:34.990425182Z"} {"log":"2023-05-14T21:30:34.990Z worker:lnbits-payments-processor get invoice: undefined\n","stream":"stderr","time":"2023-05-14T21:30:34.990639423Z"}

Additional context it seems this is related to lnurl integration. https://github.com/Cameri/nostream/blob/62c1dbe22c86bb77a5cfdbbafca543fef712c789/src/controllers/callbacks/lnbits-callback-controller.ts#L34 callback controler use payment hash to get invoice from lnbits.

but payment service switched to "Interface" to get payment status https://github.com/Cameri/nostream/blob/62c1dbe22c86bb77a5cfdbbafca543fef712c789/src/services/payments-service.ts#L38

before lnurl invoiceId is a String after invoiceId is an interface