forum.bitel.ru http://forum.bitel.ru/ |
|
[6.2] Интеграция с внешней формой http://forum.bitel.ru/viewtopic.php?f=39&t=11059 |
Страница 1 из 1 |
Автор: | borisk [ 02 ноя 2015, 16:56 ] |
Заголовок сообщения: | [6.2] Интеграция с внешней формой |
Добрый день! Интересует вопрос интеграции модуля с внешней формой. Например на нашем официальном сайте мы предоставляем форму для заполнения реквизитов платежа, отправляем ее (у нас aurispay) с помощью Arius API, а ответ получаем в биллинг и он проводит платеж. Возможно ли такое? Или только через какой-то буфер вроде Arius API <-- наш скрипт --> Card? |
Автор: | Artur [ 02 ноя 2015, 18:31 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
В нашем ЛК при обращении к серверу биллинга перед отправкой запроса к arius формируется идентификатор платежа, который отправляется в arius и затем приходит от них при уведомлении о статусе платежа. Биллинг по нему находит транзакцию, меняет статус и заносит платеж на договор. Вашу схему возможно сделать тремя вариантами: 1) Вызвать ActionBVCom, передав ему набор параметров. Наш ЛК так и делает 2) Создать некий, как вы выразились "буфер", который будет с помощью нашего апи добавлять транзакцию модуля в БД. 3) Вставить самим с помощью sql-запроса в таблицу bvcom_transaction_<mid> запись с суммой и кодом договора. id вставленной записи нужно будет передать в arius, предварительно отформатировав (см. доку) |
Автор: | borisk [ 02 ноя 2015, 19:49 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
Цитата: 1) Вызвать ActionBVCom, передав ему набор параметров. Наш ЛК так и делает Вот здесь можно чуть подробнее. Что это, как вызывать из внешнего приложения или где прочитать подробнее? |
Автор: | dimOn [ 02 ноя 2015, 22:21 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
о чём почитать? вызывается экшен ActionBVCom по урлу, как это делается на странице в ЛК |
Автор: | borisk [ 02 ноя 2015, 22:50 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
Вот про это и прочитать. Какой набор параметров требуется передать. В какой последовательности. Или делать реверс инжиниринг? |
Автор: | skn [ 03 ноя 2015, 02:17 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
borisk писал(а): Вот про это и прочитать. Какой набор параметров требуется передать. В какой последовательности. Или делать реверс инжиниринг? это внутрений механизм, он ни где не описан и его постоянство при обновлениях не гарантируется. более того при обращение к этому акшену сервер затребует авторизацию клиента (будет выведена страница авторизации ЛК) |
Автор: | borisk [ 03 ноя 2015, 04:38 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
Ясно, то есть нам не подходит. А вариант 3 - насколько реально его использование? |
Автор: | skn [ 03 ноя 2015, 04:50 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
borisk писал(а): А вариант 3 - насколько реально его использование? в принципе реально, только как то надо разрулить переход обратно с сайта ПС |
Автор: | borisk [ 03 ноя 2015, 14:53 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
И не только переход. Кроме заполнения, собственно, таблицы bvcom надо же еще изменить таблицы, отвечающие за баланс, и, самое главное, каким-то образом выстрелить события о приходе платежа и изменении баланса :/ |
Автор: | skn [ 03 ноя 2015, 15:29 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
borisk писал(а): И не только переход. Кроме заполнения, собственно, таблицы bvcom надо же еще изменить таблицы, отвечающие за баланс, и, самое главное, каким-то образом выстрелить события о приходе платежа и изменении баланса :/ от платежной системы приходит уведомление на сервлет биллинга о платеже, при этом происходит изменение статуса транзакции, занесение платежа, и обновление баланса и статусов меня больше другой вопрос интересует, как вы хотите авторизовать клиента в этой внешней форме? |
Автор: | borisk [ 03 ноя 2015, 16:15 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
По IP, сравнивая с информацией о текущей сессии в биллинге |
Автор: | skn [ 03 ноя 2015, 17:38 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
borisk писал(а): По IP, сравнивая с информацией о текущей сессии в биллинге понятно |
Автор: | borisk [ 05 ноя 2015, 15:50 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
Хорошо, господа, а если нам пойти по пути http://docs.bitel.ru/display/BGBILLING62/Web+API Или для bvcom это пока тоже все глухо? |
Автор: | borisk [ 05 ноя 2015, 16:06 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
Цитата: 2) Создать некий, как вы выразились "буфер", который будет с помощью нашего апи добавлять транзакцию модуля в БД. А вы здесь про какой API говорите? Какую доку смотреть? |
Автор: | Artur [ 05 ноя 2015, 19:11 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
borisk писал(а): Цитата: 2) Создать некий, как вы выразились "буфер", который будет с помощью нашего апи добавлять транзакцию модуля в БД. А вы здесь про какой API говорите? Какую доку смотреть? Посмотрите вот эту тему. |
Автор: | borisk [ 16 ноя 2015, 17:06 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
Господа, а можно получить описание BVComTransactionManager/BVComTransation? Точнее именно этапы прохождения транзакции. Как это делается в ЛК. |
Автор: | skn [ 16 ноя 2015, 18:08 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
borisk писал(а): Господа, а можно получить описание BVComTransactionManager/BVComTransation? Точнее именно этапы прохождения транзакции. Как это делается в ЛК. а платежная система не предоставляет описание протокола? |
Автор: | borisk [ 16 ноя 2015, 21:02 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
Предоставляет. Изучаю. Но, если я правильно понял, BVComTransactionManager не имеет никакого отношения к платежной системе? То есть он с платежной системой не взаимодействует, а просто помещает данные о тразакции в БД и изменяет баланс соответсвующим образом. Правильно? А непосредственно с платежной системой у вас взаимодействует какой-то свой класс, в последствии вызывающий BVComTransactionManager с заполненным соответсвующим образом BVComTransaction |
Автор: | skn [ 17 ноя 2015, 00:59 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
borisk писал(а): Предоставляет. Изучаю. Но, если я правильно понял, BVComTransactionManager не имеет никакого отношения к платежной системе? То есть он с платежной системой не взаимодействует, а просто помещает данные о тразакции в БД и изменяет баланс соответсвующим образом. Правильно? А непосредственно с платежной системой у вас взаимодействует какой-то свой класс, в последствии вызывающий BVComTransactionManager с заполненным соответсвующим образом BVComTransaction да, есть акшен формирующий страницу для ЛК и он же взаимодействует с ПС регистрируя транзакцию в ПС и перенаправляя клиента на сайт ПС после оплаты ПС делает запрос на специальный сервлет в биллинге с результатами платежа (сервлет изменяет статус транзакции, заносит платеж и обновляет баланс) |
Автор: | maxst-net [ 31 июл 2017, 17:29 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
Автору темы удалось продвинуться в данном вопросе? А то у нас тоже возникла такая же необходимость. |
Автор: | maxst-net [ 31 июл 2017, 17:41 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
skn писал(а): borisk писал(а): Предоставляет. Изучаю. Но, если я правильно понял, BVComTransactionManager не имеет никакого отношения к платежной системе? То есть он с платежной системой не взаимодействует, а просто помещает данные о тразакции в БД и изменяет баланс соответсвующим образом. Правильно? А непосредственно с платежной системой у вас взаимодействует какой-то свой класс, в последствии вызывающий BVComTransactionManager с заполненным соответсвующим образом BVComTransaction да, есть акшен формирующий страницу для ЛК и он же взаимодействует с ПС регистрируя транзакцию в ПС и перенаправляя клиента на сайт ПС после оплаты ПС делает запрос на специальный сервлет в биллинге с результатами платежа (сервлет изменяет статус транзакции, заносит платеж и обновляет баланс) Подскажите, как вызвать акшен НЕ из личного кабинета. (Если это вообще возможно) |
Автор: | skn [ 31 июл 2017, 19:06 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
для вызова акшена требуется логин и пароль от ЛК клиента.... |
Автор: | maxst-net [ 31 июл 2017, 19:23 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
skn писал(а): для вызова акшена требуется логин и пароль от ЛК клиента.... Допустим имеются у меня логин: test123, пароль:456789 и cid 20305. Каким образом и куда их отправить что бы пользователя перекинуло на сайт оплаты? |
Автор: | skn [ 01 авг 2017, 11:52 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
а что в ЛК не видно запроса? |
Автор: | maxst-net [ 01 авг 2017, 12:24 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
skn писал(а): а что в ЛК не видно запроса? К великому сожалению не знаю как это посмотреть. |
Автор: | skn [ 01 авг 2017, 12:42 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
например в access.log сервера биллинга |
Автор: | maxst-net [ 16 авг 2017, 14:41 ] |
Заголовок сообщения: | Re: [6.2] Интеграция с внешней формой |
Может кому пригодится. Код: <?php $url = 'http://[IP_SERVER]:[PORT_SERVER]/bgbilling/executer/json/ru.bitel.bgbilling.modules.bvcom/[MODULE_ID]/BVComService'; $data = array( 'method' => 'beginTransaction', 'user' => array('user' => '[BGB_USER]', 'pswd' => '[PSWD_USER]'), 'params' => array('contractId' => [CID], 'amount' => [SUMMA], 'params' => array('map' => array('ipAddress' => '127.0.0.1', 'resultUrl' => '[REDIRECT_URL]'))) ); $content = json_encode($data); $curl = curl_init($url); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER,array("Content-type: application/json")); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $content); $json_response = curl_exec($curl); $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ( $status != 200 ) { die("Error:"); } curl_close($curl); $response = json_decode($json_response, true); header ('Location:'.$response['data']['url']); ?> Код: [IP_SERVER] - ip Вашего БГБилинг сервера
[PORT_SERVER] - его порт [MODULE_ID] - id модуля BVCom [BGB_USER] - пользователь БГБиллинга [PSWD_USER] - его пароль [CID] - cid договора который хотим пополнить [SUMMA] - сумма пополнения [REDIRECT_URL] - url для перехода при успешном пополнении |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |