Jump to content

Платежи YooMoney


Павел
 Share

Recommended Posts

Платежи YooMoney это многофункциональное приложение, являющееся по сути интеграцией Invision Community с платёжным сервисом YooMoney.

Оплачивайте товары в Коммерции

Приложение содержит в себе платёжный шлюз для приложения Commerce. Это означает, что вы можете настроить оплату товаров и подписок на вашем сайте с помощью кошелька пользователей платёжного сервиса ЮMoney. 

Вознаграждения за посты

Интеграция с YooMoney позволяет настроить простую и быструю оплату за посты, тем самым пользователи могут благодарить друг друга переводами за полезные посты.

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

Лидеры по вознаграждениям

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

Информация и история операций

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

Уведомления

Каждый раз, когда пост получает вознаграждение, его автор получает уведомление об этом.

Виджеты

Вы можете разместить на любой странице вашего сайта блок с топ пользователями, кто больше всех благодарил за посты.

Настройки

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

 

Если у вас есть какие-то вопросы или пожелания по функционалу интеграции с YooMoney, вы можете написать нам по обратной связи. Все предложения будут получены и рассмотрены.


Просмотр полной приложение

Link to comment
Share on other sites
  • 6 months later...

не работает, 

"Ошибка

Этому приложению отказано в доступе.
Свяжитесь с его разработчиком и укажите сведения об ошибке (invalid_request)"

Link to comment
Share on other sites
  • 2 weeks later...

Хорошая тема вознаграждения за посты (или донаты).

У меня вопрос, а можно ли тоже самое сделать как то отдельно, без привязке к  YooMoney? Я просто модулем Коммерция никогда не занимался, Поэтому спрашиваю

Link to comment
Share on other sites

KGB, здравствуйте. YooMoney имеет гибкий и современный API, что позволяет делать такие вот интеграции. Здесь приложение Коммерция фактически не затрагивается. В принципе можно реализовать любую задачу, если API это позволяет.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

beta здравствуйте. Согласен, есть некоторое недоверие к сторонним сервисам, тем более когда речь идёт про деньги. Но пора учиться доверять. Кроме того API был разработан как раз для максимально удобной и быстрой оплаты.

Link to comment
Share on other sites

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

Но это так, мысли в слух.

Снимок экрана 2021-09-25 в 02.01.42.png

Link to comment
Share on other sites

beta суть была в том, чтобы обойти стандартный функционал Коммерции - добавление в корзину, создание счёта и т.п.

Возможно доберёмся до реализации вашей идеи ;) 

Link to comment
Share on other sites
В 24.09.2021 в 16:28, Кирилл сказал:

что позволяет делать такие вот интеграции. Здесь приложение Коммерция фактически не затрагивается.

Я немножко о другом. Скорее об этом

 

20 часов назад, beta сказал:

через прием платежа на сайте,


Т.е через создание "внутренней" платежной системы на сайте, по аналогии, например, с VК.

И да!

Один момент, который "напряг" меня и наверняка напряжет других. При первой попытке отправить  на одном из сайтов, где установлено это приложение, деньги пользователю меня без предупреждения и объяснения перекидывает на сайт Юмани где предлагают разрешить какое то непонятное приложение через которое можно получить всю информацию о моем "кошелке".  Я то понимаю о чем речь, но многих подобное может просто отпугнуть.
 

Link to comment
Share on other sites

KGB идея ясна. Создал от вашего имени идею в профильном приложении, дальнейшее обсуждение лучше обсуждать там. Если у вас есть ещё какие-либо идеи, пожалуйста, создавайте их здесь: https://invisionbyte.ru/ideas/.

Спасибо, мы ценим любые идеи/предложения!

Link to comment
Share on other sites
В 25.09.2021 в 22:36, KGB сказал:

Один момент, который "напряг" меня и наверняка напряжет других. При первой попытке отправить  на одном из сайтов, где установлено это приложение, деньги пользователю меня без предупреждения и объяснения перекидывает на сайт Юмани где предлагают разрешить какое то непонятное приложение через которое можно получить всю информацию о моем "кошелке".  Я то понимаю о чем речь, но многих подобное может просто отпугнуть.

Да, в наше время обмана в интернете на каждом шагу, пользователю сложно будет подтвердить права приложению. Это большой минус этого приложения, который приведёт к его крайне малой популярности. Таковы реалии :( 

Link to comment
Share on other sites
В 26.09.2021 в 00:25, Павел сказал:

Да, в наше время обмана в интернете на каждом шагу, пользователю сложно будет подтвердить права приложению.

Ну возможно сделать всплывающие окно с с предупреждением и кнопкой, которую пользователь будет нажимать уже осознано?

 И такой момент.

Приложения, я так понимаю, может и без модуля Коммерция работать?

Тогда в файле Application.php можно добавить следующий код
 

	/**
	 * Returns the ACP Menu JSON for this application.
	 *
	 * @return array
	 */
	public function acpMenu()
	{
		$menu = parent::acpMenu();

		if( ! \IPS\Application::appIsEnabled( 'nexus' ) )
		{
			$menu['yoomoney']['settings']['tab'] = 'members';
		}

		return $menu;
	}

Тогда. если модуль коммерция не установлен, то не будет "дырки".

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

Кстати, а где взять русский язык? Здесь мне скачать не дает, а на invisioncommunity его нету

Link to comment
Share on other sites
В 26.09.2021 в 00:25, Павел сказал:

Да, в наше время обмана в интернете на каждом шагу, пользователю сложно будет подтвердить права приложению. Это большой минус этого приложения, который приведёт к его крайне малой популярности. Таковы реалии

Вопрос на самом деле решается просто - убрать в методе _sendReward из ссылки \IPS\Output::i()->redirect( \IPS\Http\Url::internal( "app=yoomoney&module=yoomoney&controller=settings&do=authorize&csrfKey=" . \IPS\Request::i()->csrfKey ) ) вот это самое '&do=authorize'. Тогда будет перекидывать не на сайт YooMoney, а на страничку приложения. И там уже пользователь читает, что к чему и либо переходит к авторизации, либо отказывается. Осознано.

Ну и проблему можно решить чуть сложнее. Немного переписать метод _sendReward и добавиь условие, при котором если нет токена, то выводить шаблон noToken , тем более, что он есть. Сам шаблон немного дописать, т.е добавить ссылку на авторизацию.

 

<ips:template parameters="" />

<div class='ipsPadding'>
	<h3 class='ipsType_reset'>{lang="yoomoney_notoken_head"}</h3>
	<p>{lang="yoomoney_notoken_desc"}</p>
	<a class="ipsButton ipsButton_important ipsButton_medium ipsButton_fullWidth" href='{expression="\IPS\Http\Url::internal( 'yoomoney&module=yoomoney&controller=settings&do=authorize', 'front' )->setQueryString('csrfKey', \IPS\Request::i()->csrfKey )"}'>{lang="yoomoney_auth_button"}</a>
</div>



Делов на пару минут.

Link to comment
Share on other sites

На самом деле проще на странице /yoomoney/ расписать пользователю, что необходимой пройти процесс авторизации и что в этом нет ничего страшного и небезопасного.

Link to comment
Share on other sites
36 минут назад, Кирилл сказал:

На самом деле проще на странице /yoomoney/ расписать пользователю

Ну там и так расписано. Но дело же в том, что пользователь может не полезть на эту страницу. А при первой попытке перевести деньги, пользователя кидает сразу на сайт юмани. Поэтому я и написал, что если убрать '&do=authorize', то пользователя перекинет на страницу  /yoomoney/

Link to comment
Share on other sites
В 08.09.2021 в 11:35, meteork сказал:

"Ошибка

Этому приложению отказано в доступе.
Свяжитесь с его разработчиком и укажите сведения об ошибке (invalid_request)"

Я вот тоже не понял, какой адрес указывать в поле Redirect URI???

Такого адреса нет в приложении нет

 

Цитата
https://site.ru/applications/yoomoney/interface/gateway.php

 

Link to comment
Share on other sites

Как то все таки авторизовал старую.)))

2 часа назад, Кирилл сказал:

Загрузил новую версию

А куда загрузили? На сайте IPS еще старая. 

Link to comment
Share on other sites
16 часов назад, Кирилл сказал:

новую версию

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

Страница сайт/yoomoney/leaders/ доступна для всех, в т.ч. и для гостей и поисковых систем. Зачем? Можно конечно  настроить права приложения, но на мой взгляд лучше прописать в запрет на доступ в классе leaders
 

/**
 * leaders
 */
class _leaders extends \IPS\Dispatcher\Controller
{
	/**
	 * Execute
	 *
	 * @return	void
	 */
	public function execute()
	{

		parent::execute();
	}

	/**
	 * ...
	 *
	 * @return	void
	 */
	protected function manage()
	{

		/* Guests can't follow things*/
		if( !\IPS\Member::loggedIn()->member_id )
		{
			\IPS\Output::i()->error( 'no_module_permission_guest', '2YOO266/1', 403, '' );
		}
		/*****/

Еще.

В статистике Top  content показывается весь контент, независимо от прав доступа. Там, Конечно, всего пара строчек, но мало ли что там будет написно.

Как минимум в  шаблоне leaders.phtml надо бы сделать проверку на права.
Ну хотя бы так

 

						{{foreach $topContent as $commentArray}}
							{{$comment = \IPS\forums\Topic\Post::load( $commentArray['pid'] );}}
							{{if $comment->canView()}}{{/* <- Здесь !!!!!!!!!!!!!!*/}}
							<li class='ipsDataItem'>
								<div class='ipsDataItem_icon ipsPos_middle ipsType_center ipsType_large ipsType_light'><strong>{expression="$idx++"}</strong></div>
								<div class='ipsDataItem_main'>
									<div class='ipsType_break ipsContained'>
										<strong><a href="{$comment->url()}" class='ipsType_large ipsTruncate ipsTruncate_line'>{$comment->container()->_title}</a><span>{$commentArray['summa']} <i class="fa fa-{{if $sender['currency'] == 643}}rub{{else}}usd{{endif}}"></i></span></strong>
									</div>
									<p class='ipsType_reset ipsType_medium ipsType_light ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$comment->author()->link()"} &middot; <a href="{$comment->url()}" class='ipsDataItem_title ipsType_break ipsType_blendLinks'>{$comment->dateLine()|raw}</a></p>
									<div class='ipsType_medium ipsType_textBlock ipsType_richText ipsType_break ipsContained' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='3 lines'>
										{$comment->truncated( true )|raw}
									</div>
								</div>
							</li>
							{{endif}}
						{{endforeach}}

 

Link to comment
Share on other sites

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

Доверия к приложению нет. Доступ к счету Юмани и истории операций отпугивает. Многие считают это вообще лишним. Все прекрасно понимают, что эту историю админы сайта могут увидеть, а не каждому хочется ее светить.

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


 

Link to comment
Share on other sites

KGB спасибо за обратную связь. Доверия нет, согласен. Однако приложение хоронить не стоит, аудитория на форумах разная. Историю оплаты можно удалить из шаблона. Приложение попроще находится в стадии разработки, скоро выпустим и дадим потестировать. 

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

Link to comment
Share on other sites
1 час назад, Кирилл сказал:

. Однако приложение хоронить не стоит, аудитория на форумах разная.

Ну я же не говорю ,что следует хоронить. У меня аудитория действительно, консервативная и недоверчивая, а костяк, с которыми тестируем, так  тем более.

 

 

1 час назад, Кирилл сказал:

Историю оплаты можно удалить из шаблона

Ну я так и сделал, что бы не смущать людей.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...

Important Information

By using our site you agree to our Privacy Policy