Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Как работают денежные переводы в wp-recall?
10ответ(ов) в теме
zeni1agent
не в сети 5 лет
На сайте с 23.09.2018
Участник
Тем 22
Сообщения 109
1
21:13
Версия WP-Recall: 16.1.5

Я не очень понимаю как работают дополнение User balance и его функциями
Я пытаюсь настроить поле денежного перевода(покупки)
от текущего пользователя к автору поста
я попытался через массив

$args = array(
'pay_summ' => 100,
	'pay_type' => 'donate',
	'pay_systems' => array('user_balance'),
);
echo rcl_get_pay_form($args);

Но я так и не понял куда именно отправляются эти деньги
И как проверить мне денежную систему без подключения к реальному кошельку
Поэтому можете ли вы объяснить мне как это сделать?

Редакции сообщения
21.04.2019 21:14zeni1agentПричина: не указано
0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
21:51

Здравствуйте.

Тему перенес в кастомизации.

К реальным деньгам строчка записи в БД отношения не имеет. Это просто виртуальные цифры.

Пример реального подключения разбирается в этой статье

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

Как работает?
1. Реальные деньги переходят в кошелек выбранного платежного агрегатора (ссылка на статью выше).
2. Платежная система говорит сайту "я приняла столько-то" и сайт в БД записывается факт оплаты на сумму оплаты.
3. Сайт оперирует виртуальными цифрами но не более пополненного значения, в то время когда вся переведенная сумма уже лежит в кошельке выбранного платежного агрегатора

Пункт 2 можно сделать так - пополнить в админке в списке пользователей. Но сами понимаете что это просто начислит виртуальные цифры. В платежный агрегатор реальные деньги вам не придут. Вы задали вопрос - вы, думаю на этом отрезке находитесь, исключили первый пункт.

p.s. переводы между пользователями есть в дополнении Money Wallet Recall

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

- подглядите как это сделано там.

0
zeni1agent
не в сети 5 лет
На сайте с 23.09.2018
Участник
Тем 22
Сообщения 109
3
23:21

p.s. переводы между пользователями есть в дополнении Money Wallet Recall

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

- подглядите как это сделано там.

Я бы посмотрел не будь он в разделе vip статус который стоит денег.

Пример реального подключения разбирается в этой статье

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

Сейчас я решил не лезть сильно глубоко в эти дебри и просто подключил для тестов

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

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

$args = array(
'pay_summ' => 100,
	'pay_type' => 'donate',
	'pay_systems' => array('user_balance'),
);
echo rcl_get_pay_form($args);

только лишь списывает деньги со счета но я не понимаю куда он их перечисляет.

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

zeni1agent сказал(а)
echo rcl_get_pay_form($args);

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

add_action('rcl_success_pay','send_mail_new_donate',10);
function send_mail_new_donate($payData){
    
    //проверяем тип платежа, нам нужен 'donate'
    if($payData->pay_type != 'donate') return false;
	
	//указываем админский емейл сайта
	$email = get_option('admin_email');
	
	//заголовок письма
	$subject = 'Новый Донат!';
	
	//готовим текст письма
	$textMail = '<p>Пользователь: '.get_the_author_meta('display_name',$payData->user_id).'</p>';
	$textMail .= '<p>Сумма платежа: '.$payData->pay_summ.'</p>';
	$textMail .= '<p>Система оплаты: '.$payData->current_connect.'</p>';

	rcl_mail($email,$subject,$textMail);
    
}

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

0
zeni1agent
не в сети 5 лет
На сайте с 23.09.2018
Участник
Тем 22
Сообщения 109
5
09:46

Хорошо но какая функция отвечает за смену баланса определенного пользователя

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

rcl_update_user_balance( $amount, $user_id, $comment = '' )

0
zeni1agent
не в сети 5 лет
На сайте с 23.09.2018
Участник
Тем 22
Сообщения 109
7
10:31

Можете если не трудно тогда ответить еще на несколько вопросов по этой теме.
1 Для получения баланса определенного пользователя нужна rcl_get_user_balance($user_id)?
2 Можно ли совершить перевод только между кошельками пользователей Webmoney с небольшим процентом себе
Что бы не проверять в ручную каждый запрос на вывод?
3 И как вообще сделать запрос на вывод средств пользователя.

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
8
10:40

zeni1agent сказал(а)
3 И как вообще сделать запрос на вывод средств пользователя.

Это есть в дополнении Money Wallet Recall

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

ну а дешево и сердито (хотя вип аккаунтом закрыто более 30-ти дополнений - берите тот доп - все там решено и обкатано годами. Что велосипед изобретать?) - юзер пишет в ЛК вам и говорит - "хочу вывести средства, столько то, на такой то кошелек"
Вы переводите ему и списываете в списке пользователей в админке уменьшая баланс

p.s. не сваливаем кучу вопросов в одну тему. Если на вопрос заданный в первом топике вы получили ответ и все ясно - скажите, я закрою тему. По новому вопросу создаем новую тему

0
zeni1agent
не в сети 5 лет
На сайте с 23.09.2018
Участник
Тем 22
Сообщения 109
9
11:09

Это есть в дополнении Money Wallet Recall

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

ну а дешево и сердито (хотя вип аккаунтом закрыто более 30-ти дополнений - берите тот доп - все там решено и обкатано годами. Что велосипед изобретать?) - юзер пишет в ЛК вам и говорит - "хочу вывести средства, столько то, на такой то кошелек"
Вы переводите ему и списываете в списке пользователей в админке уменьшая баланс

Все было бы намного проще будь у меня деньги. Но их у меня нет от слова совсем. Дальше продолжать не буду а то это довольно быстро перейдет в нытье и вынос мозга.
Поэтому приходится делать все самому криво косо и как получится.

p.s. не сваливаем кучу вопросов в одну тему. Если на вопрос заданный в первом топике вы получили ответ и все ясно - скажите, я закрою тему. По новому вопросу создаем новую тему

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

0
zeni1agent
не в сети 5 лет
На сайте с 23.09.2018
Участник
Тем 22
Сообщения 109
10
13:47

Ладно один из 3 вопросов я смог решить
Я оставлю решение здесь может кому оно и пригодится в будущем

<?php
if ($_POST['Test_num']){
$F1 = get_current_user_id() ; 
$F2 = rcl_get_user_balance($F1);   
$F3 = $F2 - $_POST['Test_num'];  
$R0 = get_post($post->ID, ARRAY_A); 
$R1 =	$R0['post_author']; 
$R2 = rcl_get_user_balance($R1);   
$R3 = $R2 + $_POST['Test_num'];  
if (!($F1 == $R1) and $F3 > 0){
rcl_update_user_balance( $F3, $F1, $comment = '' ); 
rcl_update_user_balance( $R3, $R1, $comment = '' ); 
} else {
	echo "ошибка";
}
}
?>
<form method="POST">
<input name="Test_num" type="number">
<input type="submit">
</form>

Но я так и не понял как делать запрос на вывод средств.

Редакции сообщения
22.04.2019 14:10zeni1agentПричина: не указано
0
Тема закрыта. Публикация новых сообщений запрещена.