Биллинг 2.x системы оплаты

Новые способы оплаты в Биллинге 2

#31 3 февраля 2016 в 21:25


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

Нил™

Я попытался исправить систему оплаты "тест" (входит в стандартный пакет). За основу взял пополнение через форму — конструктор для физ лица. Пользователь с моим кодом оплатить может, но баллы автоматически не зачисляются (нужно искать пользователя и вручную ставить ему количество баллов)
#32 3 февраля 2016 в 21:34
Коврик, вы на яндекс деньги в настройках кошелька указали адрес к файлу обработчику на вашем сайте?
#33 3 февраля 2016 в 21:39
Нил™
Нет, а как это реализовать?
#34 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));

}

}

Коврик

Что нужно добавить в файл? Ведь это будет готовое решение для всех пользователей.
#35 3 февраля 2016 в 21:42
Коврик, в настройки ЯД зайдите где "Информирование". Там попробуйте прописать адрес вашего файла отвечающего за взаимодействие с яд начиная с http://
в случае успешной оплаты ЯД обращается к нему и сообщает о том что прошла оплата и лейбл платежа.
Далее по идее ваш скрипт должен по этому лейблу идентифицировать кому и что.
По вашему коду в первом посте не могу сказать, верный ли он, но попробовать можно)
#36 3 февраля 2016 в 21:48
Коврик, для автоматизации у вас отсутствует метод
  1. public function processPayment($request, $model, $options, $rate=1){...}
он как раз принимает данные от яндекса, проверяет его и делает соответствующие выводы.
#37 3 февраля 2016 в 21:52
И вообще то я не вижу тут приёма параметров POST запроса, который будет передавать ЯД.

типа:

  1. $label = $_REQUEST["label"];
#38 3 февраля 2016 в 22:00
Нил™, он прячется тут
  1. $request->get("label");
там же и всё остальное.
#39 3 февраля 2016 в 22:08
Loadырь, судя по всему, вы можете разрулить это всё)
Может сделаете модуль? Знаю людей, которые купят за 500 руб решение.

Коврик, и все кто говорил о складчине, я вроде нашел исполнителя. За 1000 р сделает.

smokehoho
#40 3 февраля 2016 в 22:22

Loadырь, судя по всему, вы можете разрулить это всё)

Нил™
был "опыт работы с яндексом" для первой ветки, от того и умничаю тут.
#41 3 февраля 2016 в 22:28


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

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

Loadырь

Помогите разобраться, куда, что добавлять.
#42 3 февраля 2016 в 22:33



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

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

Loadырь

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

Коврик

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

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-овый.
#44 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ырь

Спасибо! Буду смотреть, пробовать…
#45 3 февраля 2016 в 23:14


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ырь

Loadырь, есть предложение сделайте модуль для Яндекс-Денег и Яндекс-Кассы для Биллинга 2. Тут много людей в складчину захотят. За сколько рублей возьмётесь?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.