Домой Wp-Recall WP-Recall: Проблемы и решения Проблемы со стоимостью заказа
6ответ(ов) в теме
laloli
не в сети 10 лет
На сайте с 29.07.2013
Участник
Сообщения 35
1
13:13

Здравствуйте, Андрей!
У нас возникла ситуация, когда клиент сделав заказ по одной стоимости оплачивает в Интеркассе другую.
Скриншоты данных заказов и оплаты _http://maxicase.ru/error.zip
Интеркасса ответила:
"Платеж 19919123 успешно зачислен 28.01.2014 07:23:11 в систему Интеркасса на ресурс. Клиент создал заказ на 2.06, и столько же и оплатил."
Как такое возможно и что нам делать?
Очень ждем ответа, спасибо!

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16925
2
13:35

Очевидно у вас уже устаревшая версия магазина.
Откройте файл ajax-func.php в папке дополнения магазина и примерно на строке 1041 найдите $out_summ = $_POST['count']; и замените на $out_summ = $sumprise;

0
laloli
не в сети 10 лет
На сайте с 29.07.2013
Участник
Сообщения 35
3
13:21

У нас стоит первая платная версия магазина, она устаревшая?
Проблема в том, что уже два клиента заказали заказы на сумму от 2500 до 5500, а оплатили 2 или 3 рубля, причем один из них успешно получил заказ! Судя по всему оплатили они нужную сумму, но в Интеркассе отразили эти самые 2 или 3 рубля и они отказались перечислить разницу нам, а только клиентам, Судя по их словам проблемы в магазине.

Что-то не нашла что менять:
<?php
/*************************************************
Регистрация пользователя
*************************************************/
function register_user_recall(){
global $wpdb;
$pass = $_POST['user_pass'];
$pass_confirm = $_POST['pass_confirm'];
$email = $_POST['user_email'];
$login = $_POST['login_user'];
$fio = $_POST['fio_user'];

$get_fields = get_option( 'custom_profile_field' );
$get_fields = unserialize( $get_fields);
$requared = true;

if($get_fields){
foreach((array)$get_fields as $custom_field){
$slug = str_replace('-','_',$custom_field['slug']);
if($custom_field['requared']==1){
if($custom_field['type']=='checkbox'){
$chek = explode('#',$custom_field['field_select']);
$count_field = count($chek);
for($a=0;$a<$count_field;$a++){
$slug_chek = $slug.'_'.$a;
if($_POST[$slug_chek]=='undefined'){
$requared = false;
}else{
$requared = true;
break;
}
}
}else{
if(!$_POST[$slug]) $requared = false;
}
}
}
}

if(!$pass||!$email||!$pass_confirm||!$login||!$requared){
$res['int']=1;
$res['recall'] .= '

Заполните обязательные поля, отмеченные звездочкой!
';
}

$res_email = email_exists( $email );
$res_login = username_exists($login);
$correctemail = is_email($email);
$valid = validate_username($login);
if($res_login||$res_email||!$correctemail||$pass!=$pass_confirm||!$valid){
if(!$valid){
$res['int']=1;
$res['recall'] .= '

В логине используются недопустимые символы!
';
}
if($res_login){
$res['int']=1;
$res['recall'] .= '

Этот логин уже используется!
';
}
if($res_email){
$res['int']=1;
$res['recall'] .= '

Этот email уже используется!
';
}
if(!$correctemail){
$res['int']=1;
$res['recall'] .= '

Вы ввели некорректный email!
';
}
if($pass!=$pass_confirm){
$res['int']=1;
$res['recall'] .= '

Введенные пароли не совпадают!
';
}
}else{

$userdata = array(
'user_pass' => $pass //обязательно
,'user_login' => $login //обязательно
,'user_nicename' => ''
,'user_email' => $email
,'display_name' => $fio
,'nickname' => $login
,'first_name' => $fio
,'rich_editing' => 'true' // false - выключить визуальный редактор для пользователя.
);

$user_id = wp_insert_user( $userdata );
update_usermeta($user_id, 'show_admin_bar_front', 'false');

if($user_id){

if($get_fields){
foreach((array)$get_fields as $custom_field){
$slug = str_replace('-','_',$custom_field['slug']);
if($custom_field['type']=='checkbox'){
$chek = explode('#',$custom_field['field_select']);
$count_field = count($chek);
for($a=0;$a<$count_field;$a++){
$slug_chek = $slug.'_'.$a;
if($_POST[$slug_chek]!='undefined') update_usermeta($user_id, $slug_chek, $_POST[$slug_chek]);
}
}else{
if($_POST[$slug]) update_usermeta($user_id, $slug, $_POST[$slug]);
}
}
}

$regcode = md5($login);

add_filter('wp_mail_content_type',create_function('', 'return "text/html";'));
$headers = 'From: '.get_bloginfo('name').' ' . "rn";
$subject = 'Подтвердите регистрацию!';
$textmail = '
Вы или кто то другой зарегистрировались на сайте "'.get_bloginfo('name').'" со следующими данными:

Логин: '.$login.'

Пароль: '.$pass.'
';

if(get_option('confirm_register_recall')==1){
update_usermeta($user_id, 'account_confirm', 'false');
$res['recall']='

Регистрация завершена!
Для подтверждения регистрации перейдите по ссылке в письме, высланном на указанную вами почту.
';
$textmail .= 'Если это были вы, то подтвердите свою регистрацию перейдя по ссылке ниже:

'.get_bloginfo('wpurl').'/?rglogin='.$login.'&rgpass='.$pass.'&rgcode='.$regcode.'
';
}else{
$res['recall']='

Регистрация завершена!
Авторизуйтесь на сайте, используя логин и пароль указанные при регистрации
';
$wpdb->insert( RCL_PREF.'user_action', array( 'user' => $user_id, 'time_action' => '' ));
}

$textmail .= 'Если это были не вы, то просто проигнорируйте это письмо

------------------------------------------------------------

Это письмо было создано автоматически, не надо отвечать на него
';
wp_mail($email, $subject, $textmail, $headers);

$res['int']=100;
}
}

echo json_encode($res);
exit;
}
add_action('wp_ajax_register_user_recall', 'register_user_recall');
add_action('wp_ajax_nopriv_register_user_recall', 'register_user_recall');

function chek_user_authenticate($email){
if ( $user = get_user_by('login', $email) ){
if(get_the_author_meta('account_confirm',$user->ID)){
wp_redirect( get_bloginfo('wpurl').'?getconfirm=needed' ); exit;
}
}
}

function confirm_user_registration(){
global $wpdb;

$reglogin = $_GET['rglogin'];
$regpass = $_GET['rgpass'];
$regcode = md5($reglogin);

if($regcode==$_GET['rgcode']){
if ( $user = get_user_by('login', $reglogin) ){
delete_usermeta($user->ID, 'account_confirm');

$time_action = date("Y-m-d H:i:s");
$wpdb->insert( RCL_PREF.'user_action', array( 'user' => $user->ID, 'time_action' => $time_action ) );

$creds = array();
$creds['user_login'] = $reglogin;
$creds['user_password'] = $regpass;
$creds['remember'] = true;
$sign = wp_signon( $creds, false );

if ( is_wp_error($sign) ){
wp_redirect( get_bloginfo('wpurl').'?getconfirm=needed' ); exit;
}else{
wp_redirect( get_author_posts_url($user->ID) ); exit;
}
}
}else{
wp_redirect( get_bloginfo('wpurl').'?getconfirm=needed' ); exit;
}
}

function confirm_user_resistration_activate(){
if ($_GET['rgcode']&&$_GET['rglogin']){
add_action( 'wp', 'confirm_user_registration' );
}
}

if(get_option('confirm_register_recall')==1){
add_action('init', 'confirm_user_resistration_activate');
add_action('wp_authenticate','chek_user_authenticate');
}
/*************************************************
Авторизация пользователя
*************************************************/
function sign_user_in_account_recall(){
$pass = $_POST['user_pass'];
$login = $_POST['login_sign'];
if($pass&&$login){

if ( $user = get_user_by('login', $login) ){
if(get_the_author_meta('account_confirm',$user->ID)){
$res['int']=1;
$res['recall'] .= '

Подтвердите ваш аккаунт!
Для этого перейдите по ссылке в письме, высланном на почту, указанную вами при регистрации.
';
echo json_encode($res);
exit;
}
}
$creds = array();
$creds['user_login'] = $login;
$creds['user_password'] = $pass;
$creds['remember'] = true;
$user = wp_signon( $creds, false );
if ( is_wp_error($user) ){
//$user->get_error_message()
$res['int']=1;
$res['recall'] .= '

Логин или пароль были набраны неверно

Вы не можете просматривать опубликованные ссылки

';

}else{
rcl_update_timeaction_user();
$res['redirect'] = get_author_posts_url($user->id);
$res['int']=100;
$res['recall']='

Успешный вход! Вы будете перенаправлены на свою страницу.
';
}
}else{
$res['int']=1;
$res['recall'] .= '

Все поля обязательны для заполнения!
';
}

echo json_encode($res);
exit;
}
add_action('wp_ajax_sign_user_in_account_recall', 'sign_user_in_account_recall');
add_action('wp_ajax_nopriv_sign_user_in_account_recall', 'sign_user_in_account_recall');

/*************************************************
Добавляем textarea в поле профиля для внесения настроек
*************************************************/
function get_data_type_profile_field_recall(){
global $wpdb;

$type = $_POST['type'];
$slug = $_POST['slug'];

$content = '';

$data['result']=100;
$data['content']= $content;
echo json_encode($data);

exit;
}
add_action('wp_ajax_get_data_type_profile_field_recall', 'get_data_type_profile_field_recall');
add_action('wp_ajax_nopriv_get_data_type_profile_field_recall', 'get_data_type_profile_field_recall');
?>

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16925
4
20:12

Если у вас магазин установлен как отдельный плагин, значит он уже устарел, тк в данное время он распространяется только как дополнение к wp-recall подключаемое через менеджер дополнений плагина.
Вы внимательно читали, что я написал в предыдущем комментарии? Я писал про файл ajax-func.php дополнения магазина, а не плагина wp-recall.

0
laloli
не в сети 10 лет
На сайте с 29.07.2013
Участник
Сообщения 35
5
11:13

Андрей, у нас стоит первая платная версия, магазин внутри плагина и то, о чем Вы сказали ($out_summ = $sumprise), правильно.
Хотелось бы понять, в чем причина того, что клиенты вместо 5000 платят 3 доллара, может ли это повториться и от чего зависит.

=0){
session_start();
$sum_price = $_SESSION['sumprice'];
$product_price = $_SESSION[$prod_id];
$allprod = $_SESSION['allprod'];
$allprod = $allprod + $number;

/*if($id_custom>=0){
$customprice = unserialize(get_post_meta($id_post, 'custom-price', 1));
$price1 = $customprice[(int)$id_custom]['price'];
}else{
$price1 = get_post_meta($id_post,'price-products',1);
}*/
$price1 = get_post_meta($id_post,'price-products',1);
$price = $number * $price1;
$product_price = $price + $product_price;
$sum_price = $price + $sum_price;
$_SESSION['sumprice'] = $sum_price;
$_SESSION[$prod_id] = $product_price;
$_SESSION['allprod'] = $allprod;
$log['data_sumprice'] = $_SESSION['sumprice'];
$log['sumproduct'] = $_SESSION[$prod_id];
$log['allprod'] = $allprod;
$log['recall'] = 100;
}else{
$log['recall'] = 200; //Отрицательное значение
}

echo json_encode($log);
exit;
}
......................................................................................
......................................................................................

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16925
6
11:52

laloli said Хотелось бы понять...

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

Очевидно у вас уже устаревшая версия магазина.
Откройте файл ajax-func.php в папке дополнения магазина и примерно на строке 1041 найдите $out_summ = $_POST['count']; и замените на $out_summ = $sumprise;

0
Тема закрыта. Публикация новых сообщений запрещена.