Java支付宝订单查询
Java支付宝订单查询
电脑网站支付成功后可通过支付宝接口主动查询订单结果
更多精彩
- 更多技术博客,请移步 asing1elife’s blog
前置条件
- 该方法基于 Java 支付宝扫码支付 (新) 实现
调用查询接口进行订单查询
public class AliQueryServiceImpl extends AliCoreServiceImpl {
public Boolean getPayResult(Long orderId) {
AlipayTradeQueryRequest queryRequest = new AlipayTradeQueryRequest();
queryRequest.setBizModel(generateOrderInfo(orderId));
AlipayTradeQueryResponse response = null;
try {
response = alipayClient.execute(queryRequest);
} catch (AlipayApiException e) {
logger.error("支付宝查询订单" + orderId + "失败!", e);
}
if (response == null) {
logger.error("支付宝未获取订单" + orderId + "详情!");
return false;
}
if (response.isSuccess()) {
if (response.getTradeStatus().equals(TRADE_STATUS_SUCCESS) || response.getTradeStatus().equals(TRADE_STATUS_FINISHED)) {
// 更新订单状态
updateOrderInfo(response.getOutTradeNo(), OrderPay.aliPay.getCode());
return true;
}
logger.error("支付宝订单" + orderId + "交易失败,交易状态:" + response.getTradeStatus());
return false;
} else {
logger.error("支付宝订单" + orderId + "查询失败!");
return false;
}
}
private AlipayTradeQueryModel generateOrderInfo(Long orderId) {
OrderDTO order = orderManageService.getOrder(orderId);
AlipayTradeQueryModel model = new AlipayTradeQueryModel();
model.setOutTradeNo(order.getCode());
return model;
}
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Java支付宝扫码支付[新]
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82619994 Java支付宝扫码支付[新] 支付宝老版本的 Web 端扫码支付产品为即时到账,更新到新版后现在的产品为电脑网站支付 更多精彩 更多技术博客,请移步 asing1elife’s blog 官网 电脑网站支付快速接入 准备数据 电脑网站支付 应用需要在开发者页面端进行申请和签约 应用签约成功之后需要获取以下信息 app_id: 签约成功的应用唯一标识 app_private_key: 通过 RSA 密钥生成的应用私钥,由开发者自己通过签名软件生成[支付宝提供] alipay_public_key: 通过应用私钥和公钥生成的支付宝公钥,由支付宝自动生成 下载 Java 版 SDK 前往 电脑网站支付 SDK 获取 下载 Java 的 SDK 该 SDK 目前不支持 Maven 方式引入,只能通过本地引入 正常开发模式只需要引入 alipay-sdk-java-3.0.0.jar 即可 获取...
-
下一篇
详解JVM内存管理与垃圾回收机制2 - 何为垃圾
随着编程语言的发展,GC的功能不断增强,性能也不断提高,作为语言背后的无名英雄,GC离我们的工作似乎越来越远。作为Java程序员,对这一点也许会有更深的体会,我们不需要了解太多与GC相关的知识,就能很好的完成工作。那还有必要深入了解GC吗?学习GC的意义在哪儿? 不管性能提高到何种程度,GC都需要花费一定的时间,对于实时性要求较高的场景,就必须尽量压低GC导致的最大暂停时间 (GC会导致应用线程处于暂停状态),举两个例子: 实时对战游戏:如果因为GC导致玩家频繁卡顿,任谁都会想摔手机吧。 金融交易:在某些对价格非常敏感的交易场景下(比如,外汇交易中价格的变动非常频繁),如果因为GC导致没有按照交易者指定的价格进行交易,相信我,这些交易者非生吃了你。 但也有许多场景,GC的最大暂停时间没那么重要,比如,离线分析、视频网站等等。因此,知道这个GC算法有这样的特征,所以它适合这个场景,对程序员来说非常有价值,这就是我们学习GC最重要的意义。接下来,我们将一步步走进GC的世界。 从诞生之初,人们就在思考GC需要完成的3件事情:何为垃圾?何时回收?如何回收?垃圾收集器在对内存进行回收前,第一件事...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- MySQL数据库在高并发下的优化方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8编译安装MySQL8.0.19