chatbot_server / service /RedirectService.py
kltn21110's picture
Upload 239 files
325b400 verified
import httpx
import yaml
from fastapi.responses import HTMLResponse, RedirectResponse
from urllib.parse import urlencode
with open("config.yaml", "r") as f:
config = yaml.safe_load(f)
base_backend_java = config["callback_urls"]
base_frontend = config["frontend"]
async def android_vnpay_ipn_redirect(params):
if params.get("vnp_ResponseCode") != "00":
return RedirectResponse(url=f"""{base_frontend["android_redirect_base"]}?status=-49""")
else:
return RedirectResponse(url=f"""{base_frontend["android_redirect_base"]}?status=1""")
async def android_vnpay_group_ipn_redirect(params):
if params.get("vnp_ResponseCode") != "00":
return RedirectResponse(url=f"""{base_frontend["android_group_redirect_base"]}?status=-49""")
else:
return RedirectResponse(url=f"""{base_frontend["android_group_redirect_base"]}?status=1""")
async def web_vnpay_ipn_redirect(params):
query_string = urlencode(params)
redirect_url = f"""{base_frontend["base"]}/{base_frontend["web_redirect_paths"]["vnpay"]}?{query_string}"""
return RedirectResponse(url=redirect_url)
async def android_momo_redirect(query_params):
order_id = query_params.get("orderId")
result_code = query_params.get("resultCode")
print("order_id:", order_id)
print("result_code:", result_code)
if result_code != "0":
return RedirectResponse(url=f"""{base_frontend["android_redirect_base"]}?status=-49""")
else:
return RedirectResponse(url=f"""{base_frontend["android_redirect_base"]}?status=1""")
async def android_group_momo_redirect(query_params):
order_id = query_params.get("orderId")
result_code = query_params.get("resultCode")
print("order_id:", order_id)
print("result_code:", result_code)
if result_code != "0":
return RedirectResponse(url=f"""{base_frontend["android_group_redirect_base"]}?status=-49""")
else:
return RedirectResponse(url=f"""{base_frontend["android_group_redirect_base"]}?status=1""")
async def web_momo_redirect(query_params):
query_string = urlencode(query_params)
redirect_url = f"""{base_frontend["base"]}/{base_frontend["web_redirect_paths"]["momo"]}?{query_string}"""
return RedirectResponse(url=redirect_url)
from CallBackService import zalo_callback
async def zalo_redirect(
status, apptransId
):
if int(status) != 1:
await zalo_callback(str(apptransId))
return RedirectResponse(url=f"""{base_frontend["android_redirect_base"]}?status=-49""")
else :
return RedirectResponse(url=f"""{base_frontend["android_redirect_base"]}?status=1""")
async def zalo_group_redirect(
status, apptransId
):
if int(status) != 1:
await zalo_callback(str(apptransId))
return RedirectResponse(url=f"""{base_frontend["android_group_redirect_base"]}?status=-49""")
else :
return RedirectResponse(url=f"""{base_frontend["android_group_redirect_base"]}?status=1""")
async def zalo_web_redirect(query_params):
base_url = f"""{base_frontend["base"]}/{base_frontend["web_redirect_paths"]["zalo"]}"""
query_string = urlencode(query_params)
redirect_url = f"{base_url}?{query_string}"
status = query_params.get("status")
apptransid = query_params.get("apptransid")
if int(status) != 1:
await zalo_callback(str(apptransid))
return RedirectResponse(url=redirect_url)