diff --git a/finance/urls.py b/finance/urls.py index 37a229d..487a1a7 100644 --- a/finance/urls.py +++ b/finance/urls.py @@ -6,4 +6,6 @@ urlpatterns = [ url(r'payment/([0-9]{1,99})/$', views.YandexPay.as_view()), url(r'bills/$', views.BillListView.as_view()), url(r'invoices/$', views.get_invoices), + url(r'success/$', views.YandexSuccessView.as_view()), + url(r'fail/$', views.YandexFailView.as_view()), ] \ No newline at end of file diff --git a/finance/views.py b/finance/views.py index 0b69a88..e323fda 100644 --- a/finance/views.py +++ b/finance/views.py @@ -2,6 +2,7 @@ import csv import requests from django.contrib.auth import get_user_model +from django.core.handlers.base import logger from django.db.models import Q from django.http import HttpResponse, HttpResponseForbidden from django.shortcuts import redirect @@ -9,6 +10,7 @@ from rest_framework.renderers import JSONRenderer from rest_framework.response import Response from rest_framework.views import APIView from yandex_money.models import Payment +from django.conf import settings from finance.models import Bill, Invoice from finance.serializers import BillSerializer, InvoiceSerializer @@ -114,6 +116,8 @@ class YandexPay(APIView): 'customerNumber': pay.customer_number, 'orderNumber': pay.order_number, 'cps_email': pay.cps_email, + 'shopSuccessURL': settings.YANDEX_MONEY_SUCCESS_URL, + 'shopFailURL': settings.YANDEX_MONEY_FAIL_URL, }) return redirect(r.url) @@ -154,3 +158,19 @@ def get_invoices(request): ]) return response + + +class YandexSuccessView(APIView): + renderer_classes = (JSONRenderer,) + + @staticmethod + def get(request): + logger.error('YandexSuccessView: {}'.format(request)) + + +class YandexFailView(APIView): + renderer_classes = (JSONRenderer,) + + @staticmethod + def get(request): + logger.error('YandexFailView: {}'.format(request)) diff --git a/lms/settings.py b/lms/settings.py index 852c54d..6cef6ca 100644 --- a/lms/settings.py +++ b/lms/settings.py @@ -5,11 +5,6 @@ import raven import environ import socket -try: - HOSTNAME = socket.gethostname() -except: - HOSTNAME = 'localhost:8000' - root = environ.Path(__file__) - 2 env = environ.Env() @@ -56,8 +51,8 @@ YANDEX_MONEY_DEBUG = False YANDEX_MONEY_SCID = '149639' YANDEX_MONEY_SHOP_ID = '157133' YANDEX_MONEY_SHOP_PASSWORD = 'nu5Xefise' -YANDEX_MONEY_FAIL_URL = 'https://%s/finance/fail/' % HOSTNAME -YANDEX_MONEY_SUCCESS_URL = 'https://%s/finance/access/' % HOSTNAME +YANDEX_MONEY_FAIL_URL = '%s/api/v1/finance/fail/' % DOMAIN +YANDEX_MONEY_SUCCESS_URL = '%s/api/v1/finance/success/' % DOMAIN # информировать о случаях, когда модуль вернул Яндекс.Кассе ошибку YANDEX_MONEY_MAIL_ADMINS_ON_PAYMENT_ERROR = True # Application definition @@ -182,3 +177,47 @@ STATIC_URL = '/static/' RAVEN_CONFIG = { 'dsn': 'http://1a09557dbd144e52af4b14bea569c114:fbb5dfaa39e64f02a1b4cc7ac665d7d7@sentry.skillbox.ru/7' } + +# LOGGING = { +# 'version': 1, +# 'disable_existing_loggers': True, +# 'root': { +# 'level': 'WARNING', +# 'handlers': ['sentry'], +# }, +# 'formatters': { +# 'verbose': { +# 'format': '%(levelname)s %(asctime)s %(module)s ' +# '%(process)d %(thread)d %(message)s' +# }, +# }, +# 'handlers': { +# 'sentry': { +# 'level': 'ERROR', # To capture more than ERROR, change to WARNING, INFO, etc. +# 'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler', +# 'tags': {'custom-tag': 'x'}, +# }, +# 'console': { +# 'level': 'DEBUG', +# 'class': 'logging.StreamHandler', +# 'formatter': 'verbose' +# } +# }, +# 'loggers': { +# 'django.db.backends': { +# 'level': 'ERROR', +# 'handlers': ['console'], +# 'propagate': False, +# }, +# 'raven': { +# 'level': 'DEBUG', +# 'handlers': ['console'], +# 'propagate': False, +# }, +# 'sentry.errors': { +# 'level': 'DEBUG', +# 'handlers': ['console'], +# 'propagate': False, +# }, +# }, +# } \ No newline at end of file