From fee415dd6c5ee83159990a5e7d59184b0ab1ec96 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 24 Feb 2024 21:39:44 -0800 Subject: itemized email --- lib/payments.js | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) (limited to 'lib/payments.js') diff --git a/lib/payments.js b/lib/payments.js index f1b2ff46..d9ee58b6 100644 --- a/lib/payments.js +++ b/lib/payments.js @@ -10,6 +10,7 @@ import { f, btc, fail, + fiat, getInvoice, sleep, wait, @@ -132,7 +133,7 @@ export let credit = async (hash, amount, memo, ref, type = types.internal) => { tip = parseInt(tip) || 0; if (!memo) ({ memo } = inv); - if (memo && memo.length > 200) fail("memo too long"); + if (memo && memo.length > 200) fail("memo too long"); if (amount < 0 || tip < 0) fail("Invalid amount"); if (type === types.internal) amount += tip; @@ -210,7 +211,10 @@ export let credit = async (hash, amount, memo, ref, type = types.internal) => { // console.log(items); let items; - if (inv.items && inv.items.length) formatReceipt(inv.items, inv.currency); + if (inv.items && inv.items.length) { + formatReceipt(inv.items, inv.currency); + p.items = inv.items; + } if (config.mqtt1) { mqtt1.publish( @@ -226,7 +230,12 @@ export let credit = async (hash, amount, memo, ref, type = types.internal) => { ); } - await completePayment(p, user); + try { + await completePayment(p, user); + } catch (e) { + console.log(e); + } + return p; }; @@ -263,7 +272,23 @@ export let completePayment = async (p, user) => { mail(user, t.paymentReceived, templates.paymentReceived, { ...t, username, - payment: { amount: fmt(p.amount), link: link(p.id) }, + payment: { + amount: fmt(p.amount), + link: link(p.id), + tip: p.tip ? fmt(p.tip) : undefined, + fiat: f(fiat(p.amount, p.rate), p.currency), + fiatTip: p.tip ? f(fiat(p.tip, p.rate), p.currency) : undefined, + items: + p.items && + p.items.map((i) => { + return { + quantity: i.quantity, + name: i.name, + total: i.quantity * i.price, + totalFiat: f(i.quantity * i.price, p.currency), + }; + }), + }, withdrawal, }); } -- cgit v1.2.3