Spaces:
Sleeping
Sleeping
| 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) |