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

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

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

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

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

Добавлено: 12.09.13 19:18:46 #1



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


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

Скопировал драйвер-пустышку. Прописал своё название.
driver.lng
%%driver_title%en%%
mypaysystem
%%driver_title%ru%%
mypaysystem

%%driver_button_caption%en%%
mypaysystem
%%driver_button_caption%ru%%
mypaysystem


driver.tpl
%%include_language "_local/eshop/pay_drivers/mypaysystem/driver.lng"%%

<!--#set var="settings_form" value="
    <input type="hidden" name="url" value="###_null_###submitter_link###_null_###">
"-->

<!--#set var="checkout_form" value="
    <form name="paymentformmypaysystem" action="##process_url##" method="POST">
    <input type="hidden" name="amount" value="##amount##">
    <input type="hidden" name="description" value="##description##">
    <input type="hidden" name="order" value="##order##">
    ##hiddens##
    <input type="submit" name="sbmt" class="btn" value="%%driver_button_caption%%" ##disabled##>
    </form>
"-->

<!--#set var="pay_form" value="
    <form name="paymentform" action="##url##" method="post">
    <input type="hidden" name="item_number" value="##order##">
    <input type="hidden" name="status" value="ok">
    ##hiddens##
    </form>
    <script type="text/javascript">
            document.paymentform.submit();
    </script> 
"-->


и driver.php

<?php

class Mypaysystem_PaymentSystemDriver extends AMI_PaymentSystemDriver{
	protected $driverName = 'mypaysystem';

    public function getPayButton(&$aRes, $aData, $bAutoRedirect = false){
        foreach(Array("return", "description") as $fldName){
            $aData[$fldName] = htmlspecialchars($aData[$fldName]);
        }
        //$aData["disabled"] ="disabled";
        return parent::getPayButton($aRes, $aData, $bAutoRedirect);
    }
    
    public function getPayButtonParams($aData, &$aRes){
        return parent::getPayButtonParams($aData, $aRes);
    }

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

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

    public function getProcessOrder($aGet, $aPost, &$aRes, $aAdditionalParams){
        return parent::getProcessOrder($aGet, $aPost, $aRes, $aAdditionalParams);
    }
}


Инсталировал, в настройках оплаты выбрал. Итого


Почему пусто? И что не так? Мануал по созданию своей платёжки мне не совсем понятен, поэтому иду мышиными шагами. Пока не удаётся даже такого элементарного.

И ещё вопрос: Поля, которые прописаны в driver.tpl , должны ли на этом шаге отображаться в HTML коде? Так-то их нет



Добавлено: 13.09.13 07:22:56 #2




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


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

Создание платежного драйвера - отображается пустым



Разработка мобильной версии сайта с сохранением дизайна и позиций в поиске
Добавлено: 13.09.13 13:17:59 #3



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


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

Не понятно только... Если есть какие-то изменения, почему бы не написать о них в мануале? а то так ломаешь голову, мануал перечитываешь...а тут оказывается, что тебе не всё рассказали. И нужно походить, поискать, поспрашивать.



Добавлено: 13.09.13 13:55:15 #4




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


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

Артём, да какбэ сам недавно наткнулся на это :-) и такой же вопрос возник.



Разработка мобильной версии сайта с сохранением дизайна и позиций в поиске
Добавлено: 17.09.13 17:16:39 #5



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


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

Такой вопрос.
WebMoney. Совершил тестовый платёж. С платёжки меня вернуло на страницу http://www.сайт/members/order?action=process&status=ok&item_number=333
на которой было написано "Ваш заказ т.д....№пусто"

В админке заказ со статусом "Принят".

В driver.php
class Webmoney_PaymentSystemDriver extends BILL_driver_wm{
    protected $driverName = 'webmoney';
}


Вопрос:
1. Можно ли в функции payProcess файла driver.php выставить другой статус заказу?
(не accepted)

2. Если да, то эта функция вызывается обычным способом? Потому что как вижу исполняемого кода как в файле-пустышке тут нету.

3. Не считан номер заказа из get



Добавлено: 17.09.13 17:24:10 #6




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


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

Артём, вам лучше написать в СТП, последние несколько дней мы как раз разбирались в этом вопросе с поддержкой, имеется в виду про проблему с ВМ, ну и по другим вопросам там ответят оперативнее, хотя может и в паблике будет полезна эта информация. К сожалению у меня нет ответов, т.к. другой специалист занимался данным вопросом.



Разработка мобильной версии сайта с сохранением дизайна и позиций в поиске
Добавлено: 19.09.13 12:27:08 #7



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


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

> >Совершил тестовый платёж WebMoney. С платёжки меня вернуло на страницу
> > http://www.сайт/members/order?action=process&status=ok&item_number=333
> > на которой было написано "Ваш заказ т.д....№ пусто"

"вариант решения проблемы, заменить шаблон _local/eshop/pay_drivers/webmoney/driver.tpl "

<!--#set var="settings_form" value="
    <tr>
        <td>%%url%%:</td>
        <td><input type="text" name="url" class="field" value="##url##" size="40"></td>
    </tr>
    <tr>
        <td>%%pass_phrase%%:</td>
        <td><input type="text" name="pass_phrase" class="field" value="##pass_phrase##" size="40"></td>
    </tr>
    <tr>
        <td>%%merchant_id%%:</td>
        <td><input type="text" name="merchant_id" class="field" value="##merchant_id##" size="40"></td>
    </tr>
    <tr>
        <td>%%merchant_idz%%:</td>
        <td><input type="text" name="merchant_idz" class="field" value="##merchant_idz##" size="40"></td>
    </tr>
    <tr>
        <td>%%merchant_idr%%:</td>
        <td><input type="text" name="merchant_idr" class="field" value="##merchant_idr##" size="40"></td>
    </tr>
    <tr>
        <td>%%merchant_ide%%:</td>
        <td><input type="text" name="merchant_ide" class="field" value="##merchant_ide##" size="40"></td>
    </tr>
"-->

<!--#set var="checkout_form" value="
    <form name="paymentformwm" action="##process_url##" method="POST">
    <input type="hidden" name="paywhere" value="1">
    <input type="hidden" name="merchant_id" value="##merchant_id##">
    <input type="hidden" name="amount" value="##amount##">
    <input type="hidden" name="description" value="##description##">
    <input type="hidden" name="order" value="##order##">
    ##hiddens##
    ##if(_button_html=="1")##
    ##button##
    ##else##
    <input type="submit" name="sbmt" class="btn" value="      ##button_name##      " ##disabled##>
    ##endif##
    </form>
"-->

<!--#set var="pay_form" value="
    ##setvar @n_return = preg_replace('/http:\/\/([^\/]*).*item_number=([0-9]*)/i', 'http://
/pages.php?action=process&status=ok&item_number=
', return)## ##setvar @n_cancel = preg_replace('/http:\/\/([^\/]*).*item_number=([0-9]*)/i', 'http://
/pages.php?action=process&status=fail&item_number=
', cancel)## <form name="paymentform" action="##url##" method="POST"> <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="##amount##"> <input type="hidden" name="LMI_PAYMENT_DESC" value="##description##"> <input type="hidden" name="LMI_PAYMENT_DESC_BASE64" value="##description_base64##"> <input type="hidden" name="LMI_PAYMENT_NO" value="##order##"> <input type="hidden" name="LMI_PAYEE_PURSE" value="##merchant_id##"> <input type="hidden" name="LMI_SIM_MODE" value="##test_mode##"> <input type="hidden" name="LMI_SUCCESS_URL" value="##n_return##"> <input type="hidden" name="LMI_FAIL_URL" value="##n_cancel##"> <input type="hidden" name="LMI_RESULT_URL" value="##callback##"> <input type="hidden" name="item_number" value="##order##"> ##hiddens## </form> <script type="text/javascript"> document.forms.paymentform.submit(); </script> "-->



Добавлено: 19.09.13 12:32:54 #8




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


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

Артём, это частичное решение, особенно, если вы будете использовать другие платежки.



Разработка мобильной версии сайта с сохранением дизайна и позиций в поиске
Добавлено: 19.09.13 12:37:38 #9



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


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

Код как то отфильтровался. Ссылка





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

Всего тем: 6630
Всего сообщений: 27746
Всего зарегистрированных пользователей: 48912
Последний зарегистрированный пользователь: user33269596