LIL-710 Отправка архивных данных в roistat

remotes/origin/feature/LIL-711
gzbender 7 years ago
parent f27df06691
commit 858f9f9064
  1. 34
      apps/payment/management/commands/send_transactions_to_roistat.py
  2. 4
      apps/payment/views.py

@ -0,0 +1,34 @@
from django.core.management.base import BaseCommand, CommandError
from django.utils.timezone import now
from paymentwall.pingback import Pingback
from apps.payment.tasks import transaction_to_roistat
from apps.payment.models import Payment
class Command(BaseCommand):
help = 'Send '
def add_arguments(self, parser):
parser.add_argument(
'start_id', type=int,
help='Start payment id',
)
def handle(self, *args, **options):
start_id = options.get('start_id')
payments = Payment.objects.filter(id__gte=start_id, status__in=Payment.PW_PAID_STATUSES)
for payment in payments:
pingback = Pingback(payment.data)
splitted = pingback.get_product().get_id().split('_')
product_type_name, payment_id = '_'.join(splitted[:-1]), splitted[-1]
transaction_to_roistat.delay(
payment.user.id,
payment.id,
f'{product_type_name.title()} payment',
payment.amount,
now().strftime('%Y-%m-%d %H:%M:%S'),
pingback.get_type(),
product_type_name,
payment.roistat_visit,
)

@ -211,8 +211,8 @@ class PaymentwallCallbackView(View):
pingback = Pingback(payment_raw_data, self.get_request_ip())
if pingback.validate():
spltted = pingback.get_product().get_id().split('_')
product_type_name, payment_id = '_'.join(spltted[:-1]), spltted[-1]
splitted = pingback.get_product().get_id().split('_')
product_type_name, payment_id = '_'.join(splitted[:-1]), splitted[-1]
if product_type_name == 'course':
product_payment_class = CoursePayment

Loading…
Cancel
Save