支付宝支付(二):PC支付,H5支付,APP支付通用接口

目录

一、PC端支付:

二、H5端支付:

三、APP端支付:


一、PC端支付:

1、调用支付接口,返回form表单,前端直接渲染跳转到支付宝PC端统一的支付页面

2、官方文档入口:https://opendocs.alipay.com/open/270/105899

3、接口代码如下,此处使用新版本SDK,代码很简单:


    public String aliPayPcPay(AliPayBo bo) {
        try {
            AlipayTradePagePayResponse response = Factory.Payment.Page()
                    //设置订单预支付订单过期时间-可参考官方接口文档入参    
                    .optional("timeout_express","30m")
                    .pay(bo.getSubject(), bo.getOutTradeNo(), bo.getTotalAmount(),"");
            if (ResponseChecker.success(response)) {
                log.info("{}:支付宝PC支付,发起成功",bo.getOutTradeNo());
                return response.getBody();
            }
        } catch (Exception e) {
            log.error("{}:支付宝PC支付异常:{}",bo.getOutTradeNo(),e);
        }
        return null;
    }

二、H5端支付:

1、调用支付接口,返回form表单,前端直接渲染跳转到支付宝H5端统一的支付页面

2、官方文档入口:https://opendocs.alipay.com/open/203/105288

3、接口代码如下,此处使用新版本SDK,代码很简单:

public String aliPayH5Pay(AliPayBo bo) {
        try {
            AlipayTradeWapPayResponse response = Factory.Payment
                    .Wap()
                    .optional("timeout_express","30m")
                    .pay(bo.getSubject(), bo.getOutTradeNo(), bo.getTotalAmount(),"","");
            if (ResponseChecker.success(response)) {
                log.info("{}:支付宝H5支付,发起成功",bo.getOutTradeNo());
                return response.getBody();
            }
            log.info("{}:支付宝H5支付,发起失败:{}",bo.getOutTradeNo(),response.body);
        } catch (Exception e) {
            log.error("{}:支付宝H5支付异常:{}",bo.getOutTradeNo(),e);
        }
        return null;
}

4、H5支付有个注意点:如果H5是内嵌到APP中的话,官方推荐使用App支付接口实现,基于商户自己的APP拉起支付宝进行支付(我们就是APP内嵌H5,所有改成了使用APP支付接口),

三、APP端支付:

1、调用支付接口,返回alipaySDK串,APP端内部拉起支付宝,传入接口返回值,打开支付宝的支付页面

2、官方文档入口:https://opendocs.alipay.com/open/204/105051

3、接口代码如下,此处使用新版本SDK,代码很简单:

public String aliPayAppPay(AliPayBo bo) {
        try {
            AlipayTradeAppPayResponse response = Factory.Payment.App()
                    .optional("timeout_express","30m")
                    .pay(bo.getSubject(), bo.getOutTradeNo(), bo.getTotalAmount());
            if (ResponseChecker.success(response)) {
                log.info("{}:支付宝APP支付,发起成功",bo.getOutTradeNo());
                return response.getBody();
            }else{
                log.info("{}:支付宝App支付,发起失败:{}",bo.getOutTradeNo(),response.body);
            }
        } catch (Exception e) {
            log.error("{}:支付宝PC支付异常:{}",bo.getOutTradeNo(),e);
        }
        return null;
}

以上就是,普通支持的接口调用,均使用的是支付宝新版SDK,关于入参说明,可参考支付宝广泛文档:https://opendocs.alipay.com/open/54/00y8k9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值