Java支付宝订单查询

简介: 版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82620005 ...
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82620005

Java支付宝订单查询

电脑网站支付成功后可通过支付宝接口主动查询订单结果

更多精彩

前置条件

  1. 该方法基于 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;
    }

}
目录
相关文章
|
Java Apache 开发者
解决java.lang.IllegalArgumentException: Invalid uri由无效查询引起的问题
最后,当你修改代码以避免这个异常时,保持代码的整洁和可读性同样重要。注释你的代码,用意图清晰的方法名,并确保逻辑简单明了,这样在未来你或其他开发者需要时可以轻松地维护它。
1305 20
|
SQL Java 数据库
解决Java Spring Boot应用中MyBatis-Plus查询问题的策略。
保持技能更新是侦探的重要素质。定期回顾最佳实践和新技术。比如,定期查看MyBatis-Plus的更新和社区的最佳做法,这样才能不断提升查询效率和性能。
815 1
|
SQL NoSQL Java
Java使用sql查询mongodb
通过MongoDB Atlas Data Lake或Apache Drill,可以在Java中使用SQL语法查询MongoDB数据。这两种方法都需要适当的配置和依赖库的支持。希望本文提供的示例和说明能够帮助开发者实现这一目标。
694 17
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
2068 6
|
前端开发 Java 开发工具
【Java】轻松解决支付宝沙箱问题。
本文详细介绍了如何使用Java实现支付宝沙箱支付功能,涵盖从环境搭建到代码实现的全过程
1515 1
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
687 9
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
297 8
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
1023 6
|
缓存 Java 数据处理
java查询大量数据优化
通过结合的高性能云服务,如其提供的弹性计算资源与全球加速网络,可以进一步增强这些优化策略的效果,确保数据处理环节更加迅速、可靠。蓝易云不仅提供稳定的基础架构,还拥有强大的安全防护和灵活的服务选项,是优化大型数据处理项目不可或缺的合作伙伴。
500 0
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
217 1