Skip to content

Commit

Permalink
fix: add trial period for new subscriptions (#632)
Browse files Browse the repository at this point in the history
  • Loading branch information
jhonylucas74 authored Jul 15, 2024
1 parent 00db381 commit 67e1812
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion backend/apps/account_payment/graphql.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,19 +192,23 @@ class Arguments:
def mutate(cls, root, info, price_id):
try:
admin = info.context.user
internal_subscriptions = admin.internal_subscription.all()

for s in [
*admin.subscription_set.all(),
*admin.internal_subscription.all(),
*internal_subscriptions,
]:
if s.is_active:
return cls(errors=["Conta possui inscrição ativa"])

price = DJStripePrice.objects.get(djstripe_id=price_id)
trial_period_days = 0 if len(internal_subscriptions) > 0 else 7

subscription: DJStripeSubscription = admin.customer.subscribe(
price=price.id,
payment_behavior="default_incomplete",
payment_settings={"save_default_payment_method": "on_subscription"},
trial_period_days=trial_period_days,
)
Subscription.objects.create(admin=admin, subscription=subscription)
return cls(subscription=subscription)
Expand Down

0 comments on commit 67e1812

Please sign in to comment.