wp-calypso icon indicating copy to clipboard operation
wp-calypso copied to clipboard

Checkout: Show information about expiration dates (at least when renewing subscriptions that already expire far in the future)

Open DavidRothstein opened this issue 1 year ago • 2 comments

What

When I go to renew a subscription, even one that expires far in the future, all I see in checkout is this:

checkout-renewal

There isn't anything telling me the current expiration date, or the new expiration date after I renew. And there isn't anything in the fine print (terms of service section) at the bottom of checkout showing me that either.

Maybe we should add something to display that -- at least when the subscription's current expiration date is far enough in the future that we think there's a reasonable chance the user is renewing by accident?

Why

This might help reduce cases where a customer accidentally renews their subscription more than once, and then needs help to restore it to the intended state.

Internal background discussion: pNPgK-6h2-p2#comment-26428

How

No response

DavidRothstein avatar Aug 27 '24 16:08 DavidRothstein

Support References

This comment is automatically generated. Please do not edit it.

  • [ ] pNPgK-6h2-p2#comment-26428

github-actions[bot] avatar Aug 27 '24 17:08 github-actions[bot]

From planning:

This seems like a good improvement to go ahead and action. Let's start by conservatively showing the current and new expiration dates under the following conditions:

  • only renewals
  • only for renewals, where the current subscription is more than 9 months away from expiration

michaeldcain avatar Aug 27 '24 17:08 michaeldcain

Currently most of the expiry and renewal info for shopping cart items (for example, the next renewal date) is, for historical reasons, inside the terms_of_service in the cart, rather than listed alongside the cart item. Some day I'd like to move it to the relevant cart item instead but even now it is possible to associate the two. However, the terms_of_service property is not set for products which don't have "promotional pricing" data, so this might be a good time to try at least copying some of those dates (and maybe prices) to the cart items instead.

sirbrillig avatar Nov 01 '24 22:11 sirbrillig

Just for a proof-of-concept, here's what I see for a plan renewal if I just disable two guards inside the shopping cart serializer which only allow add terms_of_service to introductory offers. I've made no frontend changes.

Image

That might be the fastest way to address this issue, although it's not very obvious in the UI. Maybe we should consider adding something new to the line item UI for a renewal.

sirbrillig avatar Nov 01 '24 22:11 sirbrillig

I've made a diff to add two dates to every shopping cart item: D165321-code adds subscription_expiry_date and subscription_auto_renew_date. They're the same dates used by terms_of_service but will be present even for products which do not have an introductory offer (though we still hide them for domain transfers and multi-year domains). If that works well we can make a UI in checkout to display one or both of those dates alongside the cart item.

sirbrillig avatar Nov 01 '24 23:11 sirbrillig

https://github.com/Automattic/wp-calypso/pull/96091 is an attempt to show these dates in checkout. I'll get some feedback on the design before putting up for review.

Image

sirbrillig avatar Nov 05 '24 23:11 sirbrillig