All checks were successful
Build-Release-Image / Build-Image (linux/amd64) (push) Successful in 3m41s
Build-Release-Image / Build-Image (linux/arm64) (push) Successful in 4m54s
Build-Release-Image / Merge-Images (push) Successful in 19s
Build-Release-Image / Create-Release (push) Successful in 16s
Build-Release-Image / Notify (push) Successful in 19s
34 lines
763 B
Python
34 lines
763 B
Python
import arrow
|
|
|
|
from app.db import Session
|
|
from app.email_utils import send_email, render
|
|
from app.log import LOG
|
|
from app.models import Subscription
|
|
from app import paddle_utils
|
|
|
|
|
|
def failed_payment(sub: Subscription, subscription_id: str):
|
|
LOG.w(
|
|
"Subscription failed payment %s for %s (sub %s)",
|
|
subscription_id,
|
|
sub.user,
|
|
sub.id,
|
|
)
|
|
|
|
sub.cancelled = True
|
|
Session.commit()
|
|
|
|
user = sub.user
|
|
|
|
paddle_utils.cancel_subscription(subscription_id)
|
|
|
|
send_email(
|
|
user.email,
|
|
"SimpleLogin - your subscription has failed to be renewed",
|
|
render(
|
|
"transactional/subscription-cancel.txt",
|
|
user=user,
|
|
end_date=arrow.arrow.datetime.utcnow(),
|
|
),
|
|
)
|