У меня возникла проблема с WordPress/Woocommerce, создающей второй заказ для клиентов. Это приводит к двум проблемам, которые я опишу ниже. Вот этот процесс я следую:Процесс оформления Woocommerce, создающий новый заказ при оплате
- Создать и заполнить новый WooCommerce подписки объект
- Создать новый заказ на продление (это будет ID 1033 ниже) и отправить счет-фактуру клиента
- журналы клиентов в и находит отложенный ордер на странице «Моя учетная запись»
- Клиент открывает отложенный ордер и заполнен нужной продукцией и ценой. Клиент оплачивает правильную сумму
- После оплаты клиент находится на экране квитанции, но для нового заказа. Старый порядок все еще сидит на их счете как ожидающий.
После просмотра журнала доступа, я могу видеть это:
- Вот ссылка запись (предоплата):/выписка/заказ плати/1033
- И вот обзор ссылка (после оплаты):/выписка/заказ принят/1055
проблемы я сталкивающиеся являются:
- Я проверил завершение платежей более десятка раз и смог воспроизвести его только в первый раз. Я выполнил те же самые шаги, насколько это возможно, безрезультатно (все другие транзакции обрабатываются, как ожидалось, без создания дополнительных заказов)
- Начальный заказ подключен к подписке, и по завершении платежа подписка настроена на автоматические платежи. Эта проблема с новым порядком заключается в ее отсоединении, и автоматические платежи не могут быть активированы до тех пор, пока после следующего платежа не будет обработана (месяц спустя) и будет полагаться на клиента, который вручную отправит заказ еще раз.
Кто-нибудь есть идеи, почему WordPress/Woocommerce создает второй заказ после оплаты.
У меня тоже были некоторые с ними, и я забыл вернуться и ответить на вопрос после того, как они его разрешили, но это абсолютно правильно. Проблема была ошибкой в строке 200 файла woocommerce/includes/class-wc-checkout.php.Этот код: '$ order_data ['cart_hash'] === get_post_meta ($ order_id, '_cart_hash', true)' будет вычислять cart_hash в зависимости от местоположения налога, которое может измениться, если пользователь попытался изменить свой платежный адрес из того, что было отправлено им. –