Woo выпустили диагностический инструмент WooCommerce Subscriptions Health Check для проверки автоматически продлеваемых подписок

Компания Woo выпустила новый диагностический инструмент для WooCommerce Subscriptions, выполнив свое обещание, данное на прошлой неделе после того, как один из разработчиков публично сообщил о четырех багах, нарушивших автоматическое продление подписок в некоторых магазинах.

Инструмент Subscriptions Health Check, анонсированный 30 апреля Дарреном Этье, директором по разработке в Automattic, позволяет продавцам сканировать свои магазины, чтобы выявить подписки, автоматическое продление которых по каким-либо причинам было приостановлено.

«Хотя этот инструмент был в наших планах, мы ускорили работу над ним после публичного сообщения о четырех багах, которые могли вести к неожиданному прекращению действия подписок», — рассказал Этье в посте в блоге Woo Developer Blog. – «Но в процессе определения масштабов корректировок мы быстро поняли, что подписка, застрявшая в таком состоянии, представляет собой проблему вне зависимости от причин ее возникновения».

Инструмент находится в разделе WooCommerce > Status > Subscriptions и предлагает три опции просмотра: все подписки, подписки с поддержкой автопродления, но помеченные как продлеваемые вручную, а также подписки без продлений. Продавцы могут запускать сканирование по запросу или включать автосканирование.

Подписка попадает в список «Supports auto-renewal» («поддерживает автоматическое продление»), если она активна, приостановлена или ожидает отмены, помечена для ручного продления, имеет способ оплаты, заданный в платежном шлюзе, поддерживающем автоплатежи, или у клиента имеется хотя бы один сохраненный платежный токен для этого шлюза.

Вкладка «Missing renewals» содержит активные или приостановленные подписки, для которых дата следующего платежа либо отсутствует, либо уже истекла, и нет соответствующего заказа на продление.

Для каждой подписки инструмент отображает дату создания, данные клиента, цикл расчетов, статус, режим выставления счетов, предпочтительный способ продления, способ оплаты, дату следующего платежа, статус заказа на продление и последний успешный платеж. Подписки, импортированные вручную с других платформ, помечаются, если обнаружено примечание об импорте.

Инструмент не меняет подписки без явного согласия продавца и не фильтрует корректные продления, выполненные вручную. Подписки, от которых клиенты отказались, которые были импортированы вручную или которые находятся в магазинах с отключенными автоплатежами, отображаются тоже, но при этом они четко помечены для лучшего понимания.

Проблема не так опасна, нежели сообщалось изначально

В своем посте Этье подтвердил, что все четыре бага, найденных Сайбре Ваайером, основателем The SEO Framework, действительно существуют, но отметил, что масштабы проблем были преувеличены в публичных обсуждениях.

По словам Этье, три бага из четырех были исправлены в более ранних релизах, включая один в марте 2024 года и два в конце 2023 года. Четвертый баг был исправлен в релизе WooCommerce Subscriptions 8.6.1, выпущенном 23 апреля.

Этье написал, что баги имели разный масштаб и разное влияние. Второй баг, к примеру, отличался от остальных тем, что он ломал сроки продления подписок в узком промежутке с августа по декабрь 2023 года, а не переключал их в ручной режим при оформлении заказа.

«Переключение в ручной режим при оформлении заказа» происходило при одновременном наличии багов 1 и 3 для магазинов с HPOS. Вероятность поломки подписок существенно снижалась при исправлении любого из этих багов.

В патче 8.6.1 был исправлен баг 4, из-за которого смена способа оплаты подписки или переключение между продуктами могли переводить подписки с ручным продлением в автоматический режим, игнорируя намерения подписчика.

«Следовательно, самый проблемный период охватывает примерно октябрь 2023 – март 2024 года, с небольшим «хвостом» до 9 мая 2024 года для тех магазинов, которые не успели обновиться до WCS 6.1.0», — резюмировал Этье. – «Любая подписка, созданная после обновления магазина до WCS 6.3.0 (мая 2024), уже не затронута багами».

Этот временной период противоречит утверждениям Ваайера в X о том, что первый баг датирован ноябрем 2015 года, а второй – 2016 годом. Этье также заявил, что диагностические запросы, которые компания Woo провела по магазинам в своей управляемой инфраструктуре, показали, что затронуто примерно 0,1% подписок, что намного меньше, чем предполагалось в публичном обсуждении.

Этье отверг характеристику «тихой смерти» подписок

По словам Этье, после того, как подписка ошибочно переключалась на ручное продление, она вела себя идентично подпискам, намеренно настроенным таким образом. В первую дату продления WooCommerce Subscriptions приостанавливал подписку, создавал заказ на продление, после чего отправлял инвойс Customer Renewal Invoice в электронном письме, что включено по умолчанию в 91,8% магазинов, согласно данным по магазинам, согласившимся на отслеживание.

«В большинстве затронутых магазинов подписчик получал электронное письмо с предложением оплатить подписку вручную», — отметил Этье. – «Продавец такого письма обычно не получал. Если подписчик игнорировал инвойс, подписка оставалась приостановленной, и никаких дальнейших событий, связанных с продлением, не происходило до тех пор, пока он не производил оплату, поэтому большинство затронутых подписчиков получали всего одно уведомление».

Этье отметил, что только баг 2 был исключением. В очень редких случаях из-за повреждения расписания срабатывание событий продления могло вообще прекратиться без каких-либо отметок в логах.

Компания Woo признала обвинения в нечеткости чейнджлогов

Этье ответил на критику Ваайера о том, что записи в чейнджлогах для трех ранее исправленных багов были расплывчатыми и не отражали потенциального влияния на продавцов.

«Когда эти баги были выявлены, внутри компании они характеризовались как проблемы совместимости с HPOS – при внедрении поддержки HPOS были выявлены проблемы с аннулированием кэша и синхронизацией данных», — отметил он.

«Мы не проводили грань между «ошибкой устаревшего кэша» и «зависанием подписки на ручном продлении при оформлении заказа». Записи в чейнджлоге были технически точными, но не отражали влияние на продавцов.

Мы не пытались преуменьшить проблему. Это просто мелкий недочет документирования».

Этье заявил, что компания Woo изменила свой подход к оценке влияния багов на продавцов.

«Если исправление бага оказывает вероятное влияние на выручку продавцов или на поведение клиентов, это должно быть указано в чейнджлоге – и, если это оправдано, исправление должно сопровождаться прямым информированием продавцов, которые могут быть с высокой вероятностью затронуты».

Этье отметил, что следующая версия диагностического инструмента будет предлагать контекстные действия, которые можно будет предпринять для обработки затронутых подписок непосредственно из интерфейса чекера. Соответственно, продавцам не придется вручную редактировать подписки.

«Мы применяем более осторожный подход из-за разных вариантов использования подписок в экосистеме», — добавил Этье.

Компания Woo также связалась с продавцами на своем управляемом хостинге, в магазинах которых были обнаружены потенциально затронутые подписки.

Источник: https://www.therepository.email

Дмитрий/ автор статьи
CCO, Senior SEM/PPC Specialist, WordPress-энтузиаст, переводчик с английского и немецкого. Серый кардинал русскоязычного WP-комьюнити.
Блог про WordPress
Добавить комментарий

Получать новые комментарии по электронной почте.