支付宝扫码支付与退款_直接上代码

4 篇文章 1 订阅
1 篇文章 0 订阅

1 支付宝支付
https://opendocs.alipay.com/open/194/106078

        //获得初始化的AlipayClient 
        AlipayClient alipayClient = new DefaultAlipayClient ( 
        "https://openapi.alipay.com/gateway.do" ,  APP_ID ,  APP_PRIVATE_KEY ,  "json" ,  
         CHARSET ,  ALIPAY_PUBLIC_KEY ,  "RSA2" );  
        //封装支付宝预支付模型        
        AlipayTradePrecreateModel model = new AlipayTradePrecreateModel();
        model.setSubject("XX增值服务");
        model.setTotalAmount(String.valueOf(order.getPayPrice()));
        model.setStoreId(orderId);
        model.setTimeoutExpress("1m");
        model.setOutTradeNo(order.getOrderNo());
        AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
        request.setBizModel(model);
        request.setReturnUrl(alipayReturnUrl);//需定义好跳转链接地址
        request.setNotifyUrl(alipayNotifyUrl);//需定义好回调地址,处理支付成功后的业务
        // 执行支付宝请求。
        AlipayTradePrecreateResponse response = alipayClient.execute(request);
        if (response.isSuccess()) {
            log.info("调用成功");
            String code = response.getQrCode();
            log.info("二维码URL" + code); 
        //如https://qr.alipay.com/bax04344igml342yrywa004f
            writeToServletFile(code, servletResponse);
            return response.getBody();
        } else {
            throw new CommonException(CommonConstant.FAILED, "支付宝生成二维码失败");
        }

将支付宝返回的二维码链接生成二维码,提供工具类:

https://blog.csdn.net/weixin_41500775/article/details/118526242?spm=1001.2014.3001.5501

重要入参说明

  • out_trade_no:商户订单号,需要保证商家系统不重复。

  • total_amount:订单金额。

  • subject:商品的标题/交易标题/订单标题/订单关键字等。不可使用特殊字符,如 /,=,& 等。

  • store_id:商户门店编号。

  • timeout_express:交易超时时间。

重要出参说明

qr_code:订单二维码(有效时间 2 小时)以字符串的格式返回,开发者需要自己使用工具根据内容生成二维码图片。

 2 支付宝退款

https://opendocs.alipay.com/open/194/106078

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2"); //获得初始化的AlipayClient
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();//创建API对应的request类
request.setBizContent("{" +
"\"out_trade_no\":\"20150320010101001\"," +
"\"trade_no\":\"2014112611001004680073956707\"," +
"\"out_request_no\":\"1000001\"," +
"\"refund_amount\":\"1.00\"}"); //设置业务参数
AlipayTradeRefundResponse response = alipayClient.execute(request);//通过alipayClient调用API,获得对应的response类
System.out.print(response.getBody());
//根据response中的结果继续业务逻辑处理

重要入参说明

  • out_trade_no:支付时传入的商户订单号,与 trade_no 必填一个。

  • trade_no:支付时返回的支付宝交易号,与 out_trade_no 必填一个。

  • out_request_no:本次退款请求流水号,部分退款时必传。

  • refund_amount:本次退款金额。

重要出参说明

refund_fee:该笔交易已退款的总金额。

微信支付与退款

https://blog.csdn.net/weixin_41500775/article/details/118522793?spm=1001.2014.3001.5501

信用卡stripe支付与退款

https://blog.csdn.net/weixin_41500775/article/details/118549065?spm=1001.2014.3001.5501

paypal支付与退款

https://blog.csdn.net/weixin_41500775/article/details/118580295?spm=1001.2014.3001.5501

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程治铭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值
>