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

一:在支付时,可能由于用户的手机卡顿,或者一直停留在支付页面不输入支付密码的情况,这时候就需要我们手动去关闭此次交易,可以使用定时任务,规定用户在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分钟没有输入密码,就可以使用定时任务去调用关闭订单接口

控制台输出:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值