小米4路由器可以做网站嘛个人做的网站不能做淘客

web/2026/1/23 22:15:50/文章来源:
小米4路由器可以做网站嘛,个人做的网站不能做淘客,在线A视频网站l一级A做爰片,织梦网站后台空白文章目录 一 技术准备1.1 二维码技术#xff08;java#xff09;1.2 支付宝沙箱环境准备1.3 内网穿透 二 支付宝支付相关知识2.1 各种支付方式2.2 扫码付接入流程2.3 系统交互流程(时序图)2.4 加密逻辑 三 扫码支付实现3.1 添加maven依赖#xff08;Easy版#xff09;3.2 完… 文章目录 一 技术准备1.1 二维码技术java1.2 支付宝沙箱环境准备1.3 内网穿透 二 支付宝支付相关知识2.1 各种支付方式2.2 扫码付接入流程2.3 系统交互流程(时序图)2.4 加密逻辑 三 扫码支付实现3.1 添加maven依赖Easy版3.2 完善配置文件和配属属性类3.3 扫码支付controller实现3.4 运行结果 一 技术准备 1.1 二维码技术java 二维码 (dimensional barcode) 又称二维条码是在一维条码的基础上扩展出的一种具有可读性的条码。 设备扫描二维条码通过识别条码的长度和宽度中所记载的二进制数据可获取其中所包含的信息 总之二维码是信息的载体 纠错级别: L、M、Q、H 由低到高。 低级别的像素块更大可以远距离识别但是遮挡就会造成无法识别。高级别则相反像素块小允许遮挡一定范围但是像素块更密集。 QrConfig config new QrConfig(); config.setErrorCorrection(ErrorCorrectionLevel.H);Hutool是一个Java工具包类库对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装组成各种Util工具类。实现步骤 导入maven依赖dependencygroupIdcom.google.zxing/groupIdartifactIdcore/artifactIdversion3.3.3/version/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.7.5/version/dependency生成二维码 public static void main(String[] args) {QrConfig config new QrConfig();config.setErrorCorrection(ErrorCorrectionLevel.H);config.setBackColor(Color.WHITE); // 设置背景颜色config.setForeColor(Color.blue); // 设置前景色config.setWidth(500);config.setHeight(500);QrCodeUtil.generate(yuanyou.blog.csdn.net,config,new File(path\\res.jpg));}1.2 支付宝沙箱环境准备 沙箱环境沙箱环境是协助开发者进行接口开发及主要功能联调的模拟环境 通过支付宝账号登录 支付宝开放平台在控制台找到沙箱管理手机、平板下载沙箱APP沙箱环境目前只支持Android环境安装 使用沙箱账号进行的登录有时候会出现错误请多次尝试账号和密码在沙箱账号页面有提供 1.3 内网穿透 参看window使用cpolar实现内网穿透 在支付包的通知回调地址会使用该公网IP支付宝无法访问私网IP 二 支付宝支付相关知识 支付宝开放平台 2.1 各种支付方式 扫一扫支付用户可以通过支付宝app的“扫一扫”功能扫描商家的二维码进行支付或者向商家展示自己的付款码供商家扫描。 付款码支付用户打开支付宝app展示付款码由商家扫描用户的付款码完成交易。 条形码支付用户展示支付宝app内的条形码由商家扫描进行支付。 蓝牙支付借助蓝牙技术用户可以在支持蓝牙支付的设备附近完成支付。 在线支付网页或APP内在线购物时选择支付宝作为支付方式在跳转到支付宝支付页面后登录账户并确认支付。 面部识别支付在具备面部识别功能的设备上用户可以通过扫描面部信息来完成支付称为“刷脸支付”。 NFC支付利用近场通讯NFC技术用户只需将手机靠近支持NFC功能的POS机即可完成支付。 2.2 扫码付接入流程 2.3 系统交互流程(时序图) 2.4 加密逻辑 非对称加密 公钥加密、验签私钥解密、签名 支付宝公钥加密、应用私钥签名支付宝私钥解密、应用公钥验签 支付宝请求加密解密过程 支付宝响应加密解密过程 应用公钥加密支付宝私钥签名支付宝公钥验签应用私钥解密 三 扫码支付实现 3.1 添加maven依赖Easy版 两个版本SDKeasy版和通用版Easy版maven地址!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-easysdk -- dependencygroupIdcom.alipay.sdk/groupIdartifactIdalipay-easysdk/artifactIdversion2.2.3/version /dependency通用版maven地址dependencygroupIdcom.alipay.sdk/groupIdartifactIdalipay-sdk-java/artifactIdversion4.38.183.ALL/version /dependency3.2 完善配置文件和配属属性类 需要的信息和获取方式 沙箱应用APPID 应用私钥应用公钥 通知回调地址使用coplar生成的https地址/notify接口 在application.yml中添加配置 alipay:easy:protocol: httpsgatewayHost: openapi-sandbox.dl.alipaydev.comsignType: RSA2appId: #沙箱应用的APPIDmerchantPrivateKey: #应用私钥alipayPublicKey: # 支付宝公钥notifyUrl: https://xxx.r6.cpolar.top/notify 创建文件 AliPayProperties.java import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration;Configuration Data ConfigurationProperties(prefix alipay.easy) public class AliPayProperties {//请求协议private String protocol;// 请求网关private String gatewayHost;// 签名类型 RSA2private String signType;// 应用IDprivate String appId;// 应用私钥private String merchantPrivateKey;// 支付宝公钥private String alipayPublicKey;// 异步通知接收服务地址private String notifyUrl;// 设置AES密钥private String encryptKey; }AlipayConfig.java import com.alipay.easysdk.kernel.Config; import com.itheima.alipay.prop.AliPayProperties; import lombok.Data; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration Data public class AlipayConfig {Beanpublic Config config(AliPayProperties payProperties) {Config config new Config();config.protocol payProperties.getProtocol();config.gatewayHost payProperties.getGatewayHost();config.signType payProperties.getSignType();config.appId payProperties.getAppId();config.merchantPrivateKey payProperties.getMerchantPrivateKey();config.alipayPublicKey payProperties.getAlipayPublicKey();//可设置异步通知接收服务地址可选config.notifyUrl payProperties.getNotifyUrl();config.encryptKey ;return config;} }3.3 扫码支付controller实现 import cn.hutool.extra.qrcode.QrCodeUtil; import com.alibaba.fastjson.JSONObject; import com.alipay.easysdk.factory.Factory; import com.alipay.easysdk.kernel.Config; import com.alipay.easysdk.payment.common.models.AlipayTradeQueryResponse; import com.alipay.easysdk.payment.facetoface.models.AlipayTradePrecreateResponse; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.io.File;RestController Slf4j AllArgsConstructor public class EasyPayController {private final Config alipayConfig;GetMapping(/pay)public String pay() throws Exception {Factory.setOptions(alipayConfig);//调用支付宝接口AlipayTradePrecreateResponse response Factory.Payment.FaceToFace().preCreate(rtx 4090 24G, 1656235762657645, 20000);//解析结果String httpBody response.getHttpBody();//转JSON对象JSONObject jsonObject JSONObject.parseObject(httpBody);String qrUrl jsonObject.getJSONObject(alipay_trade_precreate_response).get(qr_code).toString();//生成二维码QrCodeUtil.generate(qrUrl,300,300,new File(C:\\res.jpg));return httpBody;}PostMapping(/notify)public String notify(HttpServletRequest request){log.info(收到支付成功通知);String out_trade_no request.getParameter(out_trade_no);log.info(流水号{},out_trade_no);//TODO 后续业务流程return success;}GetMapping(/query)public String query() throws Exception {Factory.setOptions(alipayConfig);AlipayTradeQueryResponse response Factory.Payment.Common().query(1656235762657645);return response.getHttpBody();} } 3.4 运行结果 2024-01-07 21:30:49.127 INFO 6628 --- [nio-8080-exec-3] c.i.alipay.controller.EasyPayController : 收到支付成功通知 2024-01-07 21:30:49.128 INFO 6628 --- [nio-8080-exec-3] c.i.alipay.controller.EasyPayController : 流水号1656235762657645访问localhost:8080/query即可查询到付款成功的结果 {alipay_trade_query_response: {code: 10000,msg: Success,buyer_logon_id: hro***sandbox.com,buyer_pay_amount: 20000.00,buyer_user_id: 2088722025453088,buyer_user_type: PRIVATE,fund_bill_list: [{amount: 20000.00,fund_channel: ALIPAYACCOUNT}],//... } 沙箱环境的支付宝中可以查询到支付记录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站app公司前景免费的wordpress能用吗

1.数据类型 bool:布尔类型,属于基本类型的整数类型,取值为真和假 true:具有布尔类型的字面量,表示真 false:具有布尔类型的字面量,表示假 char:表示字符型,定义了字节的大小,char表示单字节字符 wchar_t:表…

网站加在线qq免费素材网png

Visio给立方体的每条边填充不同的颜色,超好用的visio小技巧~ 如何实现立方体的填充颜色从左边的纯色到右边的多色呢?一起学起来吧~ 在visio中绘制一个普通的立方体; 用一个大的矩形盖住刚才绘制的立方体; 全选之后找到 开发工具-&…

成都建设网站公司wordpress找回密码链接

【前端学习】—函数防抖&#xff08;十&#xff09; 一、什么是函数防抖 函数防抖&#xff1a;事件被触发n秒后再执行回调&#xff0c;如果在这n秒内又被触发&#xff0c;则重新计时。 二、代码实现 <script>const searchElement document.getElementById("searc…

网站后台英文重庆市建设工程施工安全管理网站

概述 ● 一个int成员变量 state 表示同步状态 ● 通过内置的FIFO队列来完成资源获取线程的排队工作 属性 AbstractQueuedSynchronizer属性 /*** 同步队列的头节点 */private transient volatile Node head;/*** 同步队列尾节点&#xff0c;enq 加入*/private transient …

网站建设作业指导书公司怎么建立自己网站

摘要安全多方计算几何(SMCG)是安全多方计算的一个分支。该协议是为SMCG中安全的多方凸包计算而设计的。首先&#xff0c;提出了一种基于量子同态加密的安全双方值比较协议。由于量子同态加密的性质&#xff0c;该协议可以很好地保护量子电路执行过程中数据的安全性和各方之间的…

网站用户注册增加办法濮阳建设公司网站

java中string与date(日期)格式之间的转换 经常遇到string和date之间的转换&#xff0c;把相关的内容总结在这里吧&#xff1a; 1.string格式转化为Date对象&#xff1a; //把string转化为dateDateFormat fmt new SimpleDateFormat("yyyy-MM-dd"); Date date fmt.par…

淘宝不允许 网站建设已经有域名如何做网站

jvm ide有没有想过为什么Eclipse / Netbeans会一直暂停一段时间&#xff1f; 特别是当您想向亲爱的同事展示代码中的内容时&#xff1f; 感到尴尬和尴尬&#xff0c;不是吗&#xff1f; 我发现大多数情况下IDE会由于执行垃圾收集器而暂停。 JVM设计中的微妙元素很少起作用&…

建设自己的二手房中介网站网站的内容管理

类加载器负责把类加载到java虚拟机即JVM中&#xff0c;指定类的名称&#xff0c;类加载器就会定位这个类的定义&#xff0c;每一个java类必须由类加载器加载。 当启动JVM的时候&#xff0c;我们可以使用三个类加载器&#xff1a;引导类加载器、扩展类加载器、应用程序类加载器 …

河南省建设工程质量协会网站wordpress 产品展示插件

2023年7月7日-9日&#xff0c;华为开发者大会2023&#xff08;Cloud&#xff09;在东莞松山湖隆重举行。期间&#xff0c;华为云主办了以“AI‘邂逅’一站式软件开发&#xff0c;CodeArts以10倍效能“绘”企业应用远景”为主题的分论坛。 华为云PaaS服务产品部副部长汪维敏携一…

网址怎么申请网站免费素材网免费素材图库

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本售楼管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&a…

网站开发报价单.docwordpress 应用模板下载

文章目录 版权声明准备&#xff1a;MYSQL数据库数据库简介数据库分类数据库管理系统SQL语句关系型数据库中核心元素MySQL环境搭建Mysql数据类型数据完整性和约束MYSql基本操作登录和退出数据库命令数据库基本操作命令数据表基本操作命令数据表结构修改命令表数据操作命令Mysql查…

建设单位经常去哪个网站织梦网站如何上传

#include<iostream> #include<vector> using namespace std; int singleNumber(vector<int>& nums) {int eo 0;for (auto b : nums)eo ^ b;return eo; }

企业网站模板 下载 论坛淘宝官网登录入口

JSAP &#xff08; Java Simple Argument Parser &#xff09;2.1是本系列文章的第二十篇&#xff0c;重点是处理Java的命令行参数。 JSAP页面描述了该库存在的原因&#xff1a;“我在Internet上找到了几个解析器&#xff0c;所有解析器都处理了开关&#xff0c;但是在解析返回…

网站建设作中国icp备案的有多少企业网站

汽车电子拓扑架构的演进过程 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师 (Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠…

网站开发职业定位网站如何快速被收录

HTTP 基本架构下面我们用一张简单的流程图来展示 HTTP 协议基本架构&#xff0c;以便大家先有个基本的了解Web Client 可以是浏览器、搜索引擎、机器人等等一切基于HTTP 协议发起 http 请求的工具。Web Server 可以是任何的能解析 HTTP 请求&#xff0c;并返回给Web Client 可识…

网站建设哪里找广州市数商云网络科技有限公司

文章目录 ⭐⭐⭐Spring核心源码分析自定义Spring框架⭐⭐⭐一、Spring使用回顾二、Spring核心功能结构1、Spring核心功能2、bean概述 三、Spring IOC相关接口分析1、BeanFactory解析2、BeanDefinition解析3、BeanDefinitionReader解析4、BeanDefinitionRegistry解析5、创建容器…

无锡网知名网站免费建学校网站

关于Portforge Portforge是一款功能强大的轻量级端口混淆工具&#xff0c;该工具使用Crystal语言开发&#xff0c;可以帮助广大研究人员防止网络映射&#xff0c;这样一来&#xff0c;他人就无法查看到你设备正在运行&#xff08;或没有运行&#xff09;的服务和程序了。简而言…

网站标题如何写丰都网站建设报价

简介&#xff1a; 基础知识 XML文件格式 XML基本语法 XML属性 练习&#xff1a; C#读取存储XML XML文件存放位置 读取XML文件 练习&#xff1a; 存储修改XML文件 练习&#xff1a; 总结 实践小项目 必备知识点 必备知识点——C#中XML序列化 必备知识点——C#中XML反序列化 必备…

网站如何添加百度统计休闲农庄展示网站

经过几个月的努力,终于基本完成了人人API拥有的所有功能,界面采用仿照人人梦想版5.13制作,其中资源文件也采用人人的APK文件资源,完成的功能及知识点如下:1.通过三种动画仿照出人人引导页的放大切换图片的效果。2.通过重写ViewGroup仿照出人人菜单和其他界面的手势滑动切换效果…

个人网站免费源码邯郸网站建设报价

数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 限制&#xff1a; 1 < 数组长度 < 50000 思路&#xff1a;…