{ "info": { "author": "alrusdi", "author_email": "alrusdi@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: Russian", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "================\ndjango-robokassa\n================\n\ndjango-robokassa - \u044d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0442\u0435\u0436\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b ROBOKASSA \u0432\n\u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043d\u0430 Django.\n\n\u0414\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439\nROBOKASSA (http://robokassa.ru/Doc/Ru/Interface.aspx). \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\n\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432 \u044d\u0442\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435.\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n=========\n\n::\n\n $ pip install django-robokassa\n\n\u041f\u043e\u0442\u043e\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c 'robokassa' \u0432 INSTALLED_APPS \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c ::\n\n $ python manage.py syncdb\n\n\u0438\u043b\u0438, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f South, ::\n\n $ python manage.py migrate\n\n\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f django >= 1.3.1.\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 django-robokassa \u0432\u0435\u0440\u0441\u0438\u0438 0.9.3, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 django 1.2.x \u0438\u043b\u0438 django 1.1.x.\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\n=========\n\n\u0412 settings.py \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:\n\n* ROBOKASSA_LOGIN - \u043b\u043e\u0433\u0438\u043d\n* ROBOKASSA_PASSWORD1 - \u043f\u0430\u0440\u043e\u043b\u044c \u21161\n\n\u041d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n\n* ROBOKASSA_PASSWORD2 - \u043f\u0430\u0440\u043e\u043b\u044c \u21162. \u0415\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c, \u0435\u0441\u043b\u0438\n django-robokassa \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0444\u043e\u0440\u043c\u044b \u043f\u043b\u0430\u0442\u0435\u0436\u0430.\n \u0415\u0441\u043b\u0438 django-robokassa \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u0435\u043c\u0430 \u043f\u043b\u0430\u0442\u0435\u0436\u0435\u0439, \u0442\u043e \u044d\u0442\u043e\u0442\n \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439.\n\n* ROBOKASSA_USE_POST - \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043b\u0438 \u043c\u0435\u0442\u043e\u0434 POST \u043f\u0440\u0438 \u043f\u0440\u0438\u0435\u043c\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043e\u0442\n ROBOKASSA. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e - True. \u0421\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0434\u043b\u044f Result URL, Success URL \u0438\n Fail URL \u0432\u044b\u0431\u0440\u0430\u043d \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043c\u0435\u0442\u043e\u0434.\n\n* ROBOKASSA_STRICT_CHECK - \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u0438 \u0441\u0442\u0440\u043e\u0433\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 (\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\n \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043d\u0430 ResultURL). \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e - True.\n\n* ROBOKASSA_TEST_MODE - \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043b\u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0436\u0438\u043c. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e False\n (\u0442.\u0435. \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0431\u043e\u0435\u0432\u043e\u0439 \u0440\u0435\u0436\u0438\u043c).\n\n* ROBOKASSA_EXTRA_PARAMS - \u0441\u043f\u0438\u0441\u043e\u043a (list) \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432,\n \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438. \"Shp\" \u043a \u043d\u0438\u043c \u043f\u0440\u0438\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0435\n \u043d\u0443\u0436\u043d\u043e.\n\n* ROBOKASSA_TEST_FORM_TARGET - url \u0440\u043e\u0431\u043e\u043a\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430.\n \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0440\u0430\u0441\u043f\u043e\u0440\u044f\u0436\u0435\u043d\u0438\u0438 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f\n \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0434\u043e\u043c\u0435\u043d\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 localhost) \n \u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0440\u043e\u0431\u043e\u043a\u0430\u0441\u0441\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\n \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439.\n\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n=============\n\n\u0424\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u0435\u043c\u0430 \u043f\u043b\u0430\u0442\u0435\u0436\u0435\u0439\n-------------------------\n\n\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 html-\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\nRobokassa, \u0432 django-robokassa \u0435\u0441\u0442\u044c \u0444\u043e\u0440\u043c\u0430 RobokassaForm. \u041e\u043d\u0430 \u043d\u0443\u0436\u043d\u0430\n\u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u0445, \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u0438\n\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 GET-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.\n\n\u041f\u0440\u0438\u043c\u0435\u0440::\n\n # views.py\n\n from django.shortcuts import get_object_or_404, render\n from django.contrib.auth.decorators import login_required\n\n from robokassa.forms import RobokassaForm\n\n @login_required\n def pay_with_robokassa(request, order_id):\n order = get_object_or_404(Order, pk=order_id)\n\n form = RobokassaForm(initial={\n 'OutSum': order.total,\n 'InvId': order.id,\n 'Desc': order.name,\n 'Email': request.user.email,\n # 'IncCurrLabel': '',\n # 'Culture': 'ru'\n })\n\n return render(request, 'pay_with_robokassa.html', {'form': form})\n\n\u0412 initial \u0432\u0441\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b. \u0414\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\n\u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 `\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 `_\n\u043a Robokassa. \u041c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 initial \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \"\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432\",\n\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432 ROBOKASSA_EXTRA_PARAMS ('shp' \u043a \u043d\u0438\u043c \u043f\u0440\u0438\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043e\u043f\u044f\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e).\n\n\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0431\u043b\u043e\u043d::\n\n {% extends 'base.html' %}\n\n {% block content %}\n
\n

{{ form.as_p }}

\n

\n
\n {% endblock %}\n\n\u0424\u043e\u0440\u043c\u0430 \u0432\u044b\u0432\u0435\u0434\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u043d\u0430\u0431\u043e\u0440\u0430 \u0441\u043a\u0440\u044b\u0442\u044b\u0445 input-\u0442\u0435\u0433\u043e\u0432.\n\n\u0423 \u0444\u043e\u0440\u043c\u044b \u0435\u0441\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 target, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 URL, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0444\u043e\u0440\u043c\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442\n\u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c. \u0412 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 URL, \u0432 \u0431\u043e\u0435\u0432\u043e\u043c - \u0431\u043e\u0435\u0432\u043e\u0439.\n\n\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, {% csrf_token %} \u0432 \u0444\u043e\u0440\u043c\u0435 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d (\u0438 \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c\n\u0435\u0433\u043e \u043a \u0444\u043e\u0440\u043c\u0435 \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e), \u0442.\u043a. \u0444\u043e\u0440\u043c\u0430 \u0432\u0435\u0434\u0435\u0442 \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0441\u0430\u0439\u0442 - \u0441\u0430\u0439\u0442 \u0440\u043e\u0431\u043e\u043a\u0430\u0441\u0441\u044b.\n\n\u0412\u043c\u0435\u0441\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0444\u043e\u0440\u043c\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c GET-\u0437\u0430\u043f\u0440\u043e\u0441. \u0423 \u0444\u043e\u0440\u043c\u044b \u0435\u0441\u0442\u044c\n\u043c\u0435\u0442\u043e\u0434 get_redirect_url, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.\n\u0420\u0435\u0434\u0438\u0440\u0435\u043a\u0442 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u0440\u0430\u0432\u043d\u043e\u0441\u0438\u043b\u0435\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0444\u043e\u0440\u043c\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u043c GET.\n\ndjango-robokassa \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \"\u041f\u043e\u043a\u0443\u043f\u043a\u0430\" (``Order`` \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435),\n\u0442.\u043a. \u044d\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u0441\u0430\u0439\u0442\u0430 \u043a \u0441\u0430\u0439\u0442\u0443. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u043c\u0435\u043d\u044b \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u0432\n\u043f\u043e\u043a\u0443\u043f\u043e\u043a \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432.\n\n\n\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0435\u0436\u0435\u0439\n------------------------------\n\u0412 Robokassa \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043f\u043b\u0430\u0442\u0435\u0436\u0430:\n\n1. \u041f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b Success \u0438 Fail \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u043b\u0430\u0442\u0435\u0436\n \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0448\u0435\u043b \u0438 \u043d\u0435 \u043f\u0440\u043e\u0448\u0435\u043b\n\n2. \u041f\u0440\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u0438\u043b\u0438 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u043c \u043f\u043b\u0430\u0442\u0435\u0436\u0435 Robokassa \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 POST \u0438\u043b\u0438 GET \u0437\u0430\u043f\u0440\u043e\u0441\n \u043d\u0430 Result URL.\n\n3. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 \u043f\u043b\u0430\u0442\u0435\u0436\u0430 \u0447\u0435\u0440\u0435\u0437 XML-\u0441\u0435\u0440\u0432\u0438\u0441.\n\n\u0412 django-robokassa \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434\u044b 1 \u0438 2 \u0438 \u0438\u0445 \u0441\u043e\u0432\u043c\u0435\u0449\u0435\u043d\u0438\u0435\n(\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0447\u0442\u043e \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043d\u0430 Success URL \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435\n\u043d\u0430 Result URL \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u043f\u0446\u0438\u0438 ROBOKASSA_STRICT_CHECK = True).\n\n\u0412 \u0446\u0435\u043b\u044f\u0445 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u0433\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443\n(\u0441 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u0447\u0435\u0440\u0435\u0437 Result URL). \u0415\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c:\n\n1. \u041f\u043e\u0441\u043b\u0435 \u043e\u043f\u043b\u0430\u0442\u044b robokassa.ru \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \"\u0444\u043e\u043d\u043e\u0432\u044b\u0439\" \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 ResultURL.\n\n2. \u0412\u043d\u0443\u0442\u0440\u0438 view, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441 ResultURL, \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0439\u0441\u044f \u0432\n \u0437\u0430\u043f\u0440\u043e\u0441\u0435 md5-\u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0447\u0435\u0440\u0435\u0437 ROBOKASSA_PASSWORD2 (\u044d\u0442\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u0430\u0440\u043e\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\n \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u0435\u0442\u0438 \u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044e \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044e).\n ROBOKASSA_PASSWORD2 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u044b\u043b \u043f\u043e\u0441\u043b\u0430\u043d\n \u0438\u043c\u0435\u043d\u043d\u043e \u0441 robokassa.ru.\n\n3. \u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439, \u0442\u043e view \u0448\u043b\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b\n ``robokassa.signals.result_received``. \u0427\u0442\u043e\u0431 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\n \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0430\u0439\u0442\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e\n \u043f\u0440\u0438\u0448\u0435\u0434\u0448\u0435\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u0438\u043b\u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u043a\u0430\u0437\u0430), \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c\n \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u044d\u0442\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430.\n\n4. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0442\u043e view, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u0441 Result URL,\n \u043e\u0442\u0434\u0430\u0435\u0442 robokassa.ru \u043e\u0442\u0432\u0435\u0442 \u0432\u0438\u0434\u0430 ``OK``,\n \u0433\u0434\u0435 ```` - \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 id \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.\n \u042d\u0442\u043e\u0442 \u043e\u0442\u0432\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b robokassa.ru \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\n \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u044b.\n\n5. \u0415\u0441\u043b\u0438 robokassa.ru \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u043e\u0442\u0432\u0435\u0442, \u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f\n \u043d\u0430 Success URL. \u041d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\n \u043e\u0431 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u043f\u043b\u0430\u0442\u0435\u0436\u0430/\u043e\u043f\u043b\u0430\u0442\u044b. \u0415\u0441\u043b\u0438 \u043e\u0442\u0432\u0435\u0442 view, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439\n \u0441 Result URL, \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0432\u0442\u0443\u0435\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u043c\u0443, \u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f\n \u043d\u0435 \u043d\u0430 Success URL, \u0430 \u043d\u0430 Fail URL; \u0442\u0430\u043c \u0435\u043c\u0443 \u0445\u043e\u0440\u043e\u0448\u043e \u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\n \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u0434\u0448\u0435\u0439 \u043e\u0448\u0438\u0431\u043a\u0435.\n\n\n\u0421\u0438\u0433\u043d\u0430\u043b\u044b\n-------\n\n\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u043c\u0435\u043d\u044b \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u0432 \u043f\u043e\u043a\u0443\u043f\u043e\u043a \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432.\n\n* ``robokassa.signals.result_received`` - \u0448\u043b\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e\u0442\n Robokassa. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043f\u043b\u0430\u0442\u0430 \u0431\u044b\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439.\n \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 sender \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043c\u043e\u0434\u0435\u043b\u0438 SuccessNotification, \u0443\n \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0435\u0441\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b InvId \u0438 OutSum.\n\n* ``robokassa.signals.success_page_visited`` - \u0448\u043b\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\n \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u043e\u043f\u043b\u0430\u0442\u044b. \u042d\u0442\u043e\u0442 \u0441\u0438\u0433\u043d\u0430\u043b \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e\n result_received, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u0433\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\n (ROBOKASSA_STRICT_CHECK=False)\n\n* ``robokassa.signals.fail_page_visited`` - \u0448\u043b\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\n \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043e\u0448\u0438\u0431\u043a\u0438 \u043e\u043f\u043b\u0430\u0442\u044b. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043f\u043b\u0430\u0442\u0430\n \u043d\u0435 \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0430. \u0412 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0432\u043a\u0443 \u0442\u043e\u0432\u0430\u0440\u0430\n \u043d\u0430 \u0441\u043a\u043b\u0430\u0434\u0435 \u0438 \u0442.\u0434.\n\n\u0412\u0441\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b InvId (\u043d\u043e\u043c\u0435\u0440 \u0437\u0430\u043a\u0430\u0437\u0430), OutSum (\u0441\u0443\u043c\u043c\u0430 \u043e\u043f\u043b\u0430\u0442\u044b) \u0438\nextra (\u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c\u0438 \u0432\nROBOKASSA_EXTRA_PARAMS).\n\n\u041f\u0440\u0438\u043c\u0435\u0440::\n\n from robokassa.signals import result_received\n from my_app.models import Order\n\n def payment_received(sender, **kwargs):\n order = Order.objects.get(id=kwargs['InvId'])\n order.status = 'paid'\n order.paid_sum = kwargs['OutSum']\n order.extra_param = kwargs['extra']['my_param']\n order.save()\n\n result_received.connect(payment_received)\n\n\n\nurls.py\n-------\n\n\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Result URL, Success URL \u0438 Fail URL \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\n\u043c\u043e\u0434\u0443\u043b\u044c robokassa.urls::\n\n urlpatterns = patterns('',\n #...\n url(r'^robokassa/', include('robokassa.urls')),\n #...\n )\n\n\u0410\u0434\u0440\u0435\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 robokassa, \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0432\u0438\u0434\n\n* Result URL: ``http://yoursite.ru/robokassa/result/``\n* Success URL: ``http://yoursite.ru/robokassa/success/``\n* Fail URL: ``http://yoursite.ru/robokassa/fail/``\n\n\n\u0428\u0430\u0431\u043b\u043e\u043d\u044b\n-------\n\n* ``robokassa/success.html`` - \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u043e\u043f\u043b\u0430\u0442\u044b. \u0412\n \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f form \u0442\u0438\u043f\u0430 ``SuccessRedirectForm``, InvId\n \u0438 OutSum \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0437\u0430\u043a\u0430\u0437\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u0441\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435\n \u0432 ROBOKASSA_EXTRA_PARAMS.\n\n* ``robokassa/fail.html`` - \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u043e\u043f\u043b\u0430\u0442\u044b. \u0412\n \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f form \u0442\u0438\u043f\u0430 ``FailRedirectForm``, InvId\n \u0438 OutSum \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0437\u0430\u043a\u0430\u0437\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u0441\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435\n \u0432 ROBOKASSA_EXTRA_PARAMS.\n\n* ``robokassa/error.html`` - \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435\n \"\u0443\u0441\u043f\u0435\u0445\" \u0438\u043b\u0438 \"\u043d\u0435\u0443\u0434\u0430\u0447\u0430\" (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0435 \u0432 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u0435). \u0412 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435\n \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f form \u043a\u043b\u0430\u0441\u0441\u0430 ``FailRedirectForm`` \u0438\u043b\u0438 ``SuccessRedirectForm``.\n\n\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\n==========\n\n\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0435\u0434\u0435\u0442\u0441\u044f \u043d\u0430 bitbucket \u0438 github:\n\n* https://bitbucket.org/kmike/django-robokassa/\n* https://github.com/kmike/django-robokassa\n\n\u041f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f, \u0438\u0434\u0435\u0438, \u0431\u0430\u0433-\u0440\u0435\u043f\u043e\u0440\u0442\u044b \u0438 \u0442\u0434. \u043f\u0438\u0448\u0438\u0442\u0435 \u0432 \u0442\u0440\u0435\u043a\u0435\u0440: https://bitbucket.org/kmike/django-robokassa/issues\n\n\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f - MIT.\n\n\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\n------------\n\n\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0435\u0441\u0442\u043e\u0432 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 `tox `_, \u0441\u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0439\u0442\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439\n\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443\n\n::\n\n $ tox\n\n\u0438\u0437 \u043a\u043e\u0440\u043d\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.\n\n\n\n\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439\n=================\n1.3 (2015-02-26)\n----------------\n\n* \u041d\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0439\n* \u041e\u0442\u043a\u0430\u0437 \u043e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0432\u0435\u0440\u0441\u0438\u0439 django \u043d\u0438\u0436\u0435 1.7 \u0438 python \u043d\u0438\u0436\u0435 2.7\n* \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u043c\u0438 \u0420\u043e\u0431\u043e\u043a\u0430\u0441\u0441\u044b\n\n1.2 (2013-12-24)\n----------------\n\n* \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 django 1.6 - \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0443 \u0421\u0438\u043c\u043a\u0438\u043d\u0443;\n* Python 2.5 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.\n\n1.1 (2013-04-12)\n----------------\n\n* \u041d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 FailURL \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u044c (\u0442.\u043a. \u0420\u043e\u0431\u043e\u043a\u0430\u0441\u0441\u0430 \u0435\u0435\n \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442) - \u0441\u043f\u0430\u0441\u0438\u0431\u043e @amureki;\n* \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u0441\u043f\u0440\u0430\u0432\u043a\u0430 - \u0441\u043f\u0430\u0441\u0438\u0431\u043e @bo858585.\n\n1.0 (2012-03-24)\n----------------\n* \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f django >= 1.3;\n* \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 django 1.4;\n* \u0432\u0441\u0435 \u0432\u044c\u044e\u0445\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c TemplateResponse;\n* \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e south;\n* \u0437\u0430\u043f\u0443\u0441\u043a \u0442\u0435\u0441\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 tox;\n* \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 README.\n\n0.9.3 (2010-08-05)\n------------------\n\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.\n\n0.9.2 (2010-06-23)\n------------------\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 django 1.2.\n\n0.9.1 (2010-05-10)\n------------------\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 (\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c\u0438) \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.\n\n0.9.0 (2010-04-15)\n------------------\n\u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hflabs/django-robokassa", "keywords": null, "license": "MIT license", "maintainer": null, "maintainer_email": null, "name": "django-robokassa-modern", "package_url": "https://pypi.org/project/django-robokassa-modern/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-robokassa-modern/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/hflabs/django-robokassa" }, "release_url": "https://pypi.org/project/django-robokassa-modern/1.3/", "requires_dist": null, "requires_python": null, "summary": "\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0442\u0435\u0436\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b ROBOKASSA \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043d\u0430 Django.", "version": "1.3" }, "last_serial": 1977727, "releases": { "1.3": [ { "comment_text": "", "digests": { "md5": "964dfc68a520444f435969931b6b855c", "sha256": "64823951efb916b4a08447ff35cd65b009431d6f13c997426cfc4ed3986defac" }, "downloads": -1, "filename": "django-robokassa-modern-1.3.tar.gz", "has_sig": false, "md5_digest": "964dfc68a520444f435969931b6b855c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12569, "upload_time": "2016-02-26T10:04:50", "url": "https://files.pythonhosted.org/packages/b6/bc/76f2009ff6e864c1322439f669616250dccd0b1254cd58c3399e224351d8/django-robokassa-modern-1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "964dfc68a520444f435969931b6b855c", "sha256": "64823951efb916b4a08447ff35cd65b009431d6f13c997426cfc4ed3986defac" }, "downloads": -1, "filename": "django-robokassa-modern-1.3.tar.gz", "has_sig": false, "md5_digest": "964dfc68a520444f435969931b6b855c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12569, "upload_time": "2016-02-26T10:04:50", "url": "https://files.pythonhosted.org/packages/b6/bc/76f2009ff6e864c1322439f669616250dccd0b1254cd58c3399e224351d8/django-robokassa-modern-1.3.tar.gz" } ] }