diff --git a/orders/urls.py b/orders/urls.py index f55e1b9..d93de9c 100644 --- a/orders/urls.py +++ b/orders/urls.py @@ -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, wx_native_pay_page, WxNativeScanPayView, \ +from .views import CreateOrderView, WechatPayNotifyView, AlipayPayNotifyView, alipay_pay_page, wx_h5_jsapi_pay_page, wx_native_pay_page, WxNativeScanPayView, \ 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-h5-pay/', csrf_exempt(wx_h5_jsapi_pay_page), name='H5点单微信密码支付中转页'), path('wx-native-pay/', csrf_exempt(wx_native_pay_page), name='微信Native扫码中转页'), path('wx-native-scan-pay', WxNativeScanPayView.as_view(), name='微信小程序码扫码支付'), path('shibai', PaymentFailView.as_view(), name='老板支付失败接口'), diff --git a/orders/views/__init__.py b/orders/views/__init__.py index 9018354..3430b78 100644 --- a/orders/views/__init__.py +++ b/orders/views/__init__.py @@ -10,6 +10,7 @@ from .payment import ( CreateOrderView, ContinuePayView, alipay_pay_page, + wx_h5_jsapi_pay_page, wx_native_pay_page, WxNativeScanPayView, ) @@ -78,6 +79,7 @@ __all__ = [ "PaymentFailView", "WechatPayNotifyView", "AlipayPayNotifyView", "PaymentVerifyView", "CreateOrderView", "ContinuePayView", "alipay_pay_page", + "wx_h5_jsapi_pay_page", "wx_native_pay_page", "WxNativeScanPayView", "DingdanHuoquView", "DingdanXiangqingView", "JiedanView", diff --git a/orders/views/payment.py b/orders/views/payment.py index daac006..0bcbc88 100644 --- a/orders/views/payment.py +++ b/orders/views/payment.py @@ -530,6 +530,16 @@ def alipay_pay_page(request): return render(request, 'alipay/pay.html', {}) +def wx_h5_jsapi_pay_page(request): + """H5 点单密码支付中转页(落在已登记的 /hqhd/dingdan/ 授权目录)。 + + 不是扫码。仅把 WeixinJSBridge 调起挪到商户已配置的目录下, + 避免 /xqh5/ 报「当前页面的URL未注册」。 + 支付参数由同域 sessionStorage 传入(前端写入)。 + """ + return render(request, 'wechat/h5_jsapi_pay.html', {}) + + def wx_native_pay_page(request): """相册可扫的 HTTPS 中转页:OAuth 取服务号 openid → JSAPI → 直接出密码。 diff --git a/templates/wechat/h5_jsapi_pay.html b/templates/wechat/h5_jsapi_pay.html new file mode 100644 index 0000000..8d6c49d --- /dev/null +++ b/templates/wechat/h5_jsapi_pay.html @@ -0,0 +1,102 @@ + + + + + + 微信支付 + + + +
+ +
微信支付
+
正在调起支付...
+ +
+ + +