'c1'
This commit is contained in:
Binary file not shown.
@@ -69,6 +69,10 @@ def create_digital_router(prefix: str, project_name: str, site_id: str | None =
|
|||||||
random_suffix = "".join(random.choices(string.hexdigits.lower(), k=8))
|
random_suffix = "".join(random.choices(string.hexdigits.lower(), k=8))
|
||||||
timestamp = int(time.time())
|
timestamp = int(time.time())
|
||||||
order_id = f"{user_id}_{pay_type}_order_{timestamp}_{random_suffix}"
|
order_id = f"{user_id}_{pay_type}_order_{timestamp}_{random_suffix}"
|
||||||
|
return_url = item.get("return_url")
|
||||||
|
if return_url and "order_id=" not in return_url and "out_trade_no=" not in return_url:
|
||||||
|
sep = "&" if "?" in return_url else "?"
|
||||||
|
return_url = f"{return_url}{sep}order_id={order_id}"
|
||||||
type_map = {
|
type_map = {
|
||||||
"book": "购买书籍",
|
"book": "购买书籍",
|
||||||
"meetup": "数字游民社区报名",
|
"meetup": "数字游民社区报名",
|
||||||
@@ -84,7 +88,7 @@ def create_digital_router(prefix: str, project_name: str, site_id: str | None =
|
|||||||
total_fee_yuan=total_fee_yuan,
|
total_fee_yuan=total_fee_yuan,
|
||||||
pay_type=channel,
|
pay_type=channel,
|
||||||
notify_url=notify_url,
|
notify_url=notify_url,
|
||||||
return_url=item.get("return_url"),
|
return_url=return_url,
|
||||||
client_ip=item.get("client_ip"),
|
client_ip=item.get("client_ip"),
|
||||||
)
|
)
|
||||||
_safe_log(
|
_safe_log(
|
||||||
@@ -94,7 +98,7 @@ def create_digital_router(prefix: str, project_name: str, site_id: str | None =
|
|||||||
order_id,
|
order_id,
|
||||||
provider.name,
|
provider.name,
|
||||||
notify_url,
|
notify_url,
|
||||||
item.get("return_url") or "",
|
return_url or "",
|
||||||
)
|
)
|
||||||
if provider.name == "xorpay":
|
if provider.name == "xorpay":
|
||||||
return {
|
return {
|
||||||
@@ -139,13 +143,16 @@ def create_digital_router(prefix: str, project_name: str, site_id: str | None =
|
|||||||
pay_type = item.get("type", "unknown").lower()
|
pay_type = item.get("type", "unknown").lower()
|
||||||
return_url = item.get("return_url")
|
return_url = item.get("return_url")
|
||||||
device = item.get("device", "pc")
|
device = item.get("device", "pc")
|
||||||
|
random_suffix = "".join(random.choices(string.hexdigits.lower(), k=8))
|
||||||
|
timestamp = int(time.time())
|
||||||
|
order_id = f"{user_id}_{pay_type}_order_{timestamp}_{random_suffix}"
|
||||||
|
if return_url and "order_id=" not in return_url and "out_trade_no=" not in return_url:
|
||||||
|
sep = "&" if "?" in return_url else "?"
|
||||||
|
return_url = f"{return_url}{sep}order_id={order_id}"
|
||||||
client_ip = item.get("client_ip") or (request.client.host if request.client else "127.0.0.1")
|
client_ip = item.get("client_ip") or (request.client.host if request.client else "127.0.0.1")
|
||||||
forwarded = request.headers.get("x-forwarded-for")
|
forwarded = request.headers.get("x-forwarded-for")
|
||||||
if forwarded:
|
if forwarded:
|
||||||
client_ip = forwarded.split(",")[0].strip()
|
client_ip = forwarded.split(",")[0].strip()
|
||||||
random_suffix = "".join(random.choices(string.hexdigits.lower(), k=8))
|
|
||||||
timestamp = int(time.time())
|
|
||||||
order_id = f"{user_id}_{pay_type}_order_{timestamp}_{random_suffix}"
|
|
||||||
type_map = {
|
type_map = {
|
||||||
"book": "购买书籍",
|
"book": "购买书籍",
|
||||||
"meetup": "数字游民社区报名",
|
"meetup": "数字游民社区报名",
|
||||||
|
|||||||
Reference in New Issue
Block a user