Commit Graph
100 Commits
Author SHA1 Message Date
Kristina c2ba7955dc [web] adjust styles in notifications settings (#35143)
GitOrigin-RevId: 5867072acd6e38c1a00a252b13e4ef4169ef7b79
2026-09-17 11:17:01 +00:00
Kristina 4622848a19 [web] optimize process notifications and add monitoring metrics (#34699)
GitOrigin-RevId: 411355cbdbb25d871b9cfb2afbb0ad235041337f
2026-09-17 11:12:59 +00:00
Kristina 28ad3b03b7 [web] add email notifications dry run split test (#34653)
GitOrigin-RevId: 62f73ce3850b994bf2a4a054edd6fa62134213a9
2026-06-26 08:08:18 +00:00
Kristina a53b164b45 [web] email content previews for notification emails (#34576)
* add content previews to notification emails
* add fetcher for doc lines
* gate content previews behind a split test
* make composable blocks for rendering

GitOrigin-RevId: c8df384d55a301084b98df76fd3edd6dde6ea50c
2026-06-22 08:06:25 +00:00
Kristina eb031f4c3c [web] parse mentions in comments (#34055)
GitOrigin-RevId: 185485a3ac9670c46d0e7c43bf281a5ffee3f784
2026-06-09 08:05:58 +00:00
Kristina dce6bce9fa [web] update notification preferences on ownership transfer (#33854)
GitOrigin-RevId: c20c7f992d9dbdd6e9f80feafc7b53587c122dd7
2026-06-09 08:05:53 +00:00
Kristina 6d8e4e4c5b [web] ship updated email templates (#34180)
GitOrigin-RevId: fa04ff132ec898efdb4e2d35df8b8a0b09219d5e
2026-06-09 08:05:45 +00:00
Kristina 5f7e81aafc [web] add stats to process_notifications cron (#34049)
GitOrigin-RevId: ea6890f2726cba268f1e5eead0643d03757b8dff
2026-05-29 08:05:42 +00:00
Kristina 78dd0a8681 [web] update email base templates (#33791)
* update email template design
* gate email template on split test

GitOrigin-RevId: 2e0a1d9abf11a0c3f16e103511191d43d542b8a4
2026-05-28 08:05:59 +00:00
KristinaandDomagoj Kriskovic 577ff63eca [document-updater] batch collaborator lookups in project_notifications.mts (#33974)
* Refactor project collaborator check to handle multiple project IDs and optimize Redis caching
* Batch mongo queries and use promiseMapWithLimit

---------

Co-authored-by: Domagoj Kriskovic <dom.kriskovic@overleaf.com>
GitOrigin-RevId: 7d568b4b05894465c930595ebd3f214ebc5c72c0
2026-05-27 08:07:35 +00:00
Kristina 3bd908d963 [document-updater] update logging in project_notifications script (#33924)
* reduce logs for project_notifications script
* include cache hit/miss stats

GitOrigin-RevId: 6aac74a18f2ad352b0e8609f0ad2b6c831bd9da5
2026-05-25 08:05:57 +00:00
Kristina 88eb599d4e [document-updater] increase scanStream COUNT for project notifications (#33833)
* increase scanStream COUNT for project notifications
* fix Bull queue.add delay option being ignored
* parse timestamp to number before adding to notification queue
* fix outdated comments in project_notifications script

GitOrigin-RevId: 98bb638228550b2f6f2de90280a06c47e022cf96
2026-05-22 08:06:03 +00:00
Kristina 2f5d838e0f Merge pull request #33704 from overleaf/kh-add-reject-change-preference-check
[web] add reject tracked change preference check

GitOrigin-RevId: b55dba21b3d4f42e68528d2b5906862c57794cd1
2026-05-18 08:06:57 +00:00
Kristina d8df893593 [web] rm unnecessary webpack configuration (#33587)
GitOrigin-RevId: d9f305e59af2585db096a83c4cbd41ba5f785184
2026-05-14 08:05:39 +00:00
Kristina b3beca0e8d [web] isolate cypress webpack caches (#33516)
GitOrigin-RevId: 65f8bf162df4fa3b67c8ac19f36fd578251e88f4
2026-05-12 08:05:24 +00:00
Kristina bd604063e6 [web] add preferences to control all implemented notifications (#33320)
* feat: add granular controls for other features
* feat: add filtering to notifications that were missing them
* refactor: rm duplicate thread fetches
* fix: reduce permissions to fit spec (all === new comments/tracked changes, replies === only if also a participant)
* fix: include mentions in types

GitOrigin-RevId: b4a09ef59e5cf4de2e07d5b9a13c31fc1cf81a31
2026-05-08 08:08:30 +00:00
Kristina 40954ae2dc Merge pull request #32949 from overleaf/kh-default-invitees-to-replies-only
[web] default invitees to replies only

GitOrigin-RevId: e3198403917e2679e49e27aaa87ae111675dc974
2026-05-08 08:08:17 +00:00
Kristina fdc939fe0a [web] emit project:membership:changed when removing self from project (#33143)
GitOrigin-RevId: 5a101add69e0077f667f98f5b95c2476ad3085d4
2026-05-05 08:05:34 +00:00
Kristina a6ac7bdd41 [web] catch failed requests to project/doc metadata endpoints (#33139)
Unhandled promise rejections from these fire-and-forget calls were
surfacing in Sentry. Add .catch(debugConsole.error) to suppress them.

GitOrigin-RevId: a14cd0a3956a2b551210723ad56e7ec5e354a7a7
2026-05-05 08:05:26 +00:00
Kristina d73e2b063a [web] add email notification surveys (#33063)
* feat: update survey link in settings modal
* feat: add survey link to email footer

GitOrigin-RevId: acd22281931bb98eebafa7072dca1c54d48cd972
2026-05-05 08:05:21 +00:00
Kristina 9a670805c4 [scripts] handle creating custom prices (#32607)
GitOrigin-RevId: 3950698ca21de5d8ee87d0531e1e9f562aeb76f8
2026-05-04 08:05:46 +00:00
Kristina a46ca0705f [web] update refund policy in zh-CN from 30 days to 14 days (#33236)
GitOrigin-RevId: 27f6b116b2cc344449417e7e32f7b93784919977
2026-04-30 08:05:18 +00:00
Kristina b556fd40b5 [web] support email sender customization for email notifications (#33035)
GitOrigin-RevId: 9aa298c233c1f314ef3bdb381c20692bd0d4e212
2026-04-27 08:06:35 +00:00
Kristina 4db3982c08 [web] rename BaseWithHeaderEmailLayout -> BaseEmailLayout (#33026)
GitOrigin-RevId: 16967d34d5128a34ec9ddf382eb664e5a8e45065
2026-04-27 08:06:31 +00:00
Kristina b6ec7945f4 [web] update copy in email notifications (#32912)
* add footerMessage to base email template
* add customized subject line and CTA
* add _getBundledActivityList

GitOrigin-RevId: e70c0955485b0892f31e20daa0430faef80b0d64
2026-04-23 08:07:01 +00:00
Kristina a64d1bbb6a [web] display global off treatment in settings modal (#32942)
* display global disabled state
* show loading indicator while project notification preferences load

GitOrigin-RevId: d7e905aaa3fc7b15b54bf99caeabf60c1e5d8050
2026-04-23 08:06:56 +00:00
Kristina 9a129e7cab Merge pull request #32939 from overleaf/kh-update-settings-modal-language
[web] update copy & layout for notifications settings

GitOrigin-RevId: 13b6b78b0b2bddd9d0137362a14bfdbdba9d7d20
2026-04-23 08:06:47 +00:00
Kristina 5c92f85d51 [web] track email notification settings interactions (#32719)
* send setting-changed event
* emit event for global mute notifications

GitOrigin-RevId: 0705ffc331185e0f49fa1103e856040548d4f8bf
2026-04-16 08:05:45 +00:00
Kristina a1ddb69247 [web] track email notification sent and email link clicked (#32715)
* emit email-notification-sent event
* use UTM tags to track email link clicks
* do not include utm_id on session at registration

GitOrigin-RevId: 24091bf8923fa11b8ba5ebfc63a0cea5c0f9f40c
2026-04-16 08:05:40 +00:00
Kristina 21ea6ab989 [web] open project notification settings from URL (#32689)
GitOrigin-RevId: 8d6e1c2d7cb63c1597d952d546121f030b79d126
2026-04-16 08:05:36 +00:00
Kristina 8dce78cd97 [web] rename notifications env variable (#32654)
GitOrigin-RevId: f319fbae7da4c85d21e6c100bb2f6e6ef7c472b3
2026-04-09 08:07:07 +00:00
ad853d661a [migration] fix issues found in finalization script during stage 3b (#32472)
* accept taxInfoPending as tax id comparison point
* convert recurly unit amount to minor units correctly for no cent currencies
* Use original subscription currency in finalization check
* make it easier to spot migrated with tax info pending

---------

Co-authored-by: John Lees-Miller <jdleesmiller@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: d3c74032bc06369fcf6bafb4cfaff85c49a3cfef
2026-03-30 08:05:28 +00:00
Kristina e4e4193d55 [web] update webhook handler to include cancel_at (#32165)
* update webhook handler to include cancel_at
* guard against accidentally marking subscription event as canceled
* fix cancellation edgecase (reactivating a subscription that was canceled from Stripe Dashboard and also has a non-migration schedule)

GitOrigin-RevId: a872e91afa19094d4ae859293fc9669ea3e528f2
2026-03-26 09:06:32 +00:00
Kristina fe7dad5644 [migration scripts] detect account drift between Recurly and Stripe (#32315)
* add a script to detect drift between recurly and stripe
* only flag when Recurly updated since subscription created in Stripe
* add --comparison-date option instead of stripe subscription created time
* reduce API calls by checking Recurly update time earlier

GitOrigin-RevId: f0ecb5644f7445603da020a46e32622fcd2eebf4
2026-03-25 09:05:43 +00:00
Kristina d6ec60017e [web] update scripts to release migration schedules once migrated (#32150)
GitOrigin-RevId: 2fcf773649d2f87764c0cb93bb5623a17647b07c
2026-03-18 09:06:48 +00:00
Kristina d0124862d8 [web] log metrics for mandate.updated Stripe webhook (#32160)
GitOrigin-RevId: ebe83b64f4335b92d5a4d24e1748d7c335c06307
2026-03-18 09:06:43 +00:00
KristinaandJohn Lees-Miller 6c6c807ca0 [web] add script for checking tax estimations (#31404)
* add script to query taxes
* Use full address to determine tax
* use all applied taxes
* include status in tax script output
* add warning to the script
* only normalize US and CA
* default to RoW if no countries specified
* use RateLimiter and pqueue
* only normalize US postal codes

---------

Co-authored-by: John Lees-Miller <jdleesmiller@gmail.com>
GitOrigin-RevId: 01ecc1b1461e955b6c6a798a3a568e5b5f6bbcdb
2026-03-11 09:06:02 +00:00
Kristina aa2ce6f675 [web] handle duplicate customer accounts better (#31677)
* [web] extract card comparison function

* [web] throw if more than 1 duplicate customer account

* [web] attempt to pick the pre-existing account

* [web] overwrite email of duplicate account

* Update services/web/scripts/helpers/migrate_recurly_customers_to_stripe.helpers.mjs

* [web] handle setting being undefined

* [web] allow other account to be reused if migrating account is using paypal

* [web] allow matching for customers with no payment method

GitOrigin-RevId: 7d8eeb4734a20c09ce3e0d73095e28696e212549
2026-03-06 09:07:40 +00:00
Kristina 820adf568e [web] add support for migrating paypal subscriptions (#31607)
* support Paypal for migration
* remove sensitive payment info in logging
* add `resolveStripeCustomer`

GitOrigin-RevId: a8fc7de4a4bf3971c5221a0dec3fc279d8d2f67d
2026-02-20 09:06:43 +00:00
Kristina 8872d851ec [web] rm unnecessary scripts (#31631)
GitOrigin-RevId: c6388685bd9cd43d8d22e38f25db4ee579def808
2026-02-19 09:06:45 +00:00
Kristina 85066c6cb3 [web] various migration script improvements (#31538)
* make warnings more eye catching in clean up dry run
* only increment processedCount after processing
* always rm recurlyAccountCode
* check if existing Stripe customer already has a subscription
* ensure no other customer accounts share the user id
* set recurly_to_stripe_migration_status to cancelled in cancel script
* add script for updating metadata of canceled migrations

GitOrigin-RevId: 3331de480e99774679ff2649b90d41e981a8fdef
2026-02-18 09:05:34 +00:00
Kristina 8ecb575d06 [web] apply runtime improvements to migration cleanup scripts (#31488)
GitOrigin-RevId: bfd7a34ecc5ab0b89a0aebae3f7bec995d490b31
2026-02-12 09:05:56 +00:00
Kristina 21ccf42ae8 [web] add script to bulk cancel subscription schedules (#31469)
GitOrigin-RevId: 1b037eb1335dd14a302bf478c3a4b71e219b074e
2026-02-12 09:05:19 +00:00
Kristina d6cda7f770 [web] throw an error if multiple active subscriptions found (#31458)
GitOrigin-RevId: e0c2fe9ab73b0f8800f419ac1a3ff78adce29c5c
2026-02-11 09:06:47 +00:00
Kristina a9ab247507 [web] add notification message to the dashboard for migrated subscriptions (#31429)
GitOrigin-RevId: 12c14020b9e43e6544bdbd363fd2bc0d4051c80b
2026-02-10 09:06:13 +00:00
Kristina f8d74187e1 [web] prefer mongo email when sending data to customerio (#31378)
GitOrigin-RevId: 33e137239d505e7feb6f6e1b2a00d7b5e60d0880
2026-02-10 09:06:08 +00:00
Kristina a184a0c32f [web] handle pending changes in finalization script (#31342)
GitOrigin-RevId: 3f17c32d897e818d0ae1b0e33e66350de8513a8a
2026-02-10 09:06:03 +00:00
Kristina 1f5fec628b [web] apply runtime improvements to the finalization script (#31360)
* extract RateLimiter
* remove unnecessary remapping and wrappers

GitOrigin-RevId: fda1cdefa15f2f3fa9a042346a5ba4243897b90a
2026-02-10 09:05:58 +00:00
Kristina 4decfd343d [web] update finalization scripts for phase 2 (#31293)
* handle group quantities & add-ons when detecting changes
* include analyticsId in output
* flag users in customer-io
* rely on customer metadata for tax info needing updating
* rollback customer.io data in rollback script
* refactor how we handle errors when migrating to avoid losing data for output

GitOrigin-RevId: f77430b0b366217ac85b72dde92e9364dc879023
2026-02-06 09:05:07 +00:00
Kristina 0cabc81d46 Merge pull request #31218 from overleaf/kh-update-assistant-prices
* update Stripe AI assist prices
* add soft archive option to the archiving prices script

GitOrigin-RevId: 3f0b66cf227e31e03fb3337b3cb4c1b6a82bd1db
2026-02-04 09:06:34 +00:00
Kristina 4bae5f406d [web] fix pending downgrade bug (#31235)
GitOrigin-RevId: a83f21b87abc8758f94900d6af151ea10928047d
2026-02-04 09:06:29 +00:00
Kristina 4c5cdecffa [web] fix bug where pending downgrades are removed when subscriptions change (#30420)
* preserve pending changes when generating change requests
* re-apply pending term_end changes after immediate updates
* block changes when Stripe subscription has multiple phases
* handle MultiplePendingChangesError & rm PendingChangeError

GitOrigin-RevId: 0af11044766ff48e683d684ad6d62b732d17290c
2026-02-03 09:05:55 +00:00
Kristina 3000a9108d [web] fix source on analytics mapping in finalization script (#31143)
* fix source on analytics mapping in finalization script
* add script to redo mappings for finalized subscriptions

GitOrigin-RevId: a62af6c6c7ae11f9bea62ed643c8dfa7595ba99b
2026-01-30 09:06:17 +00:00
Kristina d6fbed2a74 [web] check end state before terminating (#31136)
* check and log unexpected end states before terminating Recurly subscriptions
* update finalize and rollback scripts to only postpone active subscriptions

GitOrigin-RevId: 7fe6ffa56cb8ddf19133eb0cb59e39fd783430b7
2026-01-30 09:06:12 +00:00
Kristina ac1a61cafa [web] remap customer.metadata.recurlyAccountCode in migration scripts (#31097)
* remap customer.metadata.recurlyAccountCode to customer.metadata.userId
* verify recurlyAccountCode is what we expect it to be before setting

GitOrigin-RevId: 8ab1d5e311dba34bb8c15d01096f6c31273a7506
2026-01-29 09:06:08 +00:00
Kristina c876bf2c5f [web] set default payment method based on recurly data (#31025)
GitOrigin-RevId: ad7ffe400748ace66aa7e4775eedb738028c8a0c
2026-01-27 09:06:45 +00:00
Kristina 49591a5190 [web] add scripts to finalize recurly -> stripe migration (#30925)
GitOrigin-RevId: 2149aa516a00b18927fea46e9241496b74478152
2026-01-26 09:06:33 +00:00
Kristina 1228eac81e [web] ensure Stripe & Recurly webhooks can handle a migrating subscription (#30787)
* return early from various event handlers if the subscription isn't controlled by the payment provider sending the event
* update `Subscription` type for webhook events

GitOrigin-RevId: f3fc345c37bbe134b7696ccde9d6d8c7608f8f12
2026-01-20 09:05:36 +00:00
Kristina 29f5026dda [web] fix import products script when tax code is null (#30605)
GitOrigin-RevId: 32ca603376db7f186283514067178d27038a865d
2026-01-12 09:07:16 +00:00
Kristina 4acf79cd54 [web] only emit assistant-add-on-purchase for add-on purchases (#30288)
GitOrigin-RevId: 084e28f02d348fe5504a38f1405250ea2f7b67ce
2025-12-17 09:05:51 +00:00
Kristina c6fc921c11 [web] add script for updating prices for existing Stripe subscriptions (#30216)
GitOrigin-RevId: 8f20a6ba9c7a737bb304d8698c4fbcb06b6ddc8c
2025-12-12 09:06:32 +00:00
Kristina b9224ea11d [web] update recurly change prices script (#30006)
* update recurly change prices script
* write to /tmp/ and add an option to write to stdout
* add analytics events
* default script to renewal

GitOrigin-RevId: 5ebb17ee2c1ad70128391745a994ea6c74c739f9
2025-12-05 09:05:10 +00:00
Kristina eafef60b75 [web] update Stripe archive script to avoid archiving actively used prices (#29978)
* make Stripe export script only export active products and prices
* add a gitignore for the scripts/stripe/output

GitOrigin-RevId: 975d84077c3940d4f5af518e5f8292ea455e1c3a
2025-12-03 09:05:56 +00:00
Kristina 4a9b66627e [web] update pricing settings for Nov 2025 update (#29947)
* update pricing settings for Nov 2025 update
* update `StripeLookupKeyVersion` type
* update unit tests to match new Stripe version

GitOrigin-RevId: f5df5167b605b6667cc19edad09fb2c0f72a293b
2025-11-28 09:06:01 +00:00
Kristina 832068c6e6 [web] fix bad import in new Stripe scripts (#29914)
GitOrigin-RevId: de3be4782ae5e5d0ee5b97e25c7103b5d1e88c9f
2025-11-27 09:05:40 +00:00
Kristina 731bf1d8b6 [web] add scripts for updating Stripe prices (#29858)
* update generate recurly prices script to skip stripe-only prices
* add script for creating new Stripe prices from a CSV
* add script to archive Stripe prices by version key
* add script for exporting Stripe products and prices
* add script to import Stripe products

GitOrigin-RevId: 3c9cf8037d956b9532c3efed5fe8d63f8be53a93
2025-11-27 09:05:35 +00:00
Kristina 42fa9701e5 Merge pull request #29714 from overleaf/kh-rm-dead-sessions-code
[web] remove dead code from Stripe hosted checkout

GitOrigin-RevId: 47372e320dbcee44e04b3bd731a585633433a5c8
2025-11-19 09:06:14 +00:00
Kristina 4e4c6010db [web] rm unused SetupIntentSucceededWebhookEvent (#29708)
GitOrigin-RevId: 9c8cd77c84be66c2032d89b3b4c65ce999c9ccbe
2025-11-19 09:06:09 +00:00
Kristina 198a2fc943 [web] limit trials to one per lifetime (#29682)
* limit trials to one per lifetime
* update warning on checkout

GitOrigin-RevId: 6c9ac771c8b8eaa2bd86bdb9e7f3931783388c0d
2025-11-17 09:05:40 +00:00
Kristina 3194434767 [web] display all Stripe accounts on admin panel (#29625)
* refactor PaymentService.getPaymentProviderAdminUrl to be more useful
* display all stripe customer accounts
* mv change segment modal to each account
* stripeSubscriptionData -> stripeCustomerData

GitOrigin-RevId: 4c1a277f5073ee7cb12f4596210ba4f8624451b8
2025-11-17 09:05:16 +00:00
Kristina 939efc7201 Merge pull request #29564 from overleaf/kh-add-stripe-info-to-front
[web] include Stripe customer dashboard link in Front

GitOrigin-RevId: 73a268426610e48a3211fa8e1e994428c84a79ef
2025-11-17 09:05:11 +00:00
Kristina d3def551ae [web] improve messaging when upgrading from standalone add-on to premium plan + add-on (#29330)
* update userCanStartTrial to consider standalone add-ons
* display correct disabled message on hover
* display error message on preview plan purchase page

GitOrigin-RevId: 57c4e4267c1fd0ea892df8c0f5443ad74847147c
2025-10-29 09:05:59 +00:00
Kristina 05a50710bd [web] display Stripe invoice line items on preview change page (#29280)
GitOrigin-RevId: 267586a33f19f6931e2eb76b33fdf569aa07b4d3
2025-10-29 09:05:54 +00:00
Kristina 16db851978 [web] use the correct Stripe payment confirmation function for upgrades (#29151)
GitOrigin-RevId: d7447d180f1c0320989d7f86bb1d46173e235e46
2025-10-22 08:05:46 +00:00
Kristina d6f2dfd8b1 [web] fix Stripe concurrent idempotency error (#29007)
GitOrigin-RevId: 458f712452241771dff99977e638a3f4d2c113fa
2025-10-14 08:05:38 +00:00
Kristina b0b7822d8d [web] redirect offsite payment failures back to checkout (#28778)
GitOrigin-RevId: 528cc1fa916ac9ec7b2e12d4224f25798253b5a9
2025-10-02 08:06:35 +00:00
Kristina e2e6a52b97 [web] rm unused callback parameter from ProjectDetailsHandler (#28804)
GitOrigin-RevId: 73cbf3a0ff9fcb6da60e6e6f9a6e3ae5196c79c9
2025-10-02 08:06:30 +00:00
Kristina 9e3aba0b6f [web] add translated error messages to Stripe custom checkout (#28730)
GitOrigin-RevId: 06a1e15decdb5f557e68f73cba2ed5ad37fecdac
2025-09-30 08:06:18 +00:00
Kristina 8b33fc86ab [web] style Stripe custom checkout page (#28704)
* [web] style Stripe custom checkout page

GitOrigin-RevId: f3708e391c0d8f49919d31cdfc92b10066868b6e
2025-09-29 08:07:18 +00:00
Kristina e9fd1311a7 Merge pull request #28639 from overleaf/kh-analytics-for-custom-checkout-part-2
[web] support `payment-page-form-*` events for Stripe custom checkout

GitOrigin-RevId: cff1206fe0e9e03fa1c822f02ecca18f7ca27f59
2025-09-29 08:07:09 +00:00
Kristina da76a61646 Merge pull request #28572 from overleaf/kh-analytics-for-custom-checkout
[web] add `payment-page-view`, `payment-page-toggle-payment`, `payment-page-toggle-country` events to Stripe custom checkout

GitOrigin-RevId: a576ee706909e1e363e9ca256e2303a8fd9e1aa7
2025-09-23 08:05:29 +00:00
Kristina 4b3554a350 [web] update webhook event handlers for Stripe custom checkout (#28526)
* do not emit subscription-started when status is incomplete
* emit subscription-started when incomplete subscription transitions to active
* do not emit subscription-expired when status is incomplete_expired
* do not sync incomplete or incomplete_expired Stripe subscriptions
* allow `incomplete*` status to better guard against syncing

GitOrigin-RevId: 4e851f654dcb4bf356280197dd158e834175df12
2025-09-23 08:05:23 +00:00
Kristina b2b9e4c18f Merge pull request #28324 from overleaf/kh-add-stripe-custom-checkout-page
[web] add Stripe custom checkout page

GitOrigin-RevId: ff614f3de828f0061e5c7839f3c017103d58b79a
2025-09-16 08:05:49 +00:00
Kristina c79cc52fcf Merge pull request #28270 from overleaf/kh-add-stripe-payment-context
[web] add stripe payment context

GitOrigin-RevId: 79dfbb1da0dd6b1d36c68c86debffc1edb169961
2025-09-16 08:05:45 +00:00
Kristina 7b3c2b838d Merge pull request #28263 from overleaf/kh-add-create-complete-stripe-subscription
[web] add API endpoints for creating & completing Stripe custom checkout subscriptions

GitOrigin-RevId: 70add674e4a622d409c26e40f64b57812284191c
2025-09-16 08:05:41 +00:00
Kristina d81ae27dda Merge pull request #28244 from overleaf/kh-add-preview-charges-endpoint
[web] add API endpoint for previewing new subscription charges

GitOrigin-RevId: 6a6df51937837ece348c18aacef201eaee57e42d
2025-09-16 08:05:37 +00:00
Kristina 95f51c4d46 Merge pull request #27338 from overleaf/kh-restore-schedule-if-3ds-fails
[web] restore previous subscription schedule when 3DS fails

GitOrigin-RevId: 27977fb82695d5b212256431c57683abf8a93086
2025-07-24 08:05:57 +00:00
Kristina ea2ba8cdbe [web] add error messages for payment failing on upgrade (#27054)
* [web] add error messages for payment failing to upgrade modal
* [web] show payment error on preview change page
* [web] add separate message for 3ds failure

GitOrigin-RevId: b2680ff9b4f01e42f31c1c11457f216a5eadf49d
2025-07-15 08:05:19 +00:00
Kristina 2ac46151f8 Merge pull request #26996 from overleaf/kh-include-region-in-errors
[web] improve errors thrown from StripeClient & PaymentService

GitOrigin-RevId: 59319936cc0caa876d80b068aac324dfe469b343
2025-07-15 08:05:14 +00:00
Kristina 6ce114da77 Revert "Revert "[web] link to correct Stripe dashboard from admin panel (#26756)"" (#26984)
This reverts commit 30aae5a0b0849a736e27e34661971dd9a950202e.

GitOrigin-RevId: c4837ece509a1f8da525f49895402f2f4f298f11
2025-07-10 08:05:21 +00:00
Kristina c5fad346f9 [web] link to correct Stripe dashboard from admin panel (#26756)
* [web] link to correct Stripe dashboard from admin panel
* [web] be more careful about constructing the base URL
* [web] be extra careful about accessing values in the subscription
* [web] switch to plain text environment variables

GitOrigin-RevId: 5fa802fce11967f56289b11476f39e2e1d5a9c74
2025-07-09 08:06:35 +00:00
Kristina a74c0abdf5 Merge pull request #26793 from overleaf/mf-add-missing-public-key-on-purchase-addon
[web] Add missing publicKey to purchase add-on flow when user need to authenticate their payment via 3ds secure flow

GitOrigin-RevId: cc330cb8dad501479bbb3c5c5b4fc32ef9d36921
2025-07-03 08:06:25 +00:00
Kristina 4eee7cd6ef [web] rm annual-prices-monthly-rates split test (#26727)
* [web] rm annual-prices-monthly-rates split test

- rm monthly rates treatment
- rm unused translations
- rm unused supporting functions
- rm unused styles

GitOrigin-RevId: 5901853245cd9b01ee9e4774154d29ae8f5fcae5
2025-07-03 08:06:13 +00:00
Kristina 3f1a930046 [web] make SubscriptionController.cancelSubscription return a status (#26734)
* [web] make SubscriptionController.cancelSubscription return a status
* [web] update acceptance test to match cancel subscription behavior

GitOrigin-RevId: 507809dcb7fa645c2a69e38cdf4a9e3f736622e1
2025-07-03 08:06:09 +00:00
Kristina ffb7f23dfd Merge pull request #26661 from overleaf/kh-support-3ds-for-stripe-us
[web] support 3DS for Stripe US

GitOrigin-RevId: b798b59601f3fb0df54afbcfb19434fbb0b38cdf
2025-06-30 08:06:07 +00:00
Kristina f7a68cb503 Merge pull request #26641 from overleaf/kh-use-stripe-us-client
[web] use Stripe US client

GitOrigin-RevId: 9b99ba8c7ac900c528526cf7e18fec48761e0091
2025-06-30 08:06:02 +00:00
Kristina 3bdc8316e9 Merge pull request #26639 from overleaf/kh-support-stripe-us
[web] support regional Stripe accounts

GitOrigin-RevId: d414d310d8db495635d8e0d3b057e3f56b2f044e
2025-06-30 08:05:57 +00:00
Kristina cc7c01132b Merge pull request #26193 from overleaf/ls-consider-group-plan-when-get-next-subscription-items
Consider group plan when getting next subscription items

GitOrigin-RevId: cbf05c1a7de9e957739273b865c335807a58d739
2025-06-19 08:04:59 +00:00
Kristina 0dab9369ee Merge pull request #26434 from overleaf/kh-limit-trial-extentions
[web] limit trial extensions

GitOrigin-RevId: 57973190cdb57a04ce6a2585394bcb38321838f7
2025-06-18 08:07:00 +00:00
Kristina b15758da97 Merge pull request #26494 from overleaf/kh-fix-trial-transitions
[web] fix upgrades/downgrades while on trial

GitOrigin-RevId: 4076befc5dbbee32b0cf2a4ff99db96a0cf3ad8b
2025-06-18 08:06:55 +00:00