Send [school|course]payment info to mixpanel

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 9c0aeb038b
commit 90a00d374d
  1. 14
      apps/payment/tasks.py
  2. 24
      apps/payment/views.py

@ -16,3 +16,17 @@ def transaction_to_mixpanel(user_id, amount, time, product_type):
'product_type': product_type, 'product_type': product_type,
} }
) )
@app.task
def product_payment_to_mixpanel(user_id, event_name, time, **kwargs):
mix = Mixpanel(settings.MIX_TOKEN)
properties = {
'$time': time,
}
properties.update(kwargs)
mix.track(
user_id,
event_name,
properties=properties,
)

@ -18,7 +18,7 @@ from paymentwall import Pingback, Product, Widget
from apps.course.models import Course from apps.course.models import Course
from apps.school.models import SchoolSchedule from apps.school.models import SchoolSchedule
from apps.payment.tasks import transaction_to_mixpanel from apps.payment.tasks import transaction_to_mixpanel, product_payment_to_mixpanel
from .models import AuthorBalance, CoursePayment, SchoolPayment from .models import AuthorBalance, CoursePayment, SchoolPayment
@ -182,6 +182,28 @@ class PaymentwallCallbackView(View):
date_end = now() + timedelta(days=30) date_end = now() + timedelta(days=30)
payment.date_start = date_start payment.date_start = date_start
payment.date_end = date_end payment.date_end = date_end
if product_type_name == 'course':
properties = {
'status': payment.status,
'course': payment.course.id,
'created_at': payment.created_at,
'update_at': payment.update_at,
}
elif product_type_name == 'school':
properties = {
'status': payment.status,
'weekdays': payment.weekdays,
'date_start': payment.date_start,
'date_end': payment.date_end,
'created_at': payment.created_at,
'update_at': payment.update_at,
}
product_payment_to_mixpanel.delay(
payment.user.id,
f'{school_payment.title()} payment',
now().strftime('%Y-%m-%dT%H:%M:%S'),
properties=properties,
)
payment.save() payment.save()
author_balance = getattr(payment, 'author_balance', None) author_balance = getattr(payment, 'author_balance', None)

Loading…
Cancel
Save