Smoke

Добавление платежной системы Paygol

Recommended Posts

Здравствуйте. По примеру одного из имеющихся модулей создал дополнительный, позволяющий принимать оплату через Paygol. В файле находящийся по адресу: apps/system/lib/system/user/account.php добавил строки:

                if ( $this->getConfigValue('apps.paygol.enable') ) {
                    require_once (SITEBILL_DOCUMENT_ROOT.'/apps/paygol/admin/admin.php');
                    require_once (SITEBILL_DOCUMENT_ROOT.'/apps/paygol/site/site.php');
                    $paygol_site = new paygol_site();

                    $rs.=$paygol_site->get_pay_button($bill_id);
                }

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

Но... при попытке оплатить к примеру вип статус или премиум, для незарегистрированных, кнопка оплаты через paygol не показывается. Есть ещё какие-то файлы которые нужно редактировать? Точнее знаю что они точно есть, но не могу найти какие именно. Подскажите пожалуйста, какой файл отвечает за вывод кнопок оплаты для незарегистрированных. Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ответ нашел.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В приложении /apps/yourappname/site/site.php должен быть метод

activateBill

Пример такого класса с этим методом

<?php
defined('SITEBILL_DOCUMENT_ROOT') or die('Restricted access');
/**
 * @author Kondin Dmitriy <kondin@etown.ru> http://www.sitebill.ru
 */
class yourappname_site extends yourappnamel_admin {
	
	public function activateBill($bill_id){
		require_once SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/robokassa/robokassa.php';
		$Robox=new Robox();
		//обработкой занимается модуль робокассы
		$Robox->activateBill($bill_id, '');
	}
	
	public function checkBill($bill_id, $payment){
		$DBC=DBC::getInstance();
		$query='SELECT COUNT(bill_id) AS _cnt FROM '.DB_PREFIX.'_bill WHERE bill_id=? AND payment_sum=? AND status=0';
		$stmt=$DBC->query($query, array($bill_id, $payment));
		if(!$stmt){
			return false;
		}
		$ar=$DBC->fetch($stmt);
		if($ar['_cnt']==0){
			return false;
		}
		return true;
	}
	
	function frontend () {
		return false;
	}
	
	function get_pay_button ($bill_id, $amount, $payment_amount='') {
		...
	}
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас