当前位置: 首页 > news >正文

支付宝支付功能使用

1、进入“蚂蚁金服开放平台”

https://open.alipay.com/https://open.alipay.com/

2、下载支付宝官方 demo,进行配置和测试

文档地址

手机网站支付 DEMO | 网页&移动应用支付宝文档中心https://opendocs.alipay.com/open/02no47

demo下载

网页&移动应用支付宝文档中心https://opendocs.alipay.com/open/270/106291/

源码目录结构说明

├─src│  └─com.alipay│      └─config│          ├─AlipayConfig        配置类│      └─util│          ├─logFile        日志类├─WebContent│  └─META-INF│  └─ wappay 手机网站支付│          ├─close.jsp 统一收单交易关闭接口调试入口页面│          ├─downloadurl.jsp 查询对账单下载地址接口调试入口页面│          ├─ pay.jsp 支付宝手机网站支付接口(alipay.trade.wap.pay)接口调试入口页面│          ├─query.jsp 统一收单线下交易查询调试入口页面│          ├─refund.jsp 统一收单交易退款接口调试入口页面│          ├─ refundquery.jsp 统一收单交易退款查询调试入口页面│  └─ META-INF│      └─ lib 依赖类库│          ├─alipay-sdk-java-3.3.0.jar│          ├─alipay-sdk-java-3.3.0-source.jar│          ├─ commons-logging-1.1.1.jar│          ├─ commons-logging-1.1.1-sources.jar│       ├─index.html│       ├─notify_url.jsp│       ├─ return_url.jsp

AlipayConfig  配置类示例代码 

package com.alipay.config;public class AlipayConfig {// 商户appidpublic static String APPID = "";// 私钥 pkcs8格式的public static String RSA_PRIVATE_KEY = "";// 服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问public static String notify_url = "http://商户网关地址/alipay.trade.wap.pay-JAVA-UTF-8/notify_url.jsp";// 页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址public static String return_url = "http://商户网关地址/alipay.trade.wap.pay-JAVA-UTF-8/return_url.jsp";// 请求网关地址public static String URL = "https://openapi.alipay.com/gateway.do";// 编码public static String CHARSET = "UTF-8";// 返回格式public static String FORMAT = "json";// 支付宝公钥public static String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjrEVFMOSiNJXaRNKicQuQdsREraftDA9Tua3WNZwcpeXeh8Wrt+V9JilLqSa7N7sVqwpvv8zWChgXhX/A96hEg97Oxe6GKUmzaZRNh0cZZ88vpkn5tlgL4mH/dhSr3Ip00kvM4rHq9PwuT4k7z1DpZAf1eghK8Q5BgxL88d0X07m9X96Ijd0yMkXArzD7jg+noqfbztEKoH3kPMRJC2w4ByVdweWUT2PwrlATpZZtYLmtDvUKG/sOkNAIKEMg3Rut1oKWpjyYanzDgS7Cg3awr1KPTl9rHCazk15aNYowmYtVabKwbGVToCAGK+qQ1gT3ELhkGnf3+h53fukNqRH+wIDAQAB";// 日志记录目录定义在 logFile 中public static String log_path = "/log";// RSA2public static String SIGNTYPE = "RSA2";}

index.html 说明 

<div id="main"><div id="body" style="clear:left"><dl class="content"><dt></dt><dd id="btn-dd"><span class="new-btn-login-sp"><button class="new-btn-login" style="text-align:center;" onclick="window.open('./wappay/pay.jsp')">手机网站2.0支付(接口名:alipay.trade.wap.pay)</button></span></dd><dt></dt><dd id="btn-dd"><span class="new-btn-login-sp"><button class="new-btn-login" style="text-align:center;" onclick="window.open('./wappay/query.jsp')">手机网站2.0订单查询 (接口名:alipay.trade.query)</button></span></dd><dt></dt><dd id="btn-dd"><span class="new-btn-login-sp"><button class="new-btn-login" style="text-align:center;" onclick="window.open('./wappay/refund.jsp')">手机网站2.0订单退款  (接口名:alipay.trade.refund)</button></span></dd><dt></dt><dd id="btn-dd"><span class="new-btn-login-sp"><button class="new-btn-login" style="text-align:center;" onclick="window.open('./wappay/refundquery.jsp')">手机网站2.0订单退款查询(接口名:alipay.trade.fastpay.refund.query)</button></span></dd><dt></dt><dd id="btn-dd"><span class="new-btn-login-sp"><button class="new-btn-login" style="text-align:center;" onclick="window.open('./wappay/downloadurl.jsp')">手机网站2.0账单下载(接口名:alipay.data.dataservice.bill.downloadurl.query)</button></span></dd></dl></div>

3、配置使用沙箱进行测试

1、使用 RSA 工具生成签名

2、下载沙箱版钱包

3、运行官方 demo 进行测试

4、什么是公钥、私钥、加密、签名和验签?

公钥私钥

公钥和私钥是一个相对概念 它们的公私性是相对于生成者来说的。

一对密钥生成后,保存在生成者手里的就是私钥, 生成者发布出去大家用的就是公钥

加密和数字签名

 加密是指:

        我们使用一对公私钥中的一个密钥来对数据进行加密,而使用另一个密钥来进行解 密的技术。

 公钥和私钥都可以用来加密,也都可以用来解密。

 但这个加解密必须是一对密钥之间的互相加解密,否则不能成功。

 加密的目的是:

         为了确保数据传输过程中的不可读性,就是不想让别人看到。

签名:

 给我们将要发送的数据,做上一个唯一签名(类似于指纹)

 用来互相验证接收方和发送方的身份;

 在验证身份的基础上再验证一下传递的数据是否被篡改过。因此使用数字签名可以 用来达到数据的明文传输。

验签

 支付宝为了验证请求的数据是否商户本人发的,

 商户为了验证响应的数据是否支付宝发的

相关文章:

支付宝支付功能使用

1、进入“蚂蚁金服开放平台” https://open.alipay.com/https://open.alipay.com/ 2、下载支付宝官方 demo&#xff0c;进行配置和测试 文档地址 手机网站支付 DEMO &#xff5c; 网页&移动应用支付宝文档中心https://opendocs.alipay.com/open/02no47 demo下载 网页…...

数据库必知必会:TiDB(11)TiDB集群安装

数据库必知必会&#xff1a;TiDB&#xff08;11&#xff09;TiDB集群安装TiDB集群安装单机环境上安装集群下载并安装TiUP工具安装TiUP cluster组件创建拓扑文件配置SSH免密登录检查安装要求创建安装目录部署集群启动集群验证集群启动使用命令验证通过Dashboard查看通过Grafana查…...

ubuntu18安装Autoware 标定工具箱

参考链接&#xff1a;https://blog.csdn.net/zbr794866300/article/details/107109186#:~:textAutoware1.10%E4%BB%A5%E4%B8%8A%E7%9A%84%E8%BD%AF%E4%BB%B6%E9%83%BD%E9%9C%80%E8%A6%81%E5%8D%95%E7%8B%AC%E5%AE%89%E8%A3%85%E8%BF%99%E4%B8%AAcalibration%E6%A0%87%E5%AE%9A%…...

【面试题】ES6 如何将 Set 转化为数组

大厂面试题分享 面试题库后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★地址&#xff1a;前端面试题库Set 是 ES6 中新增的一种集合类型&#xff0c;类似于数组&#xff0c;但其成员的值是唯一的&#xff0c;即不会重复。关于Set&#xff0c;可以阅…...

vs2022 实现无线调试安卓(Windows)

文章目录VS安装安卓调试环境前提条件Android SDK 版本查看安卓开启无线调试开启开发者模式打开USB调试功能打开无线调试功能查看配对信息&#xff08;再次点击无限调试&#xff0c;不是switch开关&#xff09;准备电脑端输入adb命令配对安卓查看设备清单如果没有设备VS无线调试…...

手把手教你做插件(2)模块大串联

0&#xff0c;前言 这篇文章笔记比较简略&#xff0c;大部分的操作都是和上一篇文章重复了&#xff0c;建议先看上一节文章&#xff0c;直达电梯&#xff1a;UE4 手把手教你做插件&#xff08;1&#xff09; 从代码引用插件_asiwxy的博客-CSDN博客UE4 手把手教你创建插件https:…...

LU Accepted or Rejected过程介绍

本文介绍LU成功和失败的过程。 LU accepted过程 [MS->NW] MM__LOCATION_UPDATING_REQUEST(LU type:MM_NORMAL_LU) MM_T3210_TIMER_ID Timer starts [NW->MS] MM__LOCATION_UPDATING_ACCEPT MM_T3210_TIMER_ID Timer stopped 通过OTA消息LOCATION_UPDATE_REQUEST查看LU ty…...

Teradata退了? 无所谓,GBASE会出手

近期&#xff0c;就在2月15日&#xff0c;国内IT界有搞出个大瓜&#xff0c;Teradata以对中国当前及未来商业环境的不确定性&#xff0c;慎重考虑后决定退出中国运营&#xff0c;后续将进入中国公司关闭程序。Teradata是一家有着40多年历史的数据仓库企业&#xff0c;被业界专业…...

华为OD机试 - 病菌感染(Python) | 机试题+算法思路+考点+代码解析 【2023】

病菌感染 题目 在一个地图中(地图有N*N个区域组成) 有部分区域被感染病菌 感染区域每天都会把周围上下左右的四个区域感染 请根据给定的地图计算多少天以后全部区域都会被感染 如果初始地图上所有区域都被感染 或者没有被感染区域返回-1 备注 1 <= N < 200 输入 一行…...

前置知识-边值问题、打靶法、bvp 系列函数的用法

1.2 边值问题 微分方程边值问题(Boundary Value Problem,简称BVP)是微分方程求解中的一个重要问题。与初值问题(Initial Value Problem,简称IVP)不同,BVP是在某个区间内寻求微分方程解的特定边界条件下的解。 在实际问题中,许多微分方程的解必须满足一些特定的边界条…...

为什么越来越多的企业选择智能客服系统?

现在智能客服系统越来越普遍&#xff0c;但是大部分的企业在配备智能客服系统的同时也会配置人工客服。因为目前为止&#xff0c;智能客服并不可以完全取代人工客服。智能客服系统之所以能够受到众多企业的青睐&#xff0c;主要是存在以下几点原因&#xff1a; 1、反应速度快&a…...

打造一款日志分析工具

一、简介 作为一名安全从业者&#xff0c;网络安全事件的应急响应工作是必不可少的&#xff0c;那么在应急支撑时&#xff0c;针对大量的日志数据便需要借助自动化工具实现快速的归类检测&#xff0c;并提取出所需的关键日志数据。本篇文章主要通过利用python语言编写一款web日…...

网络编程基础知识

套接字类型:1.字节流套接字(stream) 2.数据报接套接字(datagram) 3.原始套接字(raw) 端口:1.周知端口: 0~1023 2.注册端口: 1024~49151 3.动态端口: 49152~65535 OSI七层协议结构应用层表示层会话层...

2023北京老博会(CBIAIE全国老年产业必参盛会)

CBIAIE北京老博会|把握政策导向&#xff0c;迎合市场需求&#xff0c;引导销售渠道建设&#xff0c;搭建国际化的商业平台&#xff1b; 2023第十届中国&#xff08;北京&#xff09;国际老年产业博览会&#xff08;CBIAIE北京老博会&#xff09; The 2023 tenth China (Beijin…...

【字典转模型 Objective-C语言】

一、点按钮,弹出的这个效果,这实际上是个Label, 这实际上是一个Label,点按钮弹出的这个效果, 设置一个Label的背景色、前景色、透明度、等等, 让它加进来,然后通过动画让它隐藏掉, 这就是,这个效果的实现思路, 咱们这个效果,先稍微往后放一放, 这个并不是重点…...

【LeetCode】剑指 Offer(6)

目录 写在前面&#xff1a; 题目&#xff1a;剑指 Offer 12. 矩阵中的路径 - 力扣&#xff08;Leetcode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 写在最后&#xff1a; 写在前面&#xff…...

论文投稿指南——中文核心期刊推荐(法律)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…...

Qt音视频开发15-动态切换解码内核的设计

一、前言 动态切换解码内核这个需求也是源自客户的真实需求&#xff0c;既然是动态切换&#xff0c;那肯定是运行期间切换&#xff0c;而不是通过改变标志位重新编译程序来切换&#xff0c;最开始做的就是这种方式&#xff0c;这样就是实现起来简单&#xff0c;但是用起来不够…...

concurrent-map 和 sync.Map,我该选择哪个?

官方的map并不是线程安全的&#xff0c;如果我们在多线程中并发对一个map进行读写操作&#xff0c;是会引发panic的。解决方案除了使用锁来对map进行保护外&#xff0c;还有两种方式&#xff1a;一&#xff0c;开源项目 concurrent-map 提供了可以用来做并发安全的map二&#x…...

华为OD机试 - 最少数量线段覆盖| 机试题算法思路 【2023】

最近更新的博客 华为OD机试 - 简易压缩算法(Python) | 机试题算法思路 【2023】 华为OD机试题 - 获取最大软件版本号(JavaScript) 华为OD机试 - 猜字谜(Python) | 机试题+算法思路 【2023】 华为OD机试 - 删除指定目录(Python) | 机试题算法思路 【2023】 华为OD机试 …...

发送文件脚本源码版本

V1 适配win10和 win11 #SingleInstance Force SendMode Input SetWorkingDir %A_ScriptDir%; Global variables global TaskList : [] global CurrentFileConfig : "current_file.ini" global RemainingFilesConfig : "remaining_files.ini" global File…...

大话软工笔记—需求调研的准备

需求调研前需做好充分的准备&#xff1a; 1. 背景资料来源 可以通过企业官网、宣传资料、人员沟通获取客户企业信息。 ​​​​​​​2. 背景资料汇总 根据获得的信息做出一份背景分析报告&#xff0c;主要包含以下内容&#xff1a; 2.1 企业基本信息 企业发展愿景&#…...

OpenEuler服务器警告邮件自动化发送:原理、配置与安全实践

OpenEuler服务器警告邮件自动化发送&#xff1a;原理、配置与安全实践 在服务器的运维管理过程中&#xff0c;及时感知系统异常状态至关重要。当OpenEuler系统运行时&#xff0c;将服务器的警告信息实时推送至邮箱&#xff0c;能帮助运维人员快速响应潜在问题&#xff0c;保障…...

NLP学习路线图(三十二): 模型压缩与优化

一、 核心压缩与优化技术详解 1. 知识蒸馏:智慧的传承(Knowledge Distillation, KD) 核心思想:“师授徒业”。训练一个庞大、高性能但笨重的“教师模型”(Teacher Model),让其指导训练一个轻量级的“学生模型”(Student Model)。学生模型学习模仿教师模型的输出行为(…...

stm32——UART和USART

串口通信协议UART和USART 1. UART与USART协议详解 特性UART (Universal Asynchronous Receiver/Transmitter)USART (Universal Synchronous Asynchronous Receiver/Transmitter)全称通用异步收发器通用同步/异步收发器同步/异步异步&#xff1a;不共享时钟&#xff0c;数据通过…...

利用Pandas AI完成Excel大模型的结合实现自然语言问数

需求说明 实现对Excel工具的自然语言问数&#xff0c;即可以通过界面上传Excel文件&#xff0c;然后在文本框里通过语言对话的形式问出要统计的内容。比如&#xff1a; 用户数有多少&#xff1f; 语文成绩低于90的用户有多少&#xff1f; ..... 实现思路 Pandas AI是基于…...

前端开发面试题总结-HTML篇

文章目录 HTML面试高频问答一、HTML 的 src 和 href 属性有什么区别?二、什么是 HTML 语义化?三、HTML的 script 标签中 defer 和 async 有什么区别?四、HTML5 相比于 HTML有哪些更新?五、HTML行内元素有哪些? 块级元素有哪些? 空(void)元素有哪些?六、iframe有哪些优点…...

嵌入式学习--江协stm32day4

只能说拖延没有什么好结果&#xff0c;欠下的债总是要还的。 ADC 模拟信号转化为数字信号&#xff0c;例如温度传感器将外部温度的变化&#xff08;模拟信号&#xff09;&#xff0c;转换为内部电压的变化&#xff08;数字信号&#xff09; IN是八路输入&#xff0c;下方是选择…...

股指期货期权交易规则是什么?

本文主要介绍股指期货期权交易规则是什么&#xff1f;股指期货期权是以股指期货合约为标的物的期权交易&#xff0c;其规则结合了期货与期权的特点。 股指期货期权交易规则是什么&#xff1f; 一、基础交易规则 交易时间 交易日9:30-11:30&#xff0c;13:00-15:00&#xff0…...

dvwa5——File Upload

LOW 在dvwa里建一个testd2.php文件&#xff0c;写入一句话木马&#xff0c;密码password antsword连接 直接上传testd2.php文件&#xff0c;上传成功 MEDIUM 查看源码&#xff0c;发现这一关只能提交jpg和png格式的文件 把testd2.php的后缀改成jpg&#xff0c;上传时用bp抓包…...