fix: Native扫码二维码改为HTTPS中转以支持相册识别

This commit is contained in:
XingQue committed 2026-08-08 20:37:22 +08:00
1 parent 486c050c00
commit 94f7a2fba9
5 files changed
+76 -13

No files matched your search

+2 -1
View File
@@ -1,6 +1,6 @@
from django.urls import path
from django.views.decorators.csrf import csrf_exempt
from .views import CreateOrderView, WechatPayNotifyView, AlipayPayNotifyView, alipay_pay_page, \
from .views import CreateOrderView, WechatPayNotifyView, AlipayPayNotifyView, alipay_pay_page, wx_native_pay_page, \
PaymentFailView, PaymentVerifyView, ContinuePayView, DingdanHuoquView, DingdanXiangqingView, JiedanView, \
ShangpinLeixingView, ShangjiaPaifaView, ShangjiaDingdanHuoquView, ShangjiaJiesuanView, \
ShangjiaDingdanXiangqingView, ShangjiaChufaShenqingView, ShangjiaTuikuanShenqingView, \
@@ -24,6 +24,7 @@ urlpatterns = [
path('alipay-notify/', csrf_exempt(AlipayPayNotifyView.as_view()), name='老板下单支付宝支付回调'),
path('fubei-notify/', csrf_exempt(FubeiPayNotifyView.as_view()), name='付呗支付回调'),
path('alipay-pay/', csrf_exempt(alipay_pay_page), name='支付宝H5中转页'),
path('wx-native-pay/', csrf_exempt(wx_native_pay_page), name='微信Native扫码中转页'),
path('shibai', PaymentFailView.as_view(), name='老板支付失败接口'),
path('fucha', PaymentVerifyView.as_view(), name='老板支付成功复查接口'),
path('dingdanhuoqu', DingdanHuoquView.as_view(), name='老板订单获取'),
+2
View File
@@ -10,6 +10,7 @@ from .payment import (
CreateOrderView,
ContinuePayView,
alipay_pay_page,
wx_native_pay_page,
)
from .boss_orders import (
DingdanHuoquView,
@@ -73,6 +74,7 @@ __all__ = [
"PaymentFailView", "WechatPayNotifyView", "AlipayPayNotifyView", "PaymentVerifyView", "CreateOrderView",
"ContinuePayView",
"alipay_pay_page",
"wx_native_pay_page",
"DingdanHuoquView", "DingdanXiangqingView", "JiedanView",
"DingdanXiangqingView2", "JiedanView2",
"ShangpinLeixingView", "ShangjiaPaifaView", "ShangjiaDingdanHuoquView",
+13
View File
@@ -530,6 +530,19 @@ def alipay_pay_page(request):
return render(request, 'alipay/pay.html', {})
def wx_native_pay_page(request):
"""微信 Native 扫码中转页:相册扫 HTTPS 码后跳转到 weixin:// 付款链接。"""
out_trade_no = (request.GET.get('out_trade_no') or request.GET.get('dingdanid') or '').strip()
code_url = ''
if out_trade_no:
cached = cache.get(f'wx_native_code_{out_trade_no}') or {}
if isinstance(cached, dict):
code_url = (cached.get('code_url') or '').strip()
elif isinstance(cached, str):
code_url = cached.strip()
return render(request, 'wechat/native_pay.html', {'code_url': code_url, 'out_trade_no': out_trade_no})
class PaymentVerifyView(APIView):
"""
订单支付成功复查接口 - 前端支付成功后调用,确认订单状态