Получить значение пароля при создании учетной записи во время оформления заказа WooCommerce

Я подключаюсь к внешнему API CRM, где я пытаюсь создать учетную запись, используя одно и то же имя пользователя и пароль (которые клиент создает при регистрации на странице оформления заказа) для обеих учетных записей. Можно ли получить пароль пользователя до его хеширования с помощью WordPress?

Я получаю доступ ко всей другой информации о заказе пользователя, которая мне нужна, из WooCommerce и передаю через API в CRM:

$order = new WC_Order($order_id);
$order->billing_first_name;
$order->billing_last_name;
...

Мне нужен только пароль без хэширования. Я просмотрел документацию WC_Order здесь: http://docs.woothemes.com/wc-apidocs/class-WC_Order.html и не видел хорошего ответа.

Для ясности, я не публикую не хэшированный пароль ни в одной из баз данных. WP собирается хэшировать PW и хранить его как обычно. Я пытаюсь создать другую учетную запись одновременно с тем же именем пользователя и паролем через Neon API http://help.neoncrm.com/node/12. Я не верю, что это возможно сделать, если pw уже хэшируется WP.

0

Решение

Я решил проблему с помощью специального плагина WooCommerce, который подключается к

'woocommerce_order_status_completed'

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

'woocommerce_payment_complete_order_status'

Вы можете увидеть полный метод и фильтр здесь: http://www.rcorreia.com/woocommerce/woocommerce-automatically-set-order-status-payment-received/

Внутри метода фильтра в вашем плагине или теме для

'woocommerce_order_status_completed'

пароль учетной записи можно передать в Neon API, выполнив что-то вроде:

$accountPassword = sanitize_text_field($_POST['account_password']);

затем передавая другие параметры запроса данных пользователя с паролем как:

array( ... 'individualAccount.login.password' => $accountPassword);
1

Другие решения

Других решений пока нет …