hackspace/mhackspace/subscriptions/management/commands/list_subscription_payments.py

42 lines
1.5 KiB
Python

from datetime import datetime
from django.utils import timezone
from django.contrib.auth.models import Group
from django.forms.models import model_to_dict
from django.core.management.base import BaseCommand
from mhackspace.subscriptions.payments import select_provider
from mhackspace.users.models import Membership, User
from mhackspace.subscriptions.models import Payments
class Command(BaseCommand):
help = 'Update user subscriptions'
def handle(self, *args, **options):
provider = select_provider('gocardless')
self.stdout.write(
self.style.NOTICE(
'== Gocardless customers =='))
Payments.objects.all().delete()
for customer in provider.fetch_customers():
self.stdout.write(str(dir(customer)))
self.stdout.write(str(customer))
Payments.objects.create(
user=None,
user_reference=customer.get('user_id'),
user_email=customer.get('email'),
reference=customer.get('payment_id'),
amount=customer.get('amount'),
type=Payments.lookup_payment_type(customer.get('payment_type')),
date=customer.get('payment_date')
)
# self.stdout.write(str(customer.email))
# self.stdout.write(str(dir(customer['email']())))
# self.stdout.write(
# self.style.SUCCESS(
# '\t{reference} - {payment} - {status} - {email}'.format(**model_to_dict(subscriptions[-1]))))