Jump to content


Photo
- - - - -

Как настроить произвольный способ оплаты? Платежная система Uniteller


Best Answer SmetDenis , 24 March 2015 - 06:10

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

Зато у нас появилось API, которое без хаков и с удобствами позволяет добавлять новые системы оплаты.

Каждая платежная система представляет из себя отдельный элемент.
Все они лежат тут
media\zoo\applications\jbuniversal\cart-elements\payment

Самый простой и типичный способ - это робокасса.
там есть несколько важных методов

getRedirectUrl - должен вернуть ссылку на платежную систему, страницу оплаты.
isValid - функция, которая вызывается роботом платежной системы. Тут происходит валидация платежа, если функция вернула true, то заказ будет отмечен на сайте как "оплачен" со всеми последствиями (письма итд)
getRequestOrderId - номер заказа из реквеста от робота. Обычно переменная уникальная, поэтому ф-я используется для определения, что это именно робот робокассы.
getRequestOrderSum - сумма оплаты, которую отправил робот. Используется для валидации, что сумма оплаты совпадает с суммой в заказе.

 

По сути это все API.

 

По желанию можно добавить шаблон tmpl/submission.php, он отобразится в форме заказа. Обычно там выводится логотип.

 

---------------

 

Так же есть важная штуковина - класс JBCartValue (jbuniversal\framework\classes\cart\jbvalue.php)

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

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

 

Чтобы сделать объект, который несет в себе 50 евро, нужно сделать так

$val = JBCart::val('50 eur');
$val = JBCart::val('50'); // 50 в валюте по умолчанию

Именно этот объект должен вернуться из getRequestOrderSum

 

 

Go to the full post


  • This topic is locked This topic is locked
6 replies to this topic

#1 Save Tibet

Save Tibet
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 23 March 2015 - 09:51

Помнится, я задавал вопрос по настройке "своей" платежной системы в этом топике (тогда речь шла о старой версии JBZoo, не о 220v), на что мне Cheren-dow ответил, что "в новой версии будет возможность создавать элементы платежных систем самостоятельно". Я с нетерпением ждал такой возможности и вот она вроде появилась, но то ли этот пунктик еще не реализован до конца, то ли я не понимаю, как это работает.

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


  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 24 March 2015 - 06:10   Best Answer

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

Зато у нас появилось API, которое без хаков и с удобствами позволяет добавлять новые системы оплаты.

Каждая платежная система представляет из себя отдельный элемент.
Все они лежат тут
media\zoo\applications\jbuniversal\cart-elements\payment

Самый простой и типичный способ - это робокасса.
там есть несколько важных методов

getRedirectUrl - должен вернуть ссылку на платежную систему, страницу оплаты.
isValid - функция, которая вызывается роботом платежной системы. Тут происходит валидация платежа, если функция вернула true, то заказ будет отмечен на сайте как "оплачен" со всеми последствиями (письма итд)
getRequestOrderId - номер заказа из реквеста от робота. Обычно переменная уникальная, поэтому ф-я используется для определения, что это именно робот робокассы.
getRequestOrderSum - сумма оплаты, которую отправил робот. Используется для валидации, что сумма оплаты совпадает с суммой в заказе.

 

По сути это все API.

 

По желанию можно добавить шаблон tmpl/submission.php, он отобразится в форме заказа. Обычно там выводится логотип.

 

---------------

 

Так же есть важная штуковина - класс JBCartValue (jbuniversal\framework\classes\cart\jbvalue.php)

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

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

 

Чтобы сделать объект, который несет в себе 50 евро, нужно сделать так

$val = JBCart::val('50 eur');
$val = JBCart::val('50'); // 50 в валюте по умолчанию

Именно этот объект должен вернуться из getRequestOrderSum

 

 


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 Save Tibet

Save Tibet
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 24 March 2015 - 07:25

Грустно. Я несколько месяцев джал, что в новой версии будет что-то типа конструктора, где можно вбить определенные параметры платежной системы и получить рабочий вариант.

 

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

Допустим, у меня есть гайдлайн от Юнителлера, в котором приведены параметры, которые должны использоваться при покупке. Что мне с ними делать?

 

Захожу в media\zoo\applications\jbuniversal\cart-elements\payment\manual так? Вижу там manual.php. Это тот файл, который нужно настроить под Юнителлер или есть еще файлы? Пожалуйста, тыкните носом. Я не прошу развернутых ответов, потому что знаю — вам есть чем заняться и без этого. 

Буду благодарен за краткие ответы по существу.


  • 0

#4 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 24 March 2015 - 07:30

Грустно. Я несколько месяцев джал, что в новой версии будет что-то типа конструктора, где можно вбить определенные параметры платежной системы и получить рабочий вариант.


Даже не представляю каким образом...
Одни способы оплаты используют SOAP, другие XML постом, третье http запросы.
Возьмем 20 разных способов оплаты и получим 20 вариантов совершенно разного кода.

Думаю, это пригодится многим тем, кто не владеет PHP.

Написать код не зная языка... мммм... не знаю с чего начать :)

Самый простой способ оплаты - это робокасса, лучше менять его.
Элемент manaul ничего не делает, кроме редиректа.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 Save Tibet

Save Tibet
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 14 April 2015 - 11:24

Я бы хотел узнать о возможности сделать это кем-то, кто разбирается, за деньги. Буду рад, если кто откликнется и поможет.
  • 0

#6 laRus

laRus
  • JBZoo User (rus)
  • User rate: 60
  • posts: 1334
  • topics: 31

Posted 27 June 2015 - 00:24

Я бы хотел узнать о возможности сделать это кем-то, кто разбирается, за деньги
Напишите в раздел   Кто-нибудь, кто настраивал, наверняка, поможет!
  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#7 Save Tibet

Save Tibet
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 28 June 2015 - 19:24

Проблема уже решена благодаря Cheren-Dow.


  • 0




Click to return to top of page in style!