Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 48 additions & 8 deletions app/api_version/utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@
from ext_declaration import mail
from flask import current_app, render_template
from security import generate_confirmation_token, resend_confirmation_token, generate_transact_url, confirm_transact_url
from models import User
from models import User, TransactDetails
import socket
import re
from sqlalchemy.exc import IntegrityError
import datetime
import threading
from werkzeug.security import generate_password_hash, check_password_hash
Expand Down Expand Up @@ -259,16 +260,17 @@ def send_one_time_mail(user):
return False


def send_link_with_email(email, amount, message=None):
def send_link_with_email(email, amount, user_id, message=None):
try:
details = {'email': email, 'amount': amount}
details = {'email': email, 'amount': amount, 'customer_id': user_id}

token = generate_transact_url(details)

html = render_template('send_money_link.html', confirm_url='' + token, email='')
subject = message

if message is None:
subject = ''

send_email(email, subject, html)

Expand All @@ -286,22 +288,60 @@ def send_link_with_email(email, amount, message=None):
return False


def send_link_with_text(number, amount, message=None):
def send_link_with_text(number, amount, user_id, message=None):
try:
details = {'number': number, 'amount': amount}
details = {'number': number, 'amount': amount, 'customer_id': user_id}
token = generate_transact_url(details)

subject = message
subject = 'your payment link\n {}'.format(token) # add your own customize msg here

if message is None:

send_sms(to_number=number, body=token)
send_sms(to_number=number, body=subject)

else:
send_sms(to_number=number, body=token)
subject = '{}\n, {}'.format(message, token)
send_sms(to_number=number, body=subject)

return True

except Exception as e:
print(e)
return False


def confirm_link(email):
try:
details = confirm_transact_url(email)
print(details)

return True

except Exception as e:
print(e)
return False


def save_payment_details(reference_no):
try:
user = TransactDetails(reference_id=reference_no)

db.session.add(user)
db.session.commit()

return True

except IntegrityError:
db.session.rollback()
return False


def send_transaction_details(email, subject, html):
try:
send_email(user, subject, html)

except Exception as e:
return False