Инструменты пользователя

Инструменты сайта


django

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следущая версия
Предыдущая версия
Следущая версия Both sides next revision
django [2011/08/02 10:36]
admin создано
django [2011/08/02 10:41]
admin
Строка 53: Строка 53:
  
    "​use_balance_table":​ True,     "​use_balance_table":​ True, 
-   # записывать в таблицу баланса. ​Без нее если честно не пробовал ​+   # записывать в таблицу баланса. ​
  
    "​pay_mode":​ "​fix", ​    "​pay_mode":​ "​fix", ​
Строка 66: Строка 66:
    "​enable_email_notify":​ None,     "​enable_email_notify":​ None, 
    # если включить опцию, при платежах будет отправлен email     # если включить опцию, при платежах будет отправлен email 
-   # через функцию email_managers ​ +   # через функцию email_managers ​ 
- +
-   "​enable_footman_update_balance":​ None,  +
-   # это только для примера и включать ни в коем случае нельзя!  +
-   # при получении платежа накидывается баланс на счет пользователя  +
-   # из профиля другого приложения (не путать с таблицей Balance)  +
-   # по аналогии стоит написать свою функцию и подключить через сигнал,​  +
-   # если вам требуется хранить счет пользователя в другом месте  +
- +
-   "​new_operation_status":​ 0,  +
-   # опция довольно бесполезная,​ оставил так как была в рхршных примерах ​+
  
    "​debug":​ None,     "​debug":​ None, 
-   # на данный момент отправляет через mail_admins запрос от onpay  +   # на данный момент отправляет через mail_admins запрос от Onpay.ru 
- +
-Чтобы встроить платежную систему в свой дизайн надо переопределить шаблоны ​ из папки onpayНадеюсь с этим справитесь без проблем.  +
- +
-Можно вместо include в urls.py прописать свои роуты к своим views,  +
-если требуется какие-то изменения.  +
- +
-Можно поменять параметры после инициализации IframeGenerator:​  +
- +
-iframe_generator = IframeGenerator()  +
-iframe_generator.set_f(3)  +
-iframe_generator.width = 100500  +
-iframe_generator.pay_mode = "​free" ​+
  
-После оплаты отправляется сигнал `onpay.signals.refilled_balance`, ​ +Чтобы встроить платежную систему в свой дизайн надо переопределить шаблоны ​ из папки onpay.\\  
-если на него подписать свою функцию,​ можно добиться любой функциональности. ​ +\\ 
-Примеры смотрите в файле `signals.py`. ​+Можно вместо include в urls.py прописать свои роуты к своим views, если требуется какие-то изменения. \\ 
 +\\ 
 +Можно поменять параметры после инициализации IframeGenerator:​ \\ 
 +   ​iframe_generator = IframeGenerator()  
 +   ​iframe_generator.set_f(3)  
 +   ​iframe_generator.width = 100500  
 +   ​iframe_generator.pay_mode = "​free"​  
 +\\ 
 +После оплаты отправляется сигнал `onpay.signals.refilled_balance`,​ если на него подписать свою функцию,​ можно добиться любой функциональности. Примеры смотрите в файле `signals.py`. \\ 
 +\\ 
 +Ну и, наконец,​ можно изменить исходные тексты и прислать hg патчи нам - по возможности добавим в репозиторий
  
-Ну и, наконец,​ можно изменить исходные тексты и прислать hg патчи мне  +   common.py для работы с dom.minidom
-- по возможности добавлю в репозиторий. Комментарии писались по большей части  +
-на русском,​ так как сама платежная система русская.  +
-common.py для работы с dom.minidom+
  
-# coding: UTF-8 +   # coding: UTF-8 
-import urllib +   ​import urllib 
-from hashlib import md5 +   ​from hashlib import md5 
-#from lxml import etree +   ​#from lxml import etree 
-from xml.dom.minidom import getDOMImplementation+   ​from xml.dom.minidom import getDOMImplementation
  
-from onpay.conf import get_constant+   from onpay.conf import get_constant
  
-class IframeGenerator(object):​ +   class IframeGenerator(object):​ 
-    def __init__(self):​ +       ​def __init__(self):​ 
-        self.pay_mode = get_constant("​pay_mode",​ "​fix"​) +           ​self.pay_mode = get_constant("​pay_mode",​ "​fix"​) 
-        self.currency = get_constant("​currency",​ "​RUR"​) +           ​self.currency = get_constant("​currency",​ "​RUR"​) 
-        self.convert ​ = get_constant("​convert",​ "​yes"​) +           ​self.convert ​ = get_constant("​convert",​ "​yes"​) 
-        self.url_success = get_constant("​url_success"​) +           ​self.url_success = get_constant("​url_success"​) 
-        self.private_code = get_constant("​private_code"​) +           ​self.private_code = get_constant("​private_code"​) 
-        self.onpay_login = get_constant("​onpay_login"​) +           ​self.onpay_login = get_constant("​onpay_login"​) 
-        self.set_f(get_constant("​f"​))+           ​self.set_f(get_constant("​f"​))
  
     def iframe_url_params(self,​ operation_id,​ summ, email=None):​     def iframe_url_params(self,​ operation_id,​ summ, email=None):​
Строка 170: Строка 155:
         return u'<​iframe %s></​iframe>'​ % (u" "​.join(options_gen))         return u'<​iframe %s></​iframe>'​ % (u" "​.join(options_gen))
  
-def answer(type,​ code, pay_for, order_amount,​ order_currency,​ text):+   def answer(type,​ code, pay_for, order_amount,​ order_currency,​ text):
     "​функция выдает ответ для сервиса onpay в формате XML на чек запрос"​     "​функция выдает ответ для сервиса onpay в формате XML на чек запрос"​
     array_for_md5 = (type, pay_for, order_amount,​ order_currency,​ str(code),     array_for_md5 = (type, pay_for, order_amount,​ order_currency,​ str(code),
Строка 200: Строка 185:
  
  
-def answer_dict(POST,​ code, text):+    ​def answer_dict(POST,​ code, text):
     "​Shortcut for call answer with POST or form dict as parameter"​     "​Shortcut for call answer with POST or form dict as parameter"​
     return answer(     return answer(
Строка 211: Строка 196:
     )     )
  
-def answerpay(type,​ code, pay_for, order_amount,​ order_currency,​ text, onpay_id):+   def answerpay(type,​ code, pay_for, order_amount,​ order_currency,​ text, onpay_id):
     "​функция выдает ответ для сервиса onpay в формате XML на pay запрос"​     "​функция выдает ответ для сервиса onpay в формате XML на pay запрос"​
  
Строка 244: Строка 229:
     #                        xml_declaration=True,​ encoding='​UTF-8'​)     #                        xml_declaration=True,​ encoding='​UTF-8'​)
  
-def answerpay_dict(request_dict,​ code, text):+   def answerpay_dict(request_dict,​ code, text):
     "​Shortcut for call answerpay with POST or form dict as parameter"​     "​Shortcut for call answerpay with POST or form dict as parameter"​
     return answerpay(     return answerpay(
Строка 255: Строка 240:
         request_dict.get('​onpay_id'​),​         request_dict.get('​onpay_id'​),​
     )     )
- 
-To-Do 
- 
-То, что хотелось бы сделать (но врядли у меня дойдут руки до этого, ​ 
-"и так работает"​): ​ 
- 
-1. Опция для английского языка фрейма ​ 
-1. Более качественная поддержка fix платежей (я концентрировался на free)  
-1. Поддержка скинов для одной валюты ​ 
-1. Добавить сигналы на все случаи жизни ​ 
-1. Сделать `setup.py` и установку через `pip`  
-1. Автоматические тесты ​ 
-1. Еще несколько фич, которые в данный момент не помню ​ 
  
  
-Автор: Денис Бурый  +Автор: Денис Бурый\\  
-Лицензия:​ MIT +Лицензия:​ MIT\\ 
django.txt · Последние изменения: 2014/03/26 07:15 — admin