Домой Каталог: Дополнения WP-Recall Referal-Recall Не учитывается пополнение личного счёта реферала
12ответ(ов) в теме
Cureor
не в сети 2 года
На сайте с 01.06.2019
Участник
Тем 11
Сообщения 31
1
14:09
Версия WP-Recall: 16.17.14
Версия дополнения: 1.6.1

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

К сожалению, на сайте нет услуг и товаров в привычном понимании. Имеется только форма пополнения личного счёта через робокассу, платежи реальные. Вот на эти платежи бы и хотелось повесить процент поощрения рефералу.

Какие есть способы решения этой проблемы и кто возьмётся за реализацию?

0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
2
14:42

разместите в файле функций своей темы код

add_action( 'rcl_success_pay_system', 'rfr_payment_balance', 10 );
function rfr_payment_balance($data){
	if ( $data->pay_type != 1 )
			return false;
			
	add_referall_incentive_order($data->user_id,$data->pay_summ);
}

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

0
Cureor
не в сети 2 года
На сайте с 01.06.2019
Участник
Тем 11
Сообщения 31
3
16:47

Спасибо за ответ. Разместил этот код в файл активной темы functions.php. В настройках поощрение за оплату заказа не увидел, настроил следующим образом

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

Меня смущает эта красная полоса сверху, так должно быть? К сожалению, поощрение не прошло, в кабинете приглашённого платёж в 10 рублей засчитало, пользователь числится рефералом в кабинете.

Редакции сообщения
15.07.2019 16:48CureorПричина: не указано
0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
4
16:52

т.е. баланс того, кто пополнял счет пополнился и в истории платежей на стороне сайта платеж числится?

0
Cureor
не в сети 2 года
На сайте с 01.06.2019
Участник
Тем 11
Сообщения 31
5
17:00

Да. Есть пользователь test, у него реферал test4. Пополнил счёт пользователя test4 на 10 рублей через реальный платёжный гейт робокассы. В счёте test4 платёж отразился. У пользователя test и в базе всех поощрений движений средств не зафиксировано.

Редакции сообщения
15.07.2019 17:02CureorПричина: не указано
0
Cureor
не в сети 2 года
На сайте с 01.06.2019
Участник
Тем 11
Сообщения 31
6
17:08

Вполне может быть, причина в том, что используется модифицированная форма пополнения счёта.

На сайте пополнить счёт пользователя test4 может любой желающий, для этого не требуется регистрация, достаточно отправить кастомную платёжную форму на странице /author/test4.

0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
7
17:20

что же сразу не сообщили об этом, тогда для вас код будет таким

add_action( 'rcl_success_pay_system', 'rfr_payment_balance', 10 );
function rfr_payment_balance($data){
		
	if ( $payData->pay_type != 'pbu-payment' )
		return false;

	$baggage = $payData->baggage_data;

	$recipient_id	 = $baggage->recipient_id;
			
	add_referall_incentive_order($recipient_id,$data->pay_summ);
}

0
Cureor
не в сети 2 года
На сайте с 01.06.2019
Участник
Тем 11
Сообщения 31
8
18:03

Спасибо за желание помочь, но пока безрезультатно. Может поля называются иначе?

Примеры какого кода скинуть, где посмотреть логи? Или могу дать временный доступ.

0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
9
18:31

так пробуйте

add_action( 'pbu_payment', 'rfr_payment_balance', 10 );
function rfr_payment_balance($payData){
		
	if ( $payData->pay_type != 'pbu-payment' )
		return false;

	$baggage = $payData->baggage_data;

	$recipient_id	 = $baggage->recipient_id;
			
	add_referall_incentive_order($recipient_id,$payData->pay_summ);
}

1
Cureor
не в сети 2 года
На сайте с 01.06.2019
Участник
Тем 11
Сообщения 31
10
18:45

Ну почти получилось, правда пришёл ноль вместо ожидаемых 0.375 (или 0.5) рубля

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

,

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

При оплате на сайте фигурирует такой параметр как "коэффициент начисления", который в данном случае при оплате 10 рублей зачисляет пользователю только 7.5 рубля. Возможно обрабатывается не тот параметр и идёт null.

add_action( 'rcl_success_pay', 'pbu_payment', 10 );
function pbu_payment( $payData ) {

	if ( $payData->pay_type != 'pbu-payment' )
		return false;

	$baggage = $payData->baggage_data;

	$recipient_id	 = $baggage->recipient_id;
	$user_name		 = $baggage->user_name;
	$user_phone		 = $baggage->user_phone;

	$balance = rcl_get_user_balance( $recipient_id );

	$multiplier = get_user_meta( $recipient_id, 'multiplier', 1 ) ? get_user_meta( $recipient_id, 'multiplier', 1 ) : 0.75;

	$balance += round( $payData->pay_summ * $multiplier, 2 );

	rcl_update_user_balance( $balance, $recipient_id, __( 'Оплата' ) );

Редакции сообщения
15.07.2019 18:45CureorПричина: не указано
0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
11
19:33

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

1
Cureor
не в сети 2 года
На сайте с 01.06.2019
Участник
Тем 11
Сообщения 31
12
20:35

Спасибо, работает. Отличная техподдержка.

Реальные суммы больше тестовой, так что ситуации начисления нуля, надеюсь, не будут возникать при эксплуатации.

0
Вы не имеете права на публикацию сообщений в этой теме