支付与收款商户号分离:支付改读 pay_* 独立配置与证书目录,收款侧不动。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,6 +6,7 @@ from rest_framework.throttling import AnonRateThrottle
|
||||
from django.db import models
|
||||
from shangpin.models import ShangpinLeixing, ShangpinZhuanqu, Shangpin
|
||||
from utils.xcx_sys_config import get_shangpin_shenhe_zhuangtai
|
||||
from utils.pay_mch_config import pay_cfg
|
||||
from utils.jwt_auth import OptionalYonghuidJWTAuthentication, YonghuidJWTAuthentication
|
||||
from yonghu.models import UserMain
|
||||
import logging
|
||||
@@ -549,8 +550,8 @@ class YajinGoumai(APIView):
|
||||
"""生成微信小程序支付参数"""
|
||||
# 获取配置
|
||||
APPID = wx_cfg.WEIXIN_APPID
|
||||
MCHID = wx_cfg.WEIXIN_MCHID
|
||||
KEY = wx_cfg.WEIXIN_SHANGHUMIYAO
|
||||
MCHID = pay_cfg.WEIXIN_MCHID
|
||||
KEY = pay_cfg.WEIXIN_SHANGHUMIYAO
|
||||
|
||||
# 根据支付类型获取对应的配置
|
||||
if pay_type == 'yajin':
|
||||
@@ -876,7 +877,7 @@ class YajinHuitiao(View):
|
||||
|
||||
# 拼接字符串
|
||||
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
|
||||
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
sign_string += f'&key={pay_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
|
||||
# 计算签名
|
||||
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()
|
||||
@@ -1126,8 +1127,8 @@ class JifenBuchong(APIView):
|
||||
"""生成微信支付参数(完整版,无省略)"""
|
||||
# 微信支付配置 - 从settings中获取
|
||||
APPID = wx_cfg.WEIXIN_APPID
|
||||
MCHID = wx_cfg.WEIXIN_MCHID
|
||||
KEY = wx_cfg.WEIXIN_SHANGHUMIYAO
|
||||
MCHID = pay_cfg.WEIXIN_MCHID
|
||||
KEY = pay_cfg.WEIXIN_SHANGHUMIYAO
|
||||
|
||||
# 根据支付类型获取对应的配置
|
||||
if pay_type == 'yajin':
|
||||
@@ -1429,7 +1430,7 @@ class JifenHuitiao(View):
|
||||
|
||||
# 拼接字符串
|
||||
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
|
||||
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
sign_string += f'&key={pay_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
|
||||
# 计算签名
|
||||
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()
|
||||
@@ -1724,8 +1725,8 @@ class HuiyuanGoumai(APIView):
|
||||
"""生成微信支付参数(完整版,无省略)"""
|
||||
# 微信支付配置 - 从settings中获取
|
||||
APPID = wx_cfg.WEIXIN_APPID
|
||||
MCHID = wx_cfg.WEIXIN_MCHID
|
||||
KEY = wx_cfg.WEIXIN_SHANGHUMIYAO
|
||||
MCHID = pay_cfg.WEIXIN_MCHID
|
||||
KEY = pay_cfg.WEIXIN_SHANGHUMIYAO
|
||||
|
||||
# 根据支付类型获取对应的配置
|
||||
if pay_type == 'yajin':
|
||||
@@ -2269,7 +2270,7 @@ class HuiyuanHuitiao(View):
|
||||
|
||||
sorted_params = sorted(params.items(), key=lambda x: x[0])
|
||||
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
|
||||
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
sign_string += f'&key={pay_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()
|
||||
return sign == calculated_sign
|
||||
except Exception as e:
|
||||
@@ -2632,7 +2633,7 @@ class HuiyuanHuitiao(View):
|
||||
|
||||
# 拼接字符串
|
||||
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
|
||||
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
sign_string += f'&key={pay_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
|
||||
# 计算签名
|
||||
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()
|
||||
@@ -2963,8 +2964,8 @@ class ShangjiaChongzhi(APIView):
|
||||
"""生成微信小程序支付参数"""
|
||||
# 获取配置
|
||||
APPID = wx_cfg.WEIXIN_APPID
|
||||
MCHID = wx_cfg.WEIXIN_MCHID
|
||||
KEY = wx_cfg.WEIXIN_SHANGHUMIYAO
|
||||
MCHID = pay_cfg.WEIXIN_MCHID
|
||||
KEY = pay_cfg.WEIXIN_SHANGHUMIYAO
|
||||
|
||||
# 根据支付类型获取对应的配置
|
||||
if pay_type == 'shangjia':
|
||||
@@ -3262,7 +3263,7 @@ class ShangjiaHuitiao(View):
|
||||
|
||||
# 拼接字符串
|
||||
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
|
||||
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
sign_string += f'&key={pay_cfg.WEIXIN_SHANGHUMIYAO}'
|
||||
|
||||
# 计算签名
|
||||
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()
|
||||
|
||||
Reference in New Issue
Block a user