diff --git a/rowers/braintreestuff.py b/rowers/braintreestuff.py index 3c7020f2..3bc7546b 100644 --- a/rowers/braintreestuff.py +++ b/rowers/braintreestuff.py @@ -64,6 +64,20 @@ def process_webhook(notification): f.write(timestamp+' '+notification.kind+'\n') if notification.kind == 'subscription_charged_successfully': return send_invoice(notification.subscription) + if notification.kind == 'subscription_canceled': + subscription = notification.subscription + rs = Rower.objects.filter(subscription_id=subscription.id) + if rs.count() == 0: + return 0 + r = rs[0] + result,mesg,errormsg = cancel_subscription(r,subscription.id) + if result: + with open('braintreewebhooks.log','a') as f: + f.write('Subscription canceled: '+subscription.id+'\n') + return subscription.id + with open('braintreewebhooks.log','a') as f: + f.write('Could not cancel Subscription: '+subscription.id+'\n') + return 0 return 0 def send_invoice(subscription):