Fix re-submit invoice

This commit is contained in:
Reckless_Satoshi
2024-05-02 20:15:47 +01:00
parent e8283f2669
commit 54fd97506f

View File

@ -893,7 +893,7 @@ class Logics:
if order.status == Order.Status.FAI: if order.status == Order.Status.FAI:
if order.payout.status != LNPayment.Status.EXPIRE: if order.payout.status != LNPayment.Status.EXPIRE:
return False, { return False, {
"bad_request": "You can only submit an invoice after expiration or 3 failed attempts" "bad_invoice": "You can only submit an invoice after expiration or 3 failed attempts"
} }
# cancel onchain_payout if existing # cancel onchain_payout if existing
@ -910,30 +910,24 @@ class Logics:
return False, payout["context"] return False, payout["context"]
if order.payout: if order.payout:
order.payout.invoice = invoice if order.payout.payment_hash == payout["payment_hash"]:
order.payout.status = LNPayment.Status.VALIDI return False, {"bad_invoice": "You must submit a NEW invoice"}
order.payout.num_satoshis = num_satoshis
order.payout.description = payout["description"] order.payout = LNPayment.objects.create(
order.payout.payment_hash = payout["payment_hash"] concept=LNPayment.Concepts.PAYBUYER,
order.payout.created_at = payout["created_at"] type=LNPayment.Types.NORM,
order.payout.expires_at = payout["expires_at"] sender=User.objects.get(username=ESCROW_USERNAME),
order.payout.save() receiver=user,
else: routing_budget_ppm=routing_budget_ppm,
order.payout = LNPayment.objects.create( routing_budget_sats=routing_budget_sats,
concept=LNPayment.Concepts.PAYBUYER, invoice=invoice,
type=LNPayment.Types.NORM, status=LNPayment.Status.VALIDI,
sender=User.objects.get(username=ESCROW_USERNAME), num_satoshis=num_satoshis,
receiver=user, description=payout["description"],
routing_budget_ppm=routing_budget_ppm, payment_hash=payout["payment_hash"],
routing_budget_sats=routing_budget_sats, created_at=payout["created_at"],
invoice=invoice, expires_at=payout["expires_at"],
status=LNPayment.Status.VALIDI, )
num_satoshis=num_satoshis,
description=payout["description"],
payment_hash=payout["payment_hash"],
created_at=payout["created_at"],
expires_at=payout["expires_at"],
)
order.is_swap = False order.is_swap = False
order.save(update_fields=["payout", "is_swap"]) order.save(update_fields=["payout", "is_swap"])