From 4388a2cffeca90c3a0e0d56f90129c5a35c66181 Mon Sep 17 00:00:00 2001 From: Bachurin Sergey Date: Fri, 30 Dec 2016 13:36:08 +0300 Subject: [PATCH] more yandex --- .gitignore | 1 + project/customer/callbacks.py | 21 +++++++++++++++++++ project/customer/views/license.py | 34 +++++++++++-------------------- project/settings.py | 11 +++++++--- project/urls.py | 2 +- project/yandex_money.log | 0 6 files changed, 43 insertions(+), 26 deletions(-) create mode 100644 project/customer/callbacks.py delete mode 100644 project/yandex_money.log diff --git a/.gitignore b/.gitignore index 029040e..b719395 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ distribute-*.tar.gz *.swp _public_html/ celerybeat-schedule +yandex_money.log diff --git a/project/customer/callbacks.py b/project/customer/callbacks.py new file mode 100644 index 0000000..a237378 --- /dev/null +++ b/project/customer/callbacks.py @@ -0,0 +1,21 @@ +# encoding:utf-8 +from datetime import date + +from django.dispatch import receiver + +from yandex_money.signals import payment_completed + +from customer.models import License + + +@receiver(payment_completed) +def pay_license(sender, **kwargs): + try: + print '!!!!!!!!!!!!!' + license = License.objects.get(id=sender.order_number) + license.paid_date = date.today() + license.status = 1 + license.save() + except: + print 8789879787897, '@@@@@@@@@@@@@@@@' + pass diff --git a/project/customer/views/license.py b/project/customer/views/license.py index cc25a58..6fa5981 100644 --- a/project/customer/views/license.py +++ b/project/customer/views/license.py @@ -54,12 +54,11 @@ def order_license(request): payment_type=Payment.PAYMENT_TYPE.AC, order_number=new_license.id, ) - # payment.customer_number=self.buyer.phone payment.user=request.user - payment.cps_email='' - # payment.cps_phone=self.buyer.phone + # payment.cps_email=request.user.email + payment.customer_number=request.user.email + # payment.customer_number=request.user.profile.get_company_name().strip() payment.save() - # return redirect('https://demomoney.yandex.ru/eshop.xml', **payment.__dict__) return redirect(reverse('yamoney_confirm', kwargs={'payment_id': payment.id})) return redirect(reverse('customer_license_list')) @@ -133,29 +132,20 @@ def payment_result(request): @csrf_exempt def payment_success(request): - if request.method == 'POST': - try: - nInvId = request.POST.get('InvId') - order = License.objects.get(pk=nInvId) + nInvId = request.GET.get('orderNumber') + order = License.objects.get(pk=nInvId) - context = {'success': True, 'order_num': nInvId} - return TemplateResponse(request, 'customer/profile/end_order.html', context) - except License.DoesNotExist: - return HttpResponseForbidden() - else: - return HttpResponseForbidden() + context = {'success': True, 'order_num': nInvId} + return TemplateResponse(request, 'customer/profile/end_order.html', context) @csrf_exempt def payment_fail(request): - if request.method == 'POST': - try: - nInvId = request.POST.get('InvId') + try: + nInvId = request.GET.get('') - message = u"Возникла проблема. Ваш Заказ не оплачен. Попробуйте оформить заявку снова, или позвоните по номеру." + message = u"Возникла проблема. Ваш Заказ не оплачен. Попробуйте оформить заявку снова, или позвоните по номеру." - return TemplateResponse(request, 'customer/profile/end_order.html', {'message': message, 'success': False}) - except Order.DoesNotExist: - return HttpResponseForbidden() - else: + return TemplateResponse(request, 'customer/profile/end_order.html', {'message': message, 'success': False}) + except Order.DoesNotExist: return HttpResponseForbidden() diff --git a/project/settings.py b/project/settings.py index 3b753b6..2a227c4 100644 --- a/project/settings.py +++ b/project/settings.py @@ -3,10 +3,14 @@ # Django settings for project project. import os +import sys from imp import find_module path = lambda *xs: os.path.abspath(os.path.join(os.path.dirname(__file__), *xs)) +sys.path.insert(1, path('..')) +sys.path.insert(1, path('.')) +sys.path.insert(1, path('project')) DEBUG = False TEMPLATE_DEBUG = DEBUG @@ -230,7 +234,7 @@ LOGGING = { 'yandex_money': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', - 'filename': path('yandex_money.log'), + 'filename': path('../yandex_money.log'), 'maxBytes': 1024 * 1024 * 5, 'backupCount': 5, }, @@ -344,11 +348,12 @@ THUMBNAIL_PROCESSORS = ( ) YANDEX_MONEY_DEBUG = False -YANDEX_MONEY_SCID = 12345 -YANDEX_MONEY_SHOP_ID = 56789 +YANDEX_MONEY_SCID = 546996 +YANDEX_MONEY_SHOP_ID = 92585 YANDEX_MONEY_SHOP_PASSWORD = 'sQuMtorHE02U' YANDEX_MONEY_FAIL_URL = 'https://dokumentor.ru/my/payment/fail/' YANDEX_MONEY_SUCCESS_URL = 'https://dokumentor.ru/my/payment/success/' +YANDEX_MONEY_PAYMENT_URL = 'https://demomoney.yandex.ru/eshop.xml' # информировать о случаях, когда модуль вернул Яндекс.Кассе ошибку YANDEX_MONEY_MAIL_ADMINS_ON_PAYMENT_ERROR = True diff --git a/project/urls.py b/project/urls.py index 3f29060..ce9ebec 100644 --- a/project/urls.py +++ b/project/urls.py @@ -29,8 +29,8 @@ urlpatterns = patterns('', url(r'^user/', include('project.myauth.urls')), url(r'^captcha/', include('captcha.urls')), - url(r'^', include('cms.urls')), url(r'^yandex-money/', include('yandex_money.urls')), + url(r'^', include('cms.urls')), ) diff --git a/project/yandex_money.log b/project/yandex_money.log deleted file mode 100644 index e69de29..0000000