Spaces:
Sleeping
Sleeping
File size: 3,511 Bytes
325b400 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
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) |