Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.

Форум  ->   Разработка плагинов, вопросы по API  ->  Создание своего платежного драйвера

Раздел для разработчиков. Обсуждение создания плагинов, вопросы и пожелания по API Amiro.CMS

Добавлено: 22.07.14 16:35:47 #1




Регистрация: 18.07.14
Сообщений: 5


Обратиться по имени

Здравствуйте.
Хотели добавить свой платежный драйвер на сайт.
Читал мануал manual.amiro.ru/api/pay-driver-install/ и
API manual.amiro.ru/docs/api6/Driver_PaymentSystem/Example_PaymentSystemDriver.html
весь день. Не все понял.

Вопрос такой на какой url нужно возвращаться с платежного сервиса?
Как запускается метод payProcess?
Как работают файлы gate_example.php, gate_***.php?

Кто знает помогите, пожалуйста, с реализацией



Добавлено: 23.07.14 10:20:22 #2

Амиро



Регистрация: 21.03.07
Сообщений: 258


Обратиться по имени

docxplusgmoon:
на какой url нужно возвращаться с платежного сервиса?

В случае успеха - http://domain/?action=process&status=ok
В случае непрохождения оплаты - http://domain/?action=process&status=fail
Эти ссылки можно получить, добавив в метод getPayButton() следующий код:
trigger_error(var_export($aData, TRUE));

и проанализировав файл "_admin/_logs/err.log".

docxplusgmoon:
Как запускается метод payProcess?

метод payProcess() запускается как раз тогда, когда происходит переход по указанным выше ссылкам.

docxplusgmoon:
Как работают файлы gate_example.php, gate_*.php?

Файлы "drivers/gate_*.php" - колбэки для платежных систем, которые могут вызываться платежными системами удаленно для проверки данных/изменения статуса заказа.
Колбэк по умолчанию - "eshop_final.php" в корне сайта.
Пример колбэка "drivers/gate_example.php":
<?php

chdir(realpath('../'));
require_once 'cm_ini.php';
require_once $GLOBALS['LOCAL_FILES_PATH'] . 'eshop/pay_drivers/example/gate_example.php';

Данный колюэк является примером, так как в конечном счете вызывает колбэк по умолчанию.



Добавлено: 23.07.14 14:29:28 #3




Регистрация: 18.07.14
Сообщений: 5


Обратиться по имени

Антон, а как работает метод payProcess? По мануалам понял что он изменяет статус заказа. Но какие GET параметры ему нужно дать?

После оплаты на платежном сервисе возвращаю на http://enot-shop.kz?action=process&status=ok, но ничего не происходит и показывает главную страницу. В методе прописал так:

 public function payProcess($aGet, $aPost, &$aRes, $aCheckData, $aOrderData){		
		parent::payProcess($aGet, $aPost, $aRes, $aCheckData, $aOrderData);
    }


А если вернутся на url http://enot-shop.kz?action=process&status=ok&order_id=280

то пишет
Системная ошибка
Время сервера: 2014-07-23 15:44:26
Данная ошибка связана с техническими проблемами на сервере. Это может быть неверная конфигурация системы, некорректные права доступа, проблемы с доступным местом на диске, сбоем работы базы данных и другими проблемами.

Подробная информация об ошибке обычно доступна в журнале, находящемся в файле «_admin/_logs/err.log»


Смотрю в err.log написано так
 [2014-07-23 15:37:05] ['USER: ERROR'] [code=256]:  ['Eshop: Inavalid data. Order=280, Member=2904, Person_type=natural, Payment_type=, Driver='] [File: '/var/www/v-10267/data/www/enot-shop.kz/_shared/code/includes/eshop_cart.php'] [Line: 6] [Details: PHP_SELF=('/index.php';) .  REMOTE_ADDR=('80.242.209.148';) HTTP_USER_AGENT=('Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36';) PATH_TRANSLATED=('';) REQUEST_METHOD=('GET';) REQUEST_URI=('/?action=process&status=ok&order_id=280';) HTTP_REFERER=('';)  ] ]


Подскажите пожалуйста что нужно делать в методе payProcess чтобы сменить статус заказа как оплаченный и показать пользователю форму подтверждения платежа?

Посмотрел в высланном вами дистрибутиве этот метод но там ничего не понятно из за отсутствия комментариев.



Добавлено: 23.07.14 15:23:29 #4

Амиро



Регистрация: 21.03.07
Сообщений: 258


Обратиться по имени

Обратитесь в СП, указав доступ в панель управления Amiro.CMS, по FTP, сообщите Id драйвера и его название в выпадающем списке способов оплаты при оформлении заказа.



Добавлено: 24.07.14 17:03:10 #5




Регистрация: 18.07.14
Сообщений: 5


Обратиться по имени

А что вы сделаете? Сами допишите?
Просто сайт не наш, поэтому не хотелось бы предоставлять доступ



Добавлено: 24.07.14 17:44:59 #6

Амиро



Регистрация: 13.11.05
Сообщений: 1065


Обратиться по имени

docxplusgmoon:
А что вы сделаете? Сами допишите?
Просто сайт не наш, поэтому не хотелось бы предоставлять доступ

Для выяснения причины необходимы указанные данные.

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



Сервис голосования idea.amiro.ru для Ваших пожеланий по развитию Amiro.CMS


Создать новую тему

Всего тем: 6587
Всего сообщений: 27636
Всего зарегистрированных пользователей: 47877
Последний зарегистрированный пользователь: user5302684462