-class PayPalRe(PaymentMethod):
- slug='paypal-re'
- name = 'PayPal Recurring'
- template_name = 'club/payment/paypal-re.html'
+ def needs_retry(self, schedule):
+ retry_last = schedule.payuorder_set.exclude(
+ created_at=None).order_by('-created_at').first()
+ if retry_last is None:
+ return True
+
+ n = now().date()
+ days_since_last = (n - retry_last.created_at.date()).days
+
+ retry_start = max(
+ schedule.expires_at.date(),
+ settings.CLUB_RETRIES_START
+ )
+ retry_days = (n - retry_start).days
+
+ if retry_days > settings.CLUB_RETRY_DAYS_MAX:
+ print('expired')
+ return False
+ if retry_days > settings.CLUB_RETRY_DAYS_DAILY:
+ print('retry less often now')
+ return days_since_last > settings.CLUB_RETRY_LESS
+ return days_since_last > 0
+
+
+class PayPal(PaymentMethod):
+ slug = 'paypal'
+ name = 'PayPal'
+ template_name = 'club/payment/paypal.html'