From 5f75276e0119488be4929b0874f57f3e5c5c25bf Mon Sep 17 00:00:00 2001 From: Tanya Fomina Date: Mon, 16 Jun 2025 20:39:54 +0300 Subject: [PATCH 1/8] Add log to compose-payment --- src/billing/cloudpayments.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/billing/cloudpayments.ts b/src/billing/cloudpayments.ts index 08bf083b..f46d416e 100644 --- a/src/billing/cloudpayments.ts +++ b/src/billing/cloudpayments.ts @@ -185,6 +185,16 @@ userId: ${userId}` return; } + this.handleSendingToTelegramError(telegram.sendMessage(`✅ [Billing / Compose payment] + + card link operation: ${isCardLinkOperation} + amount: ${+tariffPlan.monthlyCharge} RUB + last charge date: ${workspace.lastChargeDate?.toISOString()} + next payment date: ${nextPaymentDate.toISOString()} + workspace id: ${workspace._id.toString()} + debug: ${workspace.isDebug}` + , TelegramBotURLs.Money)); + res.send({ invoiceId, plan: { From ceaa0412f719262c5a359a40ba81dbdd3e892f09 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 17:41:06 +0000 Subject: [PATCH 2/8] Bump version up to 1.1.23 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dffcd02b..08ee7471 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hawk.api", - "version": "1.1.22", + "version": "1.1.23", "main": "index.ts", "license": "UNLICENSED", "scripts": { From 042e55d64cf7fa0e2ecd5c287959a8155e17e828 Mon Sep 17 00:00:00 2001 From: Tanya Fomina Date: Mon, 16 Jun 2025 20:42:10 +0300 Subject: [PATCH 3/8] Lint --- src/billing/cloudpayments.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/billing/cloudpayments.ts b/src/billing/cloudpayments.ts index f46d416e..cf2a2e87 100644 --- a/src/billing/cloudpayments.ts +++ b/src/billing/cloudpayments.ts @@ -193,7 +193,7 @@ userId: ${userId}` next payment date: ${nextPaymentDate.toISOString()} workspace id: ${workspace._id.toString()} debug: ${workspace.isDebug}` - , TelegramBotURLs.Money)); + , TelegramBotURLs.Money)); res.send({ invoiceId, From 9e3b9f23be0844b01b851b63e150fe43942da450 Mon Sep 17 00:00:00 2001 From: Tanya Fomina Date: Mon, 16 Jun 2025 21:23:13 +0300 Subject: [PATCH 4/8] upd --- src/billing/cloudpayments.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/billing/cloudpayments.ts b/src/billing/cloudpayments.ts index cf2a2e87..6e7074bd 100644 --- a/src/billing/cloudpayments.ts +++ b/src/billing/cloudpayments.ts @@ -192,7 +192,7 @@ userId: ${userId}` last charge date: ${workspace.lastChargeDate?.toISOString()} next payment date: ${nextPaymentDate.toISOString()} workspace id: ${workspace._id.toString()} - debug: ${workspace.isDebug}` + debug: ${Boolean(workspace.isDebug)}` , TelegramBotURLs.Money)); res.send({ @@ -680,7 +680,8 @@ subscription id: ${body.SubscriptionId}` amount: ${+body.Amount} ${body.Currency} next payment date: ${body.NextTransactionDate} workspace id: ${body.AccountId} -subscription id: ${body.Id}` +subscription id: ${body.Id} +status: ${body.Status}` , TelegramBotURLs.Money)); HawkCatcher.send(new Error(`[Billing / Recurrent] New recurrent event with ${body.Status} status`), req.body); From f4029bd6b70e76f43d01982c4e9628128e52c6f7 Mon Sep 17 00:00:00 2001 From: Tanya Fomina Date: Mon, 16 Jun 2025 21:34:37 +0300 Subject: [PATCH 5/8] Upd pay --- src/billing/cloudpayments.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/billing/cloudpayments.ts b/src/billing/cloudpayments.ts index 6e7074bd..913ddfb4 100644 --- a/src/billing/cloudpayments.ts +++ b/src/billing/cloudpayments.ts @@ -541,7 +541,8 @@ userId: ${userId}` workspace id: ${workspace._id} date of operation: ${body.DateTime} first payment date: ${data.cloudPayments?.recurrent.startDate} -sum: ${data.cloudPayments?.recurrent.amount}${body.Currency}` +card link charge: ${+body.Amount} ${body.Currency} +plan monthly charge: ${data.cloudPayments?.recurrent.amount} ${body.Currency}` , TelegramBotURLs.Money)); } else { /** From 114d3892a918fbd6200024b65a6305cb7c167119 Mon Sep 17 00:00:00 2001 From: Tanya Fomina Date: Mon, 16 Jun 2025 21:40:19 +0300 Subject: [PATCH 6/8] Remove redundant error --- src/billing/cloudpayments.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/billing/cloudpayments.ts b/src/billing/cloudpayments.ts index 913ddfb4..82d9fc4a 100644 --- a/src/billing/cloudpayments.ts +++ b/src/billing/cloudpayments.ts @@ -692,6 +692,10 @@ status: ${body.Status}` let workspace; try { + /** + * If there is a workspace with subscription id then subscription was cancelled via CloudPayments admin panel (or other no garage way) + * We need to remove subscription id from workspace + */ workspace = await context.factories.workspacesFactory.findBySubscriptionId(body.Id); } catch (e) { const error = e as Error; @@ -705,9 +709,10 @@ status: ${body.Status}` } if (!workspace) { - this.sendError(res, RecurrentCodes.SUCCESS, `[Billing / Recurrent] Workspace with subscription id ${body.Id} not found`, { - body, - }); + /** + * If no workspace found by subscription id then subscription is cancelled via garage and subscription id was set to null in mutation before this hook executed + * No need to send error + */ return; } From b87cf56f486057a091f71b3c288f73f62748a0c3 Mon Sep 17 00:00:00 2001 From: Tanya Fomina Date: Mon, 16 Jun 2025 21:43:09 +0300 Subject: [PATCH 7/8] Fix indent --- src/billing/cloudpayments.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/billing/cloudpayments.ts b/src/billing/cloudpayments.ts index 82d9fc4a..8215af5b 100644 --- a/src/billing/cloudpayments.ts +++ b/src/billing/cloudpayments.ts @@ -187,12 +187,12 @@ userId: ${userId}` this.handleSendingToTelegramError(telegram.sendMessage(`✅ [Billing / Compose payment] - card link operation: ${isCardLinkOperation} - amount: ${+tariffPlan.monthlyCharge} RUB - last charge date: ${workspace.lastChargeDate?.toISOString()} - next payment date: ${nextPaymentDate.toISOString()} - workspace id: ${workspace._id.toString()} - debug: ${Boolean(workspace.isDebug)}` +card link operation: ${isCardLinkOperation} +amount: ${+tariffPlan.monthlyCharge} RUB +last charge date: ${workspace.lastChargeDate?.toISOString()} +next payment date: ${nextPaymentDate.toISOString()} +workspace id: ${workspace._id.toString()} +debug: ${Boolean(workspace.isDebug)}` , TelegramBotURLs.Money)); res.send({ From 9d2ece7d527ba8bc2e7a893ae4d3c0136bcd3740 Mon Sep 17 00:00:00 2001 From: Tanya Fomina Date: Mon, 16 Jun 2025 21:48:31 +0300 Subject: [PATCH 8/8] Fix business operations --- src/billing/cloudpayments.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/billing/cloudpayments.ts b/src/billing/cloudpayments.ts index 8215af5b..b19d1afc 100644 --- a/src/billing/cloudpayments.ts +++ b/src/billing/cloudpayments.ts @@ -304,7 +304,7 @@ debug: ${Boolean(workspace.isDebug)}` status: BusinessOperationStatus.Pending, payload: { workspaceId: workspace._id, - amount: +body.Amount, + amount: +body.Amount * PENNY_MULTIPLIER, currency: body.Currency, userId: member._id, tariffPlanId: plan._id,