Fixed amount display so its in pounds not pence, fixed cancel
This commit is contained in:
parent
a6fbe753d5
commit
9169c0dd52
|
@ -25,6 +25,8 @@ def create_or_update_membership(user, signup_details, complete=False):
|
|||
member.user = user
|
||||
|
||||
if complete is True:
|
||||
member.status = MEMBERSHIP_CANCELLED
|
||||
if signup_details.get('status') == 'active':
|
||||
member.status = MEMBERSHIP_ACTIVE
|
||||
member.email = signup_details.get('email')
|
||||
member.reference = signup_details.get('reference')
|
||||
|
|
|
@ -14,14 +14,9 @@ def update_subscriptions(provider_name):
|
|||
provider = select_provider('gocardless')
|
||||
|
||||
Membership.objects.all().delete()
|
||||
|
||||
group = Group.objects.get(name='members')
|
||||
|
||||
for sub in provider.fetch_subscriptions():
|
||||
try:
|
||||
user_model = User.objects.get(email=sub.get('email'))
|
||||
if sub.get('status') == 'active':
|
||||
user_model.groups.add(group)
|
||||
except User.DoesNotExist:
|
||||
user_model = None
|
||||
|
||||
|
|
|
@ -53,16 +53,16 @@ class gocardless_provider:
|
|||
def fetch_subscriptions(self):
|
||||
# for paying_member in self.client.mandates.list().records:
|
||||
for paying_member in self.client.subscriptions.list().records:
|
||||
mandate=self.client.mandates.get(paying_member.links.mandate)
|
||||
user=self.client.customers.get(mandate.links.customer)
|
||||
mandate = self.client.mandates.get(paying_member.links.mandate)
|
||||
user = self.client.customers.get(mandate.links.customer)
|
||||
|
||||
# gocardless does not have a reference so we use the id instead
|
||||
yield {
|
||||
'status': paying_member.status,
|
||||
'email': user.email,
|
||||
'start_date': paying_member.created_at,
|
||||
'reference': mandate.id,
|
||||
'amount': paying_member.amount}
|
||||
'reference': paying_member.id,
|
||||
'amount': paying_member.amount * 0.01}
|
||||
|
||||
def get_redirect_url(self):
|
||||
return payment_providers['gocardless']['redirect_url']
|
||||
|
@ -89,7 +89,7 @@ class gocardless_provider:
|
|||
'amount': subscription.amount,
|
||||
'start_date': subscription.created_at,
|
||||
'reference': subscription.id,
|
||||
'success': True if response.get('status_code') is '200' else False
|
||||
'success': True if response.status == 'cancelled' else False
|
||||
}
|
||||
|
||||
def create_subscription(self, user, session, amount,
|
||||
|
@ -110,12 +110,7 @@ class gocardless_provider:
|
|||
def confirm_subscription(self, membership, session, provider_response,
|
||||
name, interval_unit='monthly', interval_length='1'):
|
||||
r = provider_response.get('redirect_flow_id')
|
||||
|
||||
# response = self.client.redirect_flows.complete(r, params={
|
||||
# "session_token": session
|
||||
# })
|
||||
response = self.client.redirect_flows.complete(r, params={'session_token': session})
|
||||
# response = self.client.redirect_flows.get(provider_response.get('redirect_flow_id'))
|
||||
|
||||
user_id = response.links.customer
|
||||
mandate_id = response.links.mandate
|
||||
|
@ -138,7 +133,8 @@ class gocardless_provider:
|
|||
'amount': membership.payment,
|
||||
'email': user.email,
|
||||
'start_date': subscription_response.created_at,
|
||||
'reference': mandate_id,
|
||||
'reference': subscription_response.id,
|
||||
'status': subscription_response.status,
|
||||
'success': subscription_response.api_response.status_code
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ class MembershipCancelView(LoginRequiredMixin, RedirectView):
|
|||
reference=member.reference
|
||||
)
|
||||
|
||||
# if result.get('success') is True:
|
||||
if result.get('success') is True:
|
||||
cancel_membership(user=self.request.user)
|
||||
messages.add_message(
|
||||
self.request,
|
||||
|
|
Loading…
Reference in New Issue