{ "info": { "author": "Mikhail Pyrev", "author_email": "mikhail.pyrev@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: Russian", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "================\ndjango-robokassa3\n================\n\n*\u0414\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u043e\u0440\u043a\u043e\u043c \u0431\u043e\u043b\u0435\u0435 \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0437\u0430 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c https://github.com/kmike*\n*\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 Django (1.11, 2.0), \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Python 3 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442.*\n\n**django-robokassa3** - \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://docs.robokassa.ru/). \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-robokassa3\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 migrate\n\n\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f Django 1.11 \u0438\u043b\u0438 2.0. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f Python 2.7 \u0438 >=3.4.\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\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0431\u043e\u043b\u0435\u0435 \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: https://github.com/kmike/django-robokassa\n\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u043d\u0430 GitHub: https://github.com/mpyrev/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://github.com/mpyrev/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=================\n\n1.4 (2018-04-26)\n----------------\n\n* \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Python 3 (3.4, 3.5, 3.6, 3.7)\n* \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 Django (1.11, 2.0)\n* \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 example_project\n* \u041c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 (\u0432\u043c\u0435\u0441\u0442\u043e South)\n* \u041a\u043e\u0434 \u043f\u043e\u0434\u0447\u0438\u0449\u0435\u043d \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f PEP-8\n\n1.3 (2016-03-07)\n----------------\n\n* \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0432 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 (\u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0428\u0443\u043c\u0438\u0445\u0438\u043d\u0443 \u0418\u0432\u0430\u043d\u0443);\n* \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 ROBOKASSA_TEST_FORM_TARGET \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\n (\u0441\u043f\u0430\u0441\u0438\u0431\u043e https://github.com/superqwer).\n* \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0430 bitbucket \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f;\n* setup.py \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 setuptools.\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\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mpyrev/django-robokassa", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "django-robokassa3", "package_url": "https://pypi.org/project/django-robokassa3/", "platform": "", "project_url": "https://pypi.org/project/django-robokassa3/", "project_urls": { "Homepage": "https://github.com/mpyrev/django-robokassa" }, "release_url": "https://pypi.org/project/django-robokassa3/1.4/", "requires_dist": [ "Django (>=1.11)", "six" ], "requires_python": "", "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.4" }, "last_serial": 3813078, "releases": { "1.4": [ { "comment_text": "", "digests": { "md5": "466490c991462ef37cfef1ac15d6e0eb", "sha256": "e6ca903f0f30cffa3167e94a1126514035a17b5f9d19a80517f6909790662c08" }, "downloads": -1, "filename": "django-robokassa3-1.4.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "466490c991462ef37cfef1ac15d6e0eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17998, "upload_time": "2018-04-27T07:07:44", "url": "https://files.pythonhosted.org/packages/85/9a/2ffd2ec04d08fef0743418f48458bd365b55b47205c89785da4a7787b22a/django-robokassa3-1.4.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "742d0305b766d7d955cc59a4a22a8db5", "sha256": "51143deecfde1d3e96119f17f0bf208f87294b543f7b47a56b67a11516252d58" }, "downloads": -1, "filename": "django_robokassa3-1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "742d0305b766d7d955cc59a4a22a8db5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14441, "upload_time": "2018-04-27T07:07:42", "url": "https://files.pythonhosted.org/packages/1b/cc/0fc8b930d12f204ded11da0b5fb270affa32906bab89b57e4485f9f1e981/django_robokassa3-1.4-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "466490c991462ef37cfef1ac15d6e0eb", "sha256": "e6ca903f0f30cffa3167e94a1126514035a17b5f9d19a80517f6909790662c08" }, "downloads": -1, "filename": "django-robokassa3-1.4.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "466490c991462ef37cfef1ac15d6e0eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17998, "upload_time": "2018-04-27T07:07:44", "url": "https://files.pythonhosted.org/packages/85/9a/2ffd2ec04d08fef0743418f48458bd365b55b47205c89785da4a7787b22a/django-robokassa3-1.4.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "742d0305b766d7d955cc59a4a22a8db5", "sha256": "51143deecfde1d3e96119f17f0bf208f87294b543f7b47a56b67a11516252d58" }, "downloads": -1, "filename": "django_robokassa3-1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "742d0305b766d7d955cc59a4a22a8db5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14441, "upload_time": "2018-04-27T07:07:42", "url": "https://files.pythonhosted.org/packages/1b/cc/0fc8b930d12f204ded11da0b5fb270affa32906bab89b57e4485f9f1e981/django_robokassa3-1.4-py2.py3-none-any.whl" } ] }