From 0adfde03b42d5caf3968271d176976d2c3a6fe90 Mon Sep 17 00:00:00 2001 From: Andrey Date: Thu, 15 Mar 2018 18:38:01 +0300 Subject: [PATCH] pay --- finance/signals.py | 5 +++-- finance/views.py | 29 ++++++++++++++++++++++++----- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/finance/signals.py b/finance/signals.py index 110a4f5..bd8d330 100644 --- a/finance/signals.py +++ b/finance/signals.py @@ -36,7 +36,7 @@ def invoice_signal(instance, **kwargs): user=instance.bill.user, ) except Progress.DoesNotExist: - p=Progress.objects.create( + p = Progress.objects.create( course_token=instance.bill.course_token, user=instance.bill.user, teacher=get_user_model().objects.get(out_key=course.get_teacher()) @@ -54,6 +54,7 @@ def invoice_signal(instance, **kwargs): % (course.title, settings.DOMAIN, course.slug), 'robo@skillbox.ru', [instance.bill.user.email], + bcc=[instance.bill.opener.email], reply_to=[instance.bill.opener.email], ) else: @@ -62,7 +63,7 @@ def invoice_signal(instance, **kwargs): '''Курс "%s" был забронирован''' % course.title, 'robo@skillbox.ru', [instance.bill.user.email], - cc=[instance.bill.opener.email], + bcc=[instance.bill.opener.email], reply_to=[instance.bill.opener.email], ) msg.send() diff --git a/finance/views.py b/finance/views.py index e83f7d5..8ae4166 100644 --- a/finance/views.py +++ b/finance/views.py @@ -1,10 +1,9 @@ import csv import logging -import datetime -import dicttoxml import requests from django.contrib.auth import get_user_model +from django.core.mail import EmailMessage from django.db.models import Q from django.http import HttpResponse, HttpResponseForbidden from django.shortcuts import redirect @@ -14,6 +13,7 @@ from rest_framework.views import APIView from yandex_money.models import Payment from django.conf import settings +from courses.models import Course from courses.api import CourseParamsApi from finance.models import Bill, Invoice from finance.serializers import BillSerializer, InvoiceSerializer @@ -237,9 +237,6 @@ class YandexCheckView(APIView): % (pay.order_amount, data['orderSumAmount'])) return Response(status=204) - # TODO Нужно решение - # pay.invoice_id = int(data['invoiceId']) - # pay.save() now = timezone.now() pay.performed_datetime = now.isoformat() pay.save() @@ -249,6 +246,17 @@ class YandexCheckView(APIView): logger_yandex.info(xml_res) + msg = EmailMessage( + 'Списание средств с карты пользователя.', + '''Пользователь "%s", переволит %s рублей. Номер платежа в яндекс кассе %s''' + % (pay.invoice.bill.user.email, str(pay.invoice.real_price), str(data['invoiceId'])), + 'robo@skillbox.ru', + [pay.invoice.bill.opener.email], + bcc='dmitry.dolya@skillbox.ru', + ) + + msg.send() + return HttpResponse(xml_res, content_type='application/xml') @@ -281,6 +289,17 @@ class YandexAvisoView(APIView): logger_yandex.info(xml_res) + msg = EmailMessage( + 'Успешная оплата.', + '''Пользователь "%s", перевёл %s рублей. Номер платежа в яндекс кассе %s''' + % (pay.invoice.bill.user.email, str(pay.invoice.price), str(data['invoiceId'])), + 'robo@skillbox.ru', + [pay.invoice.bill.opener.email], + bcc='dmitry.dolya@skillbox.ru', + ) + + msg.send() + return HttpResponse(xml_res, content_type='application/xml')