From d1a00260d9da422815e9dcbb441a0226e8073cbe Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 5 Mar 2018 17:30:27 +0300 Subject: [PATCH] Yandex_update --- finance/urls.py | 1 + finance/views.py | 20 ++++++++++++++++++-- lms/settings.py | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/finance/urls.py b/finance/urls.py index 52ae305..e2f8f0d 100644 --- a/finance/urls.py +++ b/finance/urls.py @@ -6,5 +6,6 @@ urlpatterns = [ url(r'payment/([0-9]{1,99})/$', views.YandexPay.as_view()), url(r'bills_find/$', views.FindBillView.as_view()), url(r'bills/$', views.BillListView.as_view()), + url(r'yandex/fail/$', views.YandexFailView.as_view()), url(r'invoices/$', views.get_invoices), ] \ No newline at end of file diff --git a/finance/views.py b/finance/views.py index a1643b0..648494b 100644 --- a/finance/views.py +++ b/finance/views.py @@ -208,13 +208,13 @@ class YandexCheckView(APIView): @staticmethod def post(request): - logger_yandex.info(request.body) data = dict() for i in request.body.decode('utf-8').split('&'): key = i.split('=')[0] val = i.split('=')[1] data[key] = val + logger_yandex.info(data) try: pay = Payment.objects.get(order_number=data['orderNumber']) except Payment.DoesNotExist: @@ -281,4 +281,20 @@ class YandexAvisoView(APIView): 'shopId': pay.shop_id, 'invoiceId': pay.invoice_id, 'orderSumAmount': pay.order_amount, - }, status=200) \ No newline at end of file + }, status=200) + + +class YandexFailView(APIView): + renderer_classes = (JSONRenderer,) + + @staticmethod + def post(request): + data = dict() + for i in request.body.decode('utf-8').split('&'): + key = i.split('=')[0] + val = i.split('=')[1] + data[key] = val + + logger_yandex.error(data) + + return redirect(to=settings.DOMAIN) \ No newline at end of file diff --git a/lms/settings.py b/lms/settings.py index 32d8262..ff764b8 100644 --- a/lms/settings.py +++ b/lms/settings.py @@ -55,7 +55,7 @@ YANDEX_MONEY_DEBUG = False YANDEX_MONEY_SCID = '149639' YANDEX_MONEY_SHOP_ID = '157133' YANDEX_MONEY_SHOP_PASSWORD = 'nu5Xefise' -YANDEX_MONEY_FAIL_URL = '%s/' % DOMAIN +YANDEX_MONEY_FAIL_URL = '%s/api/v1/finance/yandex/fail/' % DOMAIN YANDEX_MONEY_SUCCESS_URL = '%s/' % DOMAIN # информировать о случаях, когда модуль вернул Яндекс.Кассе ошибку YANDEX_MONEY_MAIL_ADMINS_ON_PAYMENT_ERROR = True