支付存在钓鱼风险-解决方案

简介: 付存在钓鱼风险 是由于商户直接在服务端提交请求到支付宝网关地址导致出现这样的情况。 因电脑网站支付是需要在前端显示付款页面让用户进行扫码或者输入密码进行付款的,所以不是直接服务端请求直接扣用户的余额的。

付存在钓鱼风险 


是由于商户直接在服务端提交请求到支付宝网关地址导致出现这样的情况。 
因电脑网站支付是需要在前端显示付款页面让用户进行扫码或者输入密码进行付款的,所以不是直接服务端请求直接扣用户的余额的。因此商户可以使用form表单提交或者HTTP方式提交到支付宝,才能返回正确的付款页面。 

可以参考电脑网站支付接口的示例代码来生成请求form表单,示例代码(JAVA)如下:

public void doPost(HttpServletRequest httpRequest,                      HttpServletResponse httpResponse) throws ServletException, IOException {    AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE); //获得初始化的AlipayClient    AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();//创建API对应的request    alipayRequest.setReturnUrl("http://domain.com/CallBack/return_url.jsp");    alipayRequest.setNotifyUrl("http://domain.com/CallBack/notify_url.jsp");//在公共参数中设置回跳和通知地址    alipayRequest.setBizContent("{" +        "    \"out_trade_no\":\"20150320010101001\"," +        "    \"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +        "    \"total_amount\":88.88," +        "    \"subject\":\"Iphone6 16G\"," +        "    \"body\":\"Iphone6 16G\"," +        "    \"passback_params\":\"merchantBizType%3d3C%26merchantBizNo%3d2016010101111\"," +        "    \"extend_params\":{" +        "    \"sys_service_provider_id\":\"2088511833207846\"" +        "    }"+        "  }");//填充业务参数    String form="";    try {        form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单    } catch (AlipayApiException e) {        e.printStackTrace();    }    httpResponse.setContentType("text/html;charset=" + CHARSET);    httpResponse.getWriter().write(form);//直接将完整的表单html输出到页面    httpResponse.getWriter().flush();    httpResponse.getWriter().close();}

也可以下载DEMO参考:[url]https://docs.open.alipay.com/270/106291/[/url]

目录
相关文章
|
PHP 数据库
fastadmin框架如何查询数据表指定时间段内的数据
fastadmin框架如何查询数据表指定时间段内的数据
867 0
shiro学习之错误 No realms have been configured! One or more realms must be present to execute an authori
shiro学习之错误 No realms have been configured! One or more realms must be present to execute an authori
实验:逆向分析sample_mal.exe文件
实验:逆向分析sample_mal.exe文件
|
4月前
|
关系型数据库 OLAP 数据库
免费试用|Vibe Coding正当时,AnalyticDB Supabase极速开发爆款应用
云原生数据仓库AnalyticDB PostgreSQL版重磅推出Supabase托管版本
|
Linux 网络安全 Android开发
Termux-远程管理Linux服务器
在手机上通过termux管理Linux服务器
1849 0
|
PyTorch 算法框架/工具 Python
安装anaconda配置pytorch虚拟环境遇到的问题及解决办法
本文介绍了在配置Anaconda时遇到`PackagesNotFoundError`的问题,并提供了通过添加`conda-forge`通道和创建指定Python版本的PyTorch虚拟环境来解决这个问题的方法。
|
Linux Go iOS开发
安装 Wails
安装 Wails
479 0
|
SQL 存储 分布式计算
最佳实践 | 通过Apache Hudi和Alluxio建设高性能数据湖
最佳实践 | 通过Apache Hudi和Alluxio建设高性能数据湖
212 0
|
监控 安全 NoSQL
SpringBoot Actuator未授权抓取密码
SpringBoot Actuator未授权抓取密码