Добрый день. Вопрос не из простых.
Касается он настройки платежной системы в интернет-магазине
woocommerce. Проблема заключается в следующем: данные переменной
php (почтовый адрес) передаются в скрипт почему-то закодированными.
Для начала получаю данные поля email введенные пользователем. С помощью
var_dump проверяю, что в переменной содержится верная информация (email
o4137889@nwytg.net), но при передаче переменной внутрь скрипта
accountId: '<?=$order->billing_email?>'
получаю вот такую закодированную строку в **utf-8**
accountId: 'o4137889@nwytg.net',
Причем, не важно выводится ли она через сокращенные <?= ?> или <?php ?> и echo
accountId: '<?php echo $billing_email ?>',
, через переменную или напрямую - результат каждый раз идентичен.
С чем это может быть связано и как исправить?
Код:
global $woocommerce;
$order = new WC_Order( $order_id );
var_dump($order->billing_email); //o4137889@nwytg.net
<script src="https://widget.cloudpayments.ru/bundles/cloudpayments"></script>
<script>
var widget = new cp.CloudPayments();
widget.<?=$widget_f?>({ // options <!-- /////////////??????????????? -->
publicId: '<?=$this->public_id?>', //id из личного кабинета
description: 'Оплата заказа <?=$order_id?>', //назначение
amount: <?=$order->get_total()?>, //сумма
currency: '<?=$this->currency?>', //валюта
invoiceId: <?=$order_id?>, //номер заказа
accountId: '<?=$order->billing_email?>', //идентификатор плательщика
data: <?php echo (($this->kassa_enabled == 'yes') ? json_encode($kassa_array) : "{}") ?>
},
function (options) { // success
window.location.replace('<?=$this->get_return_url($order)?>');
},
function (reason, options) { // fail
window.location.replace('<?=$order->get_cancel_order_url()?>');
}
);
</script>
Сервер находится на unix под управлением vesta cp с php версией 7.2