Java开发支付宝支付功能

article/2025/10/15 8:23:34

之前做开发过程中,没有接触过支付相关的功能,最近做了一个支付相关功能的开发,包括支付宝和微信支付,为了避免以后忘记相关的流程,记录一下这次的开发经验,这里先介绍一下支付宝相关的开发。

        首先在进行java开发功能之前,先要在支付宝开放平台创建应用或者绑定应用,然后配置密钥,开放签约功能,具体流程,参考支付宝文档中心,附上链接

开放能力 | API支付宝文档中心https://opendocs.alipay.com/apis/01da3s

网页&移动应用学习路径 - 支付宝文档中心 (alipay.com)https://opendocs.alipay.com/apis/01ddgu应用创建完成,相关配置生成并且签约功能审核通过之后, 才可以发起支付,这里不再多说,先看一下支付宝支付的整体流程图:

支付宝整体的流程为, 商户客户端向商户服务端发起请求,获取签名后的订单信息,获取到信息之后调用支付宝支付接口完成支付请求,支付完成后商户客户端会收到支付结果,同时也会给商户服务端配置的异步通知地址发送一份支付结果,获取到异步结果之后,需要给支付宝接受响应的回应,将服务端异步获取的信息记录到数据库中,并提供给客户端,具体以哪个结果为准,可以根据各自的需要,一般来说,可以将服务端异步获取到的信息,作为支付是否成功的标准。

首先需要客户端发起支付请求,获取到相关的支付配置,比如支付金额,是否是签约订单,支付文案等相关信息,然后将这些信息传给服务端,服务端获取到这些信息,创建订单,需要的参数如下

app支付接口2.0 - 支付宝文档中心 (alipay.com)https://opendocs.alipay.com/apis/02e7gq?scene=20

//客戶端唤起APP 公参
Map<String, String> publicParameter = new HashMap<>();
//支付宝分配给开发者的应用ID
publicParameter.put("app_id", "XXXXXXXXX");
publicParameter.put("charset", "UTF-8");
//商户生成签名字符串所使用的签名算法类型
publicParameter.put("sign_type", "RSA");// 签名方式RSA/RSA2
//接口名称
publicParameter.put("method", "alipay.trade.app.pay");//支付宝交易接口
//发送请求的时间
publicParameter.put("timestamp",DateUtil.getDateByDatePattern(DateUtil.LONG_DATE_FORMAT));
publicParameter.put("version", "1.0");
publicParameter.put("format", "JSON");
publicParameter.put("notify_url", callbackUrl);// 回调地址
Map<String, String> privateParameter = new HashMap<>();
//订单号
privateParameter.put("out_trade_no", tradeNo);//外部交易订单号
privateParameter.put("product_code", "QUICK_MSECURITY_PAY");//销售产品码,可根据实际修改
//支付价格
privateParameter.put("total_amount", amount + "");
//绝对超时时间
privateParameter.put("time_expire", DateUtil.addMinute("", 10, "yyyy-MM-dd HH:mm"));
//商品描述
privateParameter.put("body", body);
//合作商ID
privateParameter.put("seller_id", "XXXXXXXX");
//附属字段
publicParameter.put("biz_content", JsonUtil.obj2Json(privateParameter));
//参数字符串化
String linkString = FreePayUtils.buildOrderParam(publicParameter);
//签名
String signstr = FreePayUtils.getSign(publicParameter, "XXXXXXX"(阿里私钥),false);Map<String, String> callAliPay = new HashMap<>();
callAliPay.put("callAliPayUrl", linkString + "&" + signstr);

参考支付宝的签名文档:数据签名 - 支付宝文档中心 (alipay.com)https://opendocs.alipay.com/common/02kf5q

签名信息生成之后,将这些信息返回给客户端,callAliPay.put("callAliPayUrl", linkString + "&" + signstr);客户端拿到这些信息后,调用支付宝的SDK请求支付,支付成功后,支付宝会将支付结果同步发送给客户端,同时将信息发送到callbackUrl回调地址,数据验签校验之后,获取相应的数据,更新订单信息即可。


http://chatgpt.dhexx.cn/article/OOuKPxRP.shtml

相关文章

支付宝支付功能实现

支付宝支付功能 1、电脑网站支付&#xff0c;手机网站支付&#xff0c;app支付1.1、异步通知介绍1.2、API和请求示例介绍 2、当面付3、小程序支付接入4、代码完整代码 支付宝开发文档中心 注意&#xff1a;个人无法使用此功能&#xff0c;因为个人申请使用是不会通过的 1、电脑…

支付功能

Django rest framework之支付功能 一.支付宝支付 1.进入蚂蚁金服开放平台&#xff08;查看api&#xff09;&#xff1a; 1.1在正式生产环境中需要创建应用&#xff08;需审核&#xff09;&#xff1a; 1.2沙箱环境&#xff08;测试&#xff09;&#xff1a; 可以在文档中查看对…

springboot实现支付宝支付功能

支付系统中容易出现的问题 1&#xff0c;用户在页面下订单后&#xff0c;价格被篡改&#xff1b; 解决方案&#xff1a;通过后端计算订单的总金额 2&#xff0c;订单重复处理。用户支付成功后&#xff0c;支付宝会短时间内多次调用我们的回调接口&#xff0c;如果出现网络波动…

2021年,Flutter 与 React Native该如何选择?,安卓app开发教程

一、Flutter 应用的优势 =========================================================================== 1. 热重载 = 快速编码 Flutter 允许开发人员使用一种更复杂、更快速的方式来创建应用程序。这是 Flutter 的最大优势之一,也是所有顶级移动应用开发公司都颇为看重的…

一大波开发者福利来了,一份微软官方Github上发布的开源项目清单等你签收

目录 微软Github开源项目入口微软开源项目受欢迎程度排名 Visual Studio CodeTypeScriptRxJS.NET Core 基础类库CNTKMicrosoft calculatorMonaco editorMS-DOSRedis windows版.NET Core CLR (公共语言运行时)ASP.NET CoreEntity Framework CorePowerShell如何在其中搜索自己需要…

.Net资讯 | 一大波开发者福利来了, 一份微软官方Github上发布的开源项目清单等你签收...

目录 微软Github开源项目入口微软开源项目受欢迎程度排名 Visual Studio CodeTypeScriptRxJS.NET Core 基础类库CNTKMicrosoft calculatorMonaco editorMS-DOSRedis windows版.NET Core CLR (公共语言运行时)ASP.NET CoreEntity Framework CorePowerShell如何在其中搜索自己需要…

FullCalendar:eventColor,eventBackgroundColor, eventBorderColor, and eventTextColor

<!DOCTYPE html><html><head><meta charsetutf-8 /><title>背景色設定</title><link href../fullcalendar.min.css relstylesheet /><link href../fullcalendar.print.min.css relstylesheet mediaprint /><script src../l…

Flutter 与 React Native 该如何选择

跨平台程序员之间关于 React Native 和 Flutter 的旷日持久的争论越来越白热化了。前几年&#xff0c;React Native 还是开发人员的首选框架&#xff0c;但是自 2017 年 Flutter 发布以来&#xff0c;其已经发展成为 React Native 的一个强有力竞争对手。 最近&#xff0c;随着…

2021年,Flutter 与 React Native该如何选择?

????????关注后回复 “进群” &#xff0c;拉你进程序员交流群???????? 作者 | Wasim Charoliya 译者 | 王强 策划 | 田晓旭 2021 年&#xff0c;跨平台程序员之间关于 React Native 和 Flutter 的旷日持久的争论越来越白热化了。前几年&#xff0c;React Nati…

React Native 三端同构实践

⚠️ 博客中涉及的代码内容可查看 Github: react-native-isomorphism React Native三端同构皆在&#x1f22f;️在不改动 React Native 代码下&#xff0c;公用一套代码架构, 在浏览器中实现同样的展示、交互、功能。 在实际开发过程中, 尤其创业公司, 需求的迭代周期是非常快…

吐血推荐|2万字总结Mac所有应用程序、软件工具和相关资料

现在随着互联网的发展&#xff0c;越来越多的公司都鼓励Mac办公&#xff0c;属实MacOS系统对于我们的工作开发效率有很大提升&#xff0c;所以我们需要收集各种类别非常好用的 Mac 应用程序、软件以及工具。作为一个资深 Mac 用户&#xff0c;我需要它们帮助我快乐、高效的工作…

网易云音乐React Native体系建设与发展

本文作者&#xff1a;章伟东 &#xff08;网易云音乐大前端团队&#xff09; 0.33 历史 17 年 3 月份&#xff0c;为了解决商城性能和用户体验问题&#xff0c;云音乐技术团队组建了一只 4 人 ReactNative 开发小分队&#xff1a;我负责 RN 前端开发&#xff0c;安卓和 iOS 两…

每周分享第 26 期

这里记录过去一周&#xff0c;我看到的值得分享的东西&#xff0c;每周五发布。 Basecamp 是 IT 行业很有名的一家公司&#xff0c;提供团队协作工具&#xff0c;同时也是 Rails on Ruby 框架的创造者。这家公司的特别之处在于&#xff0c;它不仅写软件&#xff0c;还写畅销书&…

爱开源的微软是如何击败 Facebook、Google 成为 GitHub No.1 的?

拥抱开源的微软这几年究竟都做了些什么&#xff1f; 去年今月&#xff0c;我在微软开发者峰会上见到了《设计模式&#xff1a;可复用面向对象软件的基础》联合作者、现任微软技术院士&#xff08;Technical Fellow at Microsoft&#xff09;Erich Gamma&#xff0c;那是我第一次…

跨端与同构开发技术一览

关键词&#xff1a;React Native, uni-app, Flutter ,Tauri, Ionic 和 weex 文章目录 前言跨端技术简史几种常见跨端技术对比小程序的繁荣跨端同构技术uni-appTaroreact-native-webreactxpWeex阿里的RaxRemax去哪儿网的qrn-remax-unir去哪儿网的anuKbone腾讯新一代跨端开发框架…

@开发者,一份微软官方Github上发布的开源项目清单等你签收

最近在倒腾WPF的项目&#xff0c;试着搜一下微软官方提供的WPF Smaples, 结果找到了https://github.com/Microsoft/WPF-Samples. 当然还发现了Cortana相关的开源资料http://microsoft.github.io/UWPQuickStart/docs/challenges/cortana-integration.html和UWP资源http://micros…

React Native 三端同构实战

WeiboGoogle用电子邮件发送本页面 0 React Native 三端&#xff08;Web、iOS、Android&#xff09;同构是指在不改动原 React Native 的代码下&#xff0c;让其在浏览器中运行出和在 React Native 环境下一样的页面。对于使用 React Native 开发的页面&#xff0c;如果又单独为…

reactxp搭建,start:windows运行不起来

1、官网 reactxp 2、VSCode和Visual Studio2019 安装VSCode Visual Studio 下载地址 先不用勾选工作负荷&#xff0c;直接安装 3、安装nvm 访问下载地址下载安装nvm&#xff1a; 百度云分享 官网直装链接 nvm的github发行界面下载nvm-setup.exe GitCode镜像下载nvm-setup…

微软发布ReactXP:方便开发者构建跨平台应用

说起跨平台开发工具&#xff0c;开发者们最先想到的无外乎是 Cordova 和 Xamarin。但是前者无法提供足够令人满意的性能表现&#xff0c;而后者在 Web 开发上心有余而力不足。所以&#xff0c;微软 Skype 团队基于 React JS 和 React Native 开发了一款全新的跨平台开发工具 —…

跨平台技术实践案例: 用 reactxp 重写墨刀的移动端

重新编写&#xff0c;又一次&#xff0c;我们又一次重新编写了移动端应用和移动端网站。要重新编写是一个风险很大的决定&#xff0c;但是其必要性以及它所带来的收益是我们无法拒绝的。这篇文章会分享我们为什么这么做&#xff0c;我们是怎么做的&#xff0c;以及这次重写后为…