diff --git a/src/packages/frontend/i18n/trans/extracted.json b/src/packages/frontend/i18n/trans/extracted.json
index 2b29e061ac..1bf16da5b0 100644
--- a/src/packages/frontend/i18n/trans/extracted.json
+++ b/src/packages/frontend/i18n/trans/extracted.json
@@ -1490,7 +1490,7 @@
"defaultMessage": "Search for projects (use /re/ for regexp)..."
},
"purchases.automatic-payments-warning.description": {
- "defaultMessage": "Automatic payments are much more convenient , will save you time , and ensure subscriptions don't get cancelled by accident."
+ "defaultMessage": "Automatic payments are much more convenient , will save you time , and ensure subscriptions don't get canceled by accident."
},
"purchases.automatic-payments-warning.title": {
"defaultMessage": "Automatic payments are NOT required to have a subscription"
diff --git a/src/packages/frontend/purchases/balance-button.tsx b/src/packages/frontend/purchases/balance-button.tsx
index afa3e6a04e..4bf19ee827 100644
--- a/src/packages/frontend/purchases/balance-button.tsx
+++ b/src/packages/frontend/purchases/balance-button.tsx
@@ -50,7 +50,12 @@ export default function BalanceButton({
{
handleRefresh();
setOpen(!open);
diff --git a/src/packages/frontend/purchases/balance.tsx b/src/packages/frontend/purchases/balance.tsx
index 94310e9d44..7542929ea2 100644
--- a/src/packages/frontend/purchases/balance.tsx
+++ b/src/packages/frontend/purchases/balance.tsx
@@ -117,7 +117,7 @@ export default function Balance({
completed yet and are not included in your balance.
Ensure you have automatic payments configured or add
credit to your account so that your subscriptions will
- not be cancelled.
+ not be canceled.
}
>
diff --git a/src/packages/frontend/purchases/payments.tsx b/src/packages/frontend/purchases/payments.tsx
index 7a0f29601d..8aa4164dbc 100644
--- a/src/packages/frontend/purchases/payments.tsx
+++ b/src/packages/frontend/purchases/payments.tsx
@@ -145,7 +145,7 @@ export default function Payments({
{!!unfinished && (data?.length ?? 0) > 0 && (
)}
@@ -230,8 +230,14 @@ function PaymentIntentsTable({ paymentIntents, onFinished, account_id }) {
name="credit-card"
style={{ color: "#688ff1", marginRight: "5px" }}
/>
-
- Fill in details
+
+ Fill in Details
);
diff --git a/src/packages/frontend/purchases/stripe-metered-subscription.tsx b/src/packages/frontend/purchases/stripe-metered-subscription.tsx
index 2aa09eff45..7e0dd3e204 100644
--- a/src/packages/frontend/purchases/stripe-metered-subscription.tsx
+++ b/src/packages/frontend/purchases/stripe-metered-subscription.tsx
@@ -143,7 +143,7 @@ export default function StripeMeteredSubscription({ style }: Props) {
more convenient, will save you time , and ensure subscriptions don't get cancelled by accident."
+ "Automatic payments are much more convenient , will save you time , and ensure subscriptions don't get canceled by accident."
}
/>
}
diff --git a/src/packages/next/components/store/usage-and-duration.tsx b/src/packages/next/components/store/usage-and-duration.tsx
index 274c345946..d84573b579 100644
--- a/src/packages/next/components/store/usage-and-duration.tsx
+++ b/src/packages/next/components/store/usage-and-duration.tsx
@@ -192,7 +192,7 @@ export function UsageAndDuration(props: Props) {
specific dates. Once you purchase a license,{" "}
you can always edit it later, or cancel it for a prorated refund {" "}
as credit that you can use to purchase something else. Subscriptions
- will be cancelled at the end of the paid for period.{" "}
+ will be canceled at the end of the paid for period.{" "}
{duration == "range" && (
Licenses start and end at the indicated times in your local
diff --git a/src/packages/server/purchases/maintain-subscriptions.ts b/src/packages/server/purchases/maintain-subscriptions.ts
index 85d1d400ee..2115bc3b63 100644
--- a/src/packages/server/purchases/maintain-subscriptions.ts
+++ b/src/packages/server/purchases/maintain-subscriptions.ts
@@ -49,7 +49,7 @@ PAYMENT FOLLOW-UP:
- In particular, if a user doesn't pay their monthly subscription for 90 days (say),
then their license would have not worked during the last 90 days and we didn't
try to charge them during the second two periods, and moreover their payment
- got cancelled/expired. They can start their canceled subscription, paying for a
+ got canceled/expired. They can start their canceled subscription, paying for a
full subscription period at this point, and the billing day for this subscription
changes to the day when they resume the subscription.
diff --git a/src/packages/server/purchases/resume-subscription.ts b/src/packages/server/purchases/resume-subscription.ts
index 49c5bcbbad..8f4c3b8160 100644
--- a/src/packages/server/purchases/resume-subscription.ts
+++ b/src/packages/server/purchases/resume-subscription.ts
@@ -86,7 +86,7 @@ Thank you!
${await support()}`,
});
adminAlert({
- subject: `User manually resumed cancelled subscription ${subscription_id}`,
+ subject: `User manually resumed canceled subscription ${subscription_id}`,
body: `
**Good news** - The user ${await name(account_id)} with account_id=${account_id}
has manually resumed their canceled subscription id=${subscription_id}.
@@ -114,7 +114,7 @@ An unexpected error happened when manually resuming your subscription with id=${
${await support()}`,
});
adminAlert({
- subject: `Unexpected error when user manually resumed cancelled subscription ${subscription_id}`,
+ subject: `Unexpected error when user manually resumed canceled subscription ${subscription_id}`,
body: `
PROBLEM: The user ${await name(account_id)} with account_id=${account_id} tried to manually resume
their canceled subscription id=${subscription_id}, but there was an unexpected
diff --git a/src/packages/server/purchases/stripe/get-payments.ts b/src/packages/server/purchases/stripe/get-payments.ts
index b1ac353bfc..9a8bf75683 100644
--- a/src/packages/server/purchases/stripe/get-payments.ts
+++ b/src/packages/server/purchases/stripe/get-payments.ts
@@ -50,8 +50,10 @@ export default async function getPayments({
(intent) => !intent.metadata?.deleted,
);
- const numOpen = paymentIntents.data.filter(isOpenPaymentIntent).length;
- await setBalanceAlert({ account_id, balance_alert: numOpen > 0 });
+ if (!(created || ending_before || starting_after)) {
+ const numOpen = paymentIntents.data.filter(isOpenPaymentIntent).length;
+ await setBalanceAlert({ account_id, balance_alert: numOpen > 0 });
+ }
// if any payments haven't been processed, i.e., credit added to cocalc, do that here:
await processPaymentIntents({ paymentIntents: paymentIntents.data });
diff --git a/src/packages/server/purchases/stripe/process-payment-intents.ts b/src/packages/server/purchases/stripe/process-payment-intents.ts
index 5f3ab959f4..8589ff6f65 100644
--- a/src/packages/server/purchases/stripe/process-payment-intents.ts
+++ b/src/packages/server/purchases/stripe/process-payment-intents.ts
@@ -19,7 +19,7 @@ import {
processSubscriptionRenewal,
processSubscriptionRenewalFailure,
} from "./create-subscription-payment";
-import send, { support, url } from "@cocalc/server/messages/send";
+import send, { support, url, name } from "@cocalc/server/messages/send";
import adminAlert from "@cocalc/server/messages/admin-alert";
import { currency, round2down } from "@cocalc/util/misc";
import { reuseInFlight } from "@cocalc/util/reuse-in-flight";
@@ -216,11 +216,16 @@ customer. So we don't know what to do with this. Please manually investigate.
${await support()}`,
});
+ const n = await name(account_id);
adminAlert({
- subject: `A User's Payment (paymentIntent = ${paymentIntent.id}) was canceled`,
+ subject: `User's Payment (paymentIntent = ${paymentIntent.id}) was canceled`,
body: `
-The user with account_id=${account_id} had a canceled payment intent. We told them
+The user with had a canceled payment intent. We told them
the consequence is "${result}". Admins might want to investigate.
+
+- User: ${n}, account_id=${account_id}
+
+
`,
});
} catch (err) {