支付宝沙箱(SpringBoot测试)

导读:本篇文章讲解 支付宝沙箱(SpringBoot测试),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.到支付宝开放平台登录注册一下

https://open.alipay.com/

2.进入管理中心并进入沙箱

支付宝沙箱(SpringBoot测试)

支付宝沙箱(SpringBoot测试)

3.appid到时候用到,接口加密方式选择自定义,然后点设置(我这里已经设置了所以没有显示有设置两个字)

支付宝沙箱(SpringBoot测试)

4.选择公钥,然后点支付宝密钥生成器

支付宝沙箱(SpringBoot测试) 5.选择在线加密

支付宝沙箱(SpringBoot测试)

6.点击生成后,复制下面的应用公钥(页面不要关,上面的应用私钥还有用)

支付宝沙箱(SpringBoot测试)

7.把刚刚复制的应用公钥粘贴进去,然后点保存设置

支付宝沙箱(SpringBoot测试)

8.保存设置后跳转这个界面,下面这个支付宝公钥有用,复制一下,接下来我们创建一个demo测试一下

支付宝沙箱(SpringBoot测试)

 

9.我自己用的test,下载打开换一下id、公钥、私钥测试一下吧

测试时建议换一个浏览器,或者把支付宝相关页面关闭,不然测试时会显示钓鱼网站,无法进入支付测试

链接:https://pan.baidu.com/s/1xbCHinHcCh3FbGEq3hvx1g 
提取码:3hkv
  

注:自己测试时需要添加jar包

        <!--支付宝依赖-->
        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-sdk-java</artifactId>
            <version>4.22.22.ALL</version>
        </dependency>

初始化相关设置 

@GetMapping("start")
    public String payOrder(HttpServletRequest request) throws UnsupportedEncodingException {
        request.setCharacterEncoding("UTF-8");
        // 初始化  主要是application中支付宝的相关设置
        AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig.getGateway(), alipayConfig.getAppId(),
                alipayConfig.getRsaPrivateKey(), alipayConfig.getFormat(), alipayConfig.getCharset(), alipayConfig.getAlipayPublicKey(),
                alipayConfig.getSigntype());
        // 创建API对应的request
        AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
        // 在公共参数中设置回跳和通知地址,通知地址需要公网可访问
        String url =  "http://localhost:8080" + request.getContextPath();
        alipayRequest.setReturnUrl(url + "/return");
        alipayRequest.setNotifyUrl(url + "/notify?type=1");

        // 填充业务参数

        // 选填
        // 商品描述,可空
        String body = "商品描述";

        // 必填
        // 商户订单号,需保证在商户端不重复(这里用的hutool)
        String out_trade_no = UUID.fastUUID().toString();
        // 销售产品码,与支付宝签约的产品码名称。目前仅支持FAST_INSTANT_TRADE_PAY
        String product_code = "FAST_INSTANT_TRADE_PAY";
        // 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。
        String total_amount = 0.1 + "";
        // 订单标题
        String subject = "支付宝测试";


        alipayRequest.setBizContent("{" + "\"out_trade_no\":\"" + out_trade_no + "\"," + "\"product_code\":\""
                + product_code + "\"," + "\"total_amount\":\"" + total_amount + "\"," + "\"subject\":\"" + subject
                + "\"," + "\"body\":\"" + body + "\"}");
        // 请求
        String form;
        try {
            // 需要自行申请支付宝的沙箱账号、申请appID,并在配置文件中依次配置AppID、密钥、公钥,否则这里会报错。
            form = alipayClient.pageExecute(alipayRequest).getBody();//调用SDK生成表单
            request.setAttribute("form", form);
        } catch (AlipayApiException e) {
            e.printStackTrace();
        }
        return "alipay";
    }

下载后只需要修改application.yml文件的三个参数就可以

支付宝沙箱(SpringBoot测试)

app-id在这里

支付宝沙箱(SpringBoot测试)

rsa-private-key在这里

支付宝沙箱(SpringBoot测试)

alipay-public_key在这里

支付宝沙箱(SpringBoot测试)

 

 测试账号在这里,测试支付用

支付宝沙箱(SpringBoot测试)

 这里是我写的,改成你的测试账号就行,支付时方便复制

支付宝沙箱(SpringBoot测试)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/107537.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!