diff --git a/lnbits/wallets/lndrest.py b/lnbits/wallets/lndrest.py index ee9b1d6a..7ae68be8 100644 --- a/lnbits/wallets/lndrest.py +++ b/lnbits/wallets/lndrest.py @@ -139,14 +139,22 @@ class LndRestWallet(Wallet): lnrpcFeeLimit = dict() lnrpcFeeLimit["fixed_msat"] = f"{fee_limit_msat}" - r = await self.client.post( - url="/v1/channels/transactions", - json={"payment_request": bolt11, "fee_limit": lnrpcFeeLimit}, - timeout=None, - ) + try: + r = await self.client.post( + url="/v1/channels/transactions", + json={"payment_request": bolt11, "fee_limit": lnrpcFeeLimit}, + timeout=None, + ) + r.raise_for_status() + except Exception as exc: + logger.warning(f"LndRestWallet pay_invoice POST error: {exc}.") + return PaymentResponse(None, None, None, None, str(exc)) - if r.is_error or r.json().get("payment_error"): + data = r.json() + + if data.get("payment_error"): error_message = r.json().get("payment_error") or r.text + logger.warning(f"LndRestWallet pay_invoice payment_error: {error_message}.") return PaymentResponse(False, None, None, None, error_message) data = r.json()