set next billing

This commit is contained in:
CHIEFSOFT\ameye
2025-08-30 06:51:01 -04:00
parent defe9006ca
commit 57c5e8afc5
3 changed files with 17 additions and 2 deletions
+2 -1
View File
@@ -46,7 +46,8 @@ ALTER TABLE members ALTER COLUMN password TYPE VARCHAR(250);
ALTER TABLE members ADD country VARCHAR(3);
ALTER TABLE members ADD stripe_customer_id VARCHAR(100)
ALTER TABLE members ADD profile_completed timestamp without time zone DEFAULT NULL;
ALTER TABLE members ADD option_name VARCHAR(100) REFERENCES subscription_options(option_name)
ALTER TABLE members ADD option_name VARCHAR(100) REFERENCES subscription_options(option_name);
ALTER TABLE members ADD next_billing timestamp without time zone;
CREATE TABLE members_profile(
id SERIAL,
+4 -1
View File
@@ -268,9 +268,12 @@ class SubscriptionsService(BaseService):
logger.info(f"HOOK payment_data ==>>>> {payment_data}")
paymentAddResult = Payments.add_payment(payment_data["member_id"], payment_data["payment_uid"], payment_data["option_name"],
payment_data["amount"], payment_data["option_type"], payment_data["next_billing_days"])
logger.info(f"HOOK paymentAddResult ==>>>> {paymentAddResult}")
logger.info(f"HOOK paymentAddResult next_billing ==>>>> {paymentAddResult.next_billing}")
logger.info(f"HOOK paymentAddResult uid ==>>>> {paymentAddResult.uid}")
logger.info(f"HOOK paymentAddResult payment_uid ==>>>> {paymentAddResult.payment_uid}")
if paymentAddResult:
Members.set_user_option_name(payment_data["member_id"], payment_data["option_name"])
Members.set_user_next_billing(payment_data["member_id"], paymentAddResult.next_billing)
# Simulate processing
response_data = {
+11
View File
@@ -129,6 +129,17 @@ class Members(db.Model):
return option_name
@classmethod
def set_user_next_billing(cls, member_id, next_billing):
member = cls.query.filter_by(id=member_id).first()
if not member:
raise ValueError(f"Member with ID {member_id} does not exist.")
# Update stripe_customer_id
member.next_billing = next_billing
return next_billing
@classmethod
def get_all_member(cls, email=None, username=None, page=1, limit=20):