支付宝电脑网站支付,交易关闭

一:在支付时,可能由于用户的手机卡顿,或者一直停留在支付页面不输入支付密码的情况,这时候就需要我们手动去关闭此次交易,可以使用定时任务,规定用户在30分钟之内进行支付完成,如果没有支付完成,就会关闭次交易

二:示例代码

 @RequestMapping("/closeOrder")
    public void closeOrder(String orderid) {
        System.out.println( orderid );
        try {
            AlipayClient alipayClient = new DefaultAlipayClient( constant.serverUrl,
                    constant.appId,
                    constant.privateKey,
                    constant.format,
                    constant.charset,
                    constant.PublicKey,
                    constant.signType
            );
            AlipayTradeCloseRequest request = new AlipayTradeCloseRequest();
            JSONObject bizContent = new JSONObject();
            bizContent.put( "out_trade_no", orderid );
            request.setBizContent( bizContent.toString() );
            AlipayTradeCloseResponse response = alipayClient.execute( request );
            if (response.isSuccess()) {
                System.out.println( "关闭订单调用成功" );
            } else {
                System.out.println( "关闭订单调用失败" );
            }
        } catch (AlipayApiException e) {
            e.printStackTrace();
        }
    }

三:测试

数据库添加一条订单

支付测试,但是不输入密码!!!,模拟用户卡顿或者故意为之

如果用户在这个页面超过30分钟没有输入密码,就可以使用定时任务去调用关闭订单接口

控制台输出:

这个时候用户再去输入密码进行支付就不可以了,因为已经修改了订单的交易状态

文章来源地址https://uudwc.com/A/AAXyE

原文地址:https://blog.csdn.net/weixin_58696998/article/details/133383479

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年10月03日 12:10
Java Lambda 表达式
下一篇 2023年10月03日 14:10