Expired usually means that they have sent a payment after invoice expired (assuming that payment came through) Invoice is valid for 20min due to crypto volatility if they send payment after invoice expired, you should still see the amount they sent - you received, although it might be not...
Your NowPayment dashboard shows what status? Finished / Expired / Partial-Paid ?
if Finished - try to send IPN notification, see if your XF receives it
Click Payment ---> IPN notificaton -->Send
user profile should update, if not - your server/cloudflare blocking IPN Notification /...
the amount you are trying to send is too low for Bitcoin payments, transaction cost would be more than 10% of the actual payment - for small amounts use other crypto - ETH, SOL, LTC
if you are looking to use BTC, use that for larger payments...generally over $100
They do not require KYC for crypto transactions, deposit or withdraw, there is KYC if FIAT offramp/onramp is required - bank wire/credit card transactions.
NowPayments.io is a part of ChangeNow.io - one of the largest crypto processors / exchange / POS providers online.
Been using their services for years and with this addon, XF has finally got a proper crypto payments processor.
Trustpilot rating...