aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-09-09 22:47:40 -0700
committerAdam Soltys <[email protected]>2023-09-09 22:47:40 -0700
commit6a5ba3fb2c6c261a24bbf8f151f6484e0dedc50c (patch)
tree894d8c62bb7cbf69de69556c955ca9235eff7fd6 /routes
parent17c23d4d46f918b9e0603e7d664b1710d22412a9 (diff)
downloadcoinos-server-6a5ba3fb2c6c261a24bbf8f151f6484e0dedc50c.tar.gz
coinos-server-6a5ba3fb2c6c261a24bbf8f151f6484e0dedc50c.zip
check for pending payments
Diffstat (limited to 'routes')
-rw-r--r--routes/payments.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/routes/payments.js b/routes/payments.js
index 4b3cd25d..3dd8892d 100644
--- a/routes/payments.js
+++ b/routes/payments.js
@@ -73,11 +73,15 @@ export default {
if (pays.find(p => p.status === "complete"))
fail("Invoice has already been paid");
+ if (pays.find(p => p.status === "pending"))
+ fail("Payment is already underway");
+
p = await debit(payreq, total, maxfee, memo, user, types.lightning);
let check = async () => {
try {
let { pays } = await ln.listpays(payreq);
+ l("checking", payreq, pays);
if ((!pays.length || pays[0].status === "failed") && (await g(`payment:${p.id}`))) {
await db.del(`payment:${p.id}`);
@@ -91,6 +95,8 @@ export default {
warn("reversing payment", p.id);
await db.lRem(`${p.uid}:payments`, 1, p.id);
+
+ clearInterval(interval);
}
} catch (e) {
console.log(e);