支付宝沙箱使用(Java)

1.整理Java代码

1.1 添加依赖

打开pom.xml添加一下依赖

<!--引入支付宝-->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.34.47.ALL</version>
</dependency>

<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>

1.2 Java代码

将已下代码copy到Java中

package com.example.springboot_mybatisplus02.utils;

import com.alibaba.fastjson.JSONObject;
import com.alipay.api.*;
import com.alipay.api.request.AlipayTradePagePayRequest;


import java.util.UUID;

public class AlipayTools {
    //沙箱支付网关
    private static  String serverUrl="https://openapi.alipaydev.com/gateway.do";
    //应用账号
    private static String appId="2021000122690138";

    //个人应用私钥
    private static String privateKey="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCXh9rxujMCcWemPimKuPyqDfRwMn6p/9OIaNBW+sMjpl96y2f4AolwRiF6Zn4oSZYSssxjgXP4Mr4Kq82ydRxZDiAUKScFqQfTM8pNIDe/exEuH5p0voVqF/0SV8W1MEY+s09p/utrma82oAZcmaj5a6o+hiEx7tSOd6srGjviiqhMQSs7XpBnV4qLqmh99FIEwXuSWf6QFM9FsXOdX3SbcAIyd2exwMaX3daxF2t8mtJytynfiFQNnrJNimtt6v6kdXiWm/daYrM4n4ewZLV1oIG5d5anj7yMli/8Ic0m622h+lvn2u7+uouYV6SJeysOy0okPwRI37aonU1Exxt9AgMBAAECggEAefAHTjJqTfL4V5z6TPmjySzFoWvg5ehKTyEZVoUgdxWxC92XYsqX0tN8qUTFDKJ6s71SIFjR+87Jg0jRlGQNVdS6F78t+a4V7+1jREFC20Grh5RC9OND9SYsrpAXN0ELpfUhWMicpc/cYXbQ5793bI8pRnslR0tLnQHLqjnIKvnu4iFv3ZgpCZ1Ip7Fe6w+Kir3/Ksy0iwe+WiNjVOsVuJsAVmsB29rjgI2K7KSfhKlygnLT2sixg+lsvUfbGb4PJAkQPZSweJ35FaZF9/I/FpI67chDhn8e2aUKygNHBdF8dbn/7g6o6i2DMqxKp2izCpj0ZNHdCoeAOUXC792duQKBgQDaLyHPkSGpYRy9BJDr2Q6AWMUJxIcH7OHl4RxbL6lqKiNxH79NcZTaPfYZ/vDnDJpeaZtYPGQGuYsEn11laKINDhDTrjEO2nYPw1wOYzmQ2wn1iFmymQNYmN79GlS7X7EQ2sM5SE9rwcIIIOc0ps8ywI9apgKjlGz1/byYVtZRywKBgQCxy0x+BxG3b1wtzQdguIQgKaEUW2lb5aa50BCljsGhJahdTRvEbygNf48VMk2aOf/HF1gnqj7kT1+avGVPkEEus4Hu1/yNi5xwac0VBcqjAzfuqe5/eXQuUbtkAs8m1w9S6JmoTqRra2Jn391qsWKwYTRMyCxtdbNPQqEdrMP+1wKBgGcawsWN9fRO+f+wurNZXWr1iBd3kcADBzVUzcuhmFOdGiaJNCPqusbvZO8f9MOaxxA6o7hswXAUGkfS75XOflXhAb6moHQ+dHA6h7Qc28VCXVB0YL7vZA9oHmhJGyV4sPogBwV40F9BrumccuYEtgFr0dKqhLC8oUkV4Ru0XY9FAoGBAJ6yCN/A7ZZfBtc216wEZqLSpZ2nDj7hmFTom8M6zihJlaNaDTvjv8t0nUFdOhk8RcruUlhtRF/DXWGfYYqIBzZpMcP/88Rf5k4Mkep+1eV1HPqhoWkU/pfNikb1nvNbKKlnRqgNMgNTwW1YS6lNFfq7eNREJCu70EYiAe+b4wHXAoGBAJb9x9+0cKjQO/08gep9+mvaifThMEvvPqeDsnkXUuHXWDDJcFWhUBqDF5kYan07N6SLYaTIaU+z2YLdNs/uXSrNSDiHHG4vh553vDL+qwjDiL6JjhqXPHDHKCkomvKH58NnLR1xUxyZ7w0M5FNZR+cI9XtwjMuxAm5c3XQz4H8j";

    //返回数据格式
    private static String format="json";

    //编码方式
    private static String charset="utf-8";

    //支付宝公钥
    public static String alipayKey="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnwqU9WYPoq57d03PCQJ1BPsxA1qN7uV8++o1pxtRHf4MsxbmxdYnMoyt81qW/rQTpcaZwo3JgKAxGHj03SV1FYv5geCQILXF8fdc9kKEyz8fSq9V6TZVZ/lq5YlHKakY9J/+RJiDGjsytpd6Y2lq+dK4DpxvMke5IMXdz5sX8Frxlesu+ic5QauyONus54DCYIrIlTdzAjGCqjxxSI4QTvQLH34EGmmovb7Jf+QW62deq3nND06Yz2q4UrpNuUtyPRa9/VYZt+8J1QWANoWCd4DG7ih2faWjjdRX5C65GfvkohnDshiI82NhVg8RIZKI0O0BstsXfPt3dzI4oEKNUQIDAQAB";
    private static String signType="RSA2";

    public static String pay(String name ,Double price){

        //准备接入的配置
        AlipayClient alipayClient = new DefaultAlipayClient(serverUrl,appId,privateKey,format,charset,alipayKey,signType);
        //request对象
        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
        //商家的post请求接口
        request.setNotifyUrl("http://localhost:8088/phones");//回调--post请求
        //商家的get请求接口
        request.setReturnUrl("http://localhost:8088/phones");//回调--get请求

        String replace = UUID.randomUUID().toString().replace("-", "");

        JSONObject bizContent = new JSONObject();
        bizContent.put("out_trade_no", replace);
        bizContent.put("total_amount", price);
        bizContent.put("subject", name);
        bizContent.put("product_code", "FAST_INSTANT_TRADE_PAY");
        request.setBizContent(bizContent.toString());
        String form= "" ;
        try  {
            form = alipayClient.pageExecute(request).getBody();  //调用SDK生成表单
        }  catch  (AlipayApiException e) {
            e.printStackTrace();
        }

        return form;
    }
}

1.3 创建调用接口

方法参数可自行修改,订单号工具类中已用UUID生成

package com.example.springboot_mybatisplus02.controller;

import com.example.springboot_mybatisplus02.utils.AlipayTools;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Controller
public class TestPayController {
    @RequestMapping("/pay")
    public void test01(HttpServletResponse response){
        
        String pay = AlipayTools.pay("我是商品", 19.8);
        response.setContentType("text/html;charset=UTF-8");
        try {
            response.getWriter().write(pay);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

没有沙箱卖家账号或者想使用自己的支付宝商家请往下看~~

2.进入支付宝沙箱官网

https://open.alipay.com/develop/sandbox/app

 注意:第一次登录需要完成实名认证

 

 2.1 买家账号

没有买家账号的看这里!!!

 2.2 设置商家

想把商家设置成自己的看这里!!!

2.2.1 设置APPID

1. 点击沙箱应用复制APPID

 2.在 1.2 代码第 14 行中替换成自己的APPID

2.2.2 设置个人应用私钥

1. 点击开发信息 -> 系统默认密钥 -> 公钥模式启用

2. 复制应用私钥 -> JAVA语言 下的私钥

3. 在 1.2 代码第 17 行中替换成自己的 个人应用私钥

 2.2.3 设置支付宝公钥

1. 复制 支付宝公钥 (2.2.3 图片下面红框)

2. 在 1.2 代码第 26 行中替换成自己的 个人支付宝公钥

2.3 最后再重新启动就可以了

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值