Коврик

Коврик

Только дурак нуждается в порядке - гений господствует над хаосом (А. Энштейн)
+6
Репутация
0
Рейтинг
#1 ICMS 2 - Как вывести пользователей отдельной группы пользователей по рейтингу от большего к меньшему? 19 февраля 2016 в 10:15
Да полезно было бы smile
#2 [ЕСТЬ РЕШЕНИЕ] Уведомления в Instantcms 2 11 февраля 2016 в 19:13
Проблема устранена переписью всех файлов на хосте.
#3 [ЕСТЬ РЕШЕНИЕ] Уведомления в Instantcms 2 11 февраля 2016 в 07:50


Кто нибудь может подсказать

Коврик
Думаю никто не подскажет, т.к.

Перепробовал все настройки — не приходят письма.

Коврик
нет конкретики.

Попробуйте прочитать документацию

Fuze

PHP mail() — выставлял (с этим параметром в любом случае должны приходить)
SMTP — выставлял (все настройки были правильными)
Sendmail — выставлял
проблема не в хосте (приходят письма только с подтверждения перевода в Биллинге 2)
#4 [ЕСТЬ РЕШЕНИЕ] Уведомления в Instantcms 2 10 февраля 2016 в 15:25
Поднимаю тему еще раз. Кто нибудь может подсказать?
#1 [ЕСТЬ РЕШЕНИЕ] Уведомления в Instantcms 2 10 февраля 2016 в 10:00
Добрый день. Не приходят никакие уведомления на почту. Перепробовал все настройки — не приходят письма. Помогите разобраться.
#6 Вконтакте стал ругатся на сайт как на на фишинговый 4 февраля 2016 в 05:20
может логинза виновата?
#7 Биллинг 2.x системы оплаты 4 февраля 2016 в 04:29
<?php

class systemWww extends billingPaymentSystem {

public function getPaymentFormFields($order, $options, $rate=1){

$summ = number_format(round($order['summ'] * $rate, 2), 2, '.', '');
$kosh = '41001180157xxxx';
$label1 = 'false';
$quickpay1 = 'donate';
$targets1 = 'Вебинар';
$sum1 = 'sum';
$comment1 = '';
$fio1 = 'false';
$email1 = 'false';
$phone1 = 'false';
$address1 = 'false';
$paymentType1 = 'MC';
return array(
'order_id' => $order['id'],
'receiver' => $kosh,
'label' => $order['id'],
'quickpay-form' => $quickpay1,
'targets' => $order['description'],
'sum' => $summ,
'comment' => $comment1,
'need-fio' => $fio1,
'need-email' => $email1,
'need-phone' => $phone1,
'need-address' => $address1,
'paymentType' => $paymentType1,
return array(
'LMI_PAYEE_PURSE' => $options['purse'],
'LMI_PAYMENT_DESC_BASE64' => base64_encode($order['description']),
);

}

public function getSuccessOrderId($request){

return $request->get('label');

}

public function processPayment($request, $model, $options, $rate=1){

$op_id = $request->get('label');

if (!$op_id) { echo LANG_BILLING_ERR_ORDER_ID; return false; }
$operation = $model->getOperation($op_id);
if (!$operation) { echo LANG_BILLING_ERR_ORDER_ID; return false; }
if ($operation['status'] != billing::STATUS_CREATED) { echo LANG_BILLING_ERR_ORDER_ID; return false; }

$summ = round($operation['summ'] * $rate, 2);

if ($request->get('LMI_PREREQUEST') == 1){ — неясно для чего
return $this->preRequest($request, $options, $summ);
}

$secret_key = $options['secret_key'];

$data = $request->getAll();

$common_string = $data['receiver'].$data['sum'].$data['label'].
$data['LMI_MODE'].$data['LMI_SYS_INVS_NO'].$data['LMI_SYS_TRANS_NO'].
$data['LMI_SYS_TRANS_DATE'].$secret_key.$data['receiver'].$data['LMI_PAYER_WM']; — тоже не ясно

$hash = strtoupper(hash('sha256', $common_string));

if($hash!=$data['LMI_HASH']) { echo LANG_BILLING_ERR_SIG; return false; }

$model->acceptPayment($op_id);

return true;

}

public function preRequest($request, $options, $summ) {

header("Content-type: text/html; charset=UTF-8");

$out_summ = $request->get('sum');
$out_purse = $request->get('receiver');

if ($summ != $out_summ) { echo LANG_BILLING_ERR_SUMM; return false; }

if ($options['purse'] != $out_purse) { echo LANG_BILLING_ERR_SHOP_ID; return false; }

}

}

В общем может элементарные вещи подскажете?
#8 Начисление баллов биллинга за комментарии 3 февраля 2016 в 23:24
Хотя бы подскажите в каком направлении двигаться. Сделаю сам. Выложу бесплатно.
#9 Биллинг 2.x системы оплаты 3 февраля 2016 в 23:07


public function preparePayment($request, $model, $options, $rate=1)

Коврик
это тут вообще не нужно, яндекс работает напрямую с формой.
У вас есть
  1. public function getPaymentFormFields($order, $options, $rate=1)
оно создаёт или добавляет нужные данные в поля формы для отправки яндексу.
А это
  1. public function processPayment($request, $model, $options, $rate=1){...}
Нужно для получения данных от яндекса, сверки с "реальностью" и автоматического завершения оплаты заказа успехом или провалом.
Само содержимое этих методов зависит от способа оплаты (кошельком или картой) и тем какой движок используется (Яндекс.Деньги или Яндекс.Касса). Вам лучше посмотреть на файл \system\controllers\billing\systems\wmr\wmr.php. Он более информативен чем test-овый.

Loadырь

Спасибо! Буду смотреть, пробовать…
#10 Биллинг 2.x системы оплаты 3 февраля 2016 в 22:33



Коврик, для автоматизации у вас отсутствует метод

  1. public function processPayment($request, $model, $options, $rate=1){...}
он как раз принимает данные от яндекса, проверяет его и делает соответствующие выводы.

Loadырь

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

Коврик

я так понимаю нужно это ↑ поставит вместо этого: public function preparePayment($request, $model, $options, $rate=1)
#11 Биллинг 2.x системы оплаты 3 февраля 2016 в 22:28


Коврик, для автоматизации у вас отсутствует метод

  1. public function processPayment($request, $model, $options, $rate=1){...}
он как раз принимает данные от яндекса, проверяет его и делает соответствующие выводы.

Loadырь

Помогите разобраться, куда, что добавлять.
#12 Биллинг 2.x системы оплаты 3 февраля 2016 в 21:42

/www/system/controllers/billing/systems/test/test.php
<?php

class systemTest extends billingPaymentSystem {

public function getPaymentFormFields($order, $options, $rate=1){
$summ = number_format(round($order['summ'] * $rate, 2), 2, '.', '');
$kosh = '41001180157xxxx';
$label1 = 'false';
$quickpay1 = 'donate';
$targets1 = 'пополнение';
$sum1 = 'sum';
$comment1 = '';
$fio1 = 'false';
$email1 = 'false';
$phone1 = 'false';
$address1 = 'false';
$paymentType1 = 'AC';
return array(
'order_id' => $order['id'],
'receiver' => $kosh,
'label' => $order['id'],
'quickpay-form' => $quickpay1,
'targets' => $order['description'],
'sum' => $summ,
'comment' => $comment1,
'need-fio' => $fio1,
'need-email' => $email1,
'need-phone' => $phone1,
'need-address' => $address1,
'paymentType' => $paymentType1,


);

}



public function preparePayment($request, $model, $options, $rate=1){

$order_id = $request->get('order_id');

$model->acceptPayment($order_id);

header('Location: '. href_to('billing', 'success', $order_id));

}

}

Коврик

Что нужно добавить в файл? Ведь это будет готовое решение для всех пользователей.
#13 Биллинг 2.x системы оплаты 3 февраля 2016 в 21:39
Нил™
Нет, а как это реализовать?
#14 Биллинг 2.x системы оплаты 3 февраля 2016 в 21:25


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

Нил™

Я попытался исправить систему оплаты "тест" (входит в стандартный пакет). За основу взял пополнение через форму — конструктор для физ лица. Пользователь с моим кодом оплатить может, но баллы автоматически не зачисляются (нужно искать пользователя и вручную ставить ему количество баллов)
#15 Начисление баллов биллинга за комментарии 2 февраля 2016 в 00:22
Evanescence, Если поставить "-1" будет отниматься с баланса комментирующего, а как сделать так, чтобы при нехватке баллов был переход на страницу пополнения и баллы которые отняли начислялись тому кто создал пост? Ответьте пожалуйста.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.