Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия | Следущая версия Both sides next revision | ||
django [2011/08/02 10:37] 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( |