Яндекс деньги

feature/fix_generate_pass
Andrey 8 years ago
parent e11e60aaab
commit dad77389d6
  1. 11
      finance/serializers.py
  2. 3
      finance/signals.py
  3. 16
      finance/tasks.py

@ -1,6 +1,6 @@
from rest_framework import serializers
from finance.models import Bill, Invoice, Payment
from finance.models import Bill, Invoice
class BillSerializer(serializers.ModelSerializer):
@ -24,11 +24,4 @@ class InvoiceSerializer(serializers.ModelSerializer):
class Meta:
model = Invoice
exclude = ('bill', )
class PaymentSerializer(serializers.ModelSerializer):
class Meta:
model = Payment
exclude = '__all__'
exclude = ('bill', )

@ -3,11 +3,10 @@ from django.db.models.signals import pre_save
from django.dispatch import receiver
from finance.models import Invoice
from finance.serializers import PaymentSerializer
@receiver(pre_save, sender=Invoice)
def delete_dependencies(instance, **kwargs):
"""Отправка сообщения после сохранения платежа"""
if instance.yandex_pay and instance.method == 'Y' and instance.status == 'P':
send_to_yandex.delay(PaymentSerializer(instance.yandex_pay).data)
send_to_yandex.delay(**instance.yandex_pay.__dict__)

@ -5,20 +5,20 @@ from django.core.mail import send_mail
@shared_task
def send_to_yandex(pay):
def send_to_yandex(**pay):
r = requests.post('https://money.yandex.ru/eshop.xml', data={
'shopId': pay.shop_id,
'scid': pay.scid,
'sum': pay.order_amount,
'customerNumber': pay.customer_number,
'orderNumber': pay.order_number,
'cps_email': pay.cps_email,
'shopId': pay['shop_id'],
'scid': pay['scid'],
'sum': pay['order_amount'],
'customerNumber': pay['customer_number'],
'orderNumber': pay['order_number'],
'cps_email': pay['cps_email'],
})
body = {
"subject": 'Спасибо за регистрацию',
"message": '''Вам выставлен счёт, для оплаты перейдите по ссылке %s''' % r.url,
"from_email": 'robo@skillbox.ru',
"recipient_list": [pay.cps_email],
"recipient_list": [pay['cps_email']],
}
send_mail(

Loading…
Cancel
Save