Merge remote-tracking branch 'origin/master' into satspay

This commit is contained in:
Ben Arc 2021-04-09 00:24:23 +01:00
commit cbdf97f949
4 changed files with 16 additions and 9 deletions

View file

@ -27,6 +27,12 @@ from .crud import (
update_payment_status, update_payment_status,
get_wallet_payment, get_wallet_payment,
) )
class PaymentFailure(Exception):
pass
async def create_invoice( async def create_invoice(
*, *,
wallet_id: str, wallet_id: str,
@ -160,8 +166,9 @@ async def pay_invoice(
) )
await delete_payment(temp_id, conn=conn) await delete_payment(temp_id, conn=conn)
else: else:
raise Exception( raise PaymentFailure(
payment.error_message or "Failed to pay_invoice on backend." payment.error_message
or "Payment failed, but backend didn't give us an error message."
) )
return invoice.payment_hash return invoice.payment_hash

View file

@ -12,7 +12,7 @@ from lnbits import bolt11
from lnbits.decorators import api_check_wallet_key, api_validate_post_request from lnbits.decorators import api_check_wallet_key, api_validate_post_request
from .. import core_app, db from .. import core_app, db
from ..services import create_invoice, pay_invoice, perform_lnurlauth from ..services import PaymentFailure, create_invoice, pay_invoice, perform_lnurlauth
from ..tasks import sse_listeners from ..tasks import sse_listeners
@ -127,6 +127,8 @@ async def api_payments_pay_invoice():
return jsonify({"message": str(e)}), HTTPStatus.BAD_REQUEST return jsonify({"message": str(e)}), HTTPStatus.BAD_REQUEST
except PermissionError as e: except PermissionError as e:
return jsonify({"message": str(e)}), HTTPStatus.FORBIDDEN return jsonify({"message": str(e)}), HTTPStatus.FORBIDDEN
except PaymentFailure as e:
return jsonify({"message": str(e)}), 520
except Exception as exc: except Exception as exc:
raise exc raise exc

View file

@ -14,6 +14,8 @@
name="viewport" name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no" content="width=device-width, initial-scale=1, shrink-to-fit=no"
/> />
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
{% block head_scripts %}{% endblock %} {% block head_scripts %}{% endblock %}
</head> </head>

View file

@ -102,12 +102,8 @@ class LndRestWallet(Wallet):
timeout=180, timeout=180,
) )
if r.is_error: if r.is_error or r.json().get("payment_error"):
error_message = r.text error_message = r.json().get("payment_error") or r.text
try:
error_message = r.json()["error"]
except:
pass
return PaymentResponse(False, None, 0, None, error_message) return PaymentResponse(False, None, 0, None, error_message)
data = r.json() data = r.json()