zoukankan      html  css  js  c++  java
  • 集成 alipay 的通用版

    一、引入依赖

    <dependency>
        <groupId>com.alipay.sdk</groupId>
        <artifactId>alipay-sdk-java</artifactId>
        <version>3.3.87.ALL</version>
        <exclusions>
            <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>1.10</version>
        <exclusions>
            <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.11</version>
    </dependency>
    
    <!-- 二维码生成器工具包 -->
    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>core</artifactId>
        <version>3.2.1</version>
    </dependency>
    
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>1.3</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.5</version>
    </dependency>

    二、下载Demo

     
    1、拷贝Demo到项目中
    (1)拷贝 TradePayDemo\src\com\alipay\demo\trade\ 目录下的文件到项目中;
      
    (2)拷贝 TradePayDemo\src\ 下的配置文件 zfbinfo.properties 到项目中的 resources 目录下;
    (3)拷贝 TradePaySDK\src\com\alipay\demo\trade\ 目标下的文件到项目中;
      

     拷贝完成的项目目录结构:

     
    注意:全局替换包路径方法:

    三、支付宝沙箱环境的说明及配置

    参考资料:https://blog.csdn.net/qq_42941671/article/details/108395619
     
      沙箱环境 (Beta) 是支付宝开放平台为您提供的与线上环境完全隔离的联调测试环境,在沙箱环境中完成的调用不会对线上数据造成任何影响,尤其适合涉及资金链路的能力的调试。

    1、沙箱环境的登录

      点击“沙箱环境”,使用支付宝登录;
      

    2、沙箱环境的配置(zfbinfo.properties文件)

    (1)支付宝网关名配置

      open_api_domain 要修改为沙箱环境的支付宝网关名:https://openapi.alipaydev.com/gateway.do

    (2)appId的配置

      登录沙箱环境就可以看到应用的 appId 信息,将 appId 添加到 zfbinfo.properties 文件中;

      

    (3)pid 的配置

      zfbinfo.properties 文件中的 pid 是账户ID,可以在右上角的 “账户中心” 中查看到 “账号ID” ;

      

      

     (4)公钥私钥对的生成和配置

      a. 密钥工具并安装:
       下载地址:https://opendocs.alipay.com/common/02kipl
     
        

       b.  打开安装的工具,并点击 “生成密钥”,就会生成对应的 ”应用私钥“ 和 ”应用公钥“;

        

       c.  复制 “私钥”配置为  private_key 的值复制 ”公钥“ 配置为  public_key 的值;

    (5)支付宝公钥的获取和配置

      a. 在沙箱环境中的 ”开发信息“ 中选择 “自定义密钥”,并点击 ”设置并启用“;

      

       b.  拷贝我们在(4)中使用工具生成的公钥,填写到填写的公钥字符位置,点击 “保存设置” 生成对应的支付宝公钥;

      

       c. 将生成的支付包的公钥,配置为  alipay_public_key 的值;

    四、业务代码

    下支付宝订单,根据 response 信息生成二维码;

    1、生成二维码

    (1)当面付的 Demo 代码中,Main.java 的 test_trade_precreate() 方法 为生成支付二维码的方法,将方法的内容拷贝到 Service 的方法中;
    (2)Main.java 的静态代码块内容,拷贝到 Service 的初始化方法中;

     资源路径的映射配置

    @Configuration
    public class ResourceConfig implements WebMvcConfigurer {
    
        @Autowired
        private TradePayProp tradePayProp;
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            String os = System.getProperty("os.name");
            //windows系统
            if(os.toLowerCase().startsWith("win")){
                /** 支付码图片QrCode图片存储路径 */
                // 将 "D:/code/temp/qr-code/**" 路径映射为 "/static/qrcode/" 路径
                // 可以使用 http://localhost:8088/static/qrcode/qr-20211217215530.png 访问二维码
                registry.addResourceHandler(tradePayProp.getHttpBasePath() +"/**")
                        .addResourceLocations("file:" + tradePayProp.getStorePath() + "/");
            }
            else{ //linux或者mac
                registry.addResourceHandler("/static/resources/**")
                        .addResourceLocations("file:/usr/local/resources/"); //静态资源
            }
        }
    }

     代码地址:https://gitee.com/feng_218/alipay-demo/tree/master/src/main

    
    


    
    
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    【linux基础】usleep和sleep的区别
    【算法基础】opencv函数approxPolyDP和Ramer-Douglas-Peucker Algorithm
    【算法基础】散点轮廓算法-Alpha Shapes
    【图像处理算法基础】图像分割经典算法-泛洪算法FloodFill
    .net core 部署在Linux系统上运行的环境搭建
    Linux部署Net Core网站,三种自定义绑定端口号的方法(UseUrls,UseKestrel,手动指定)
    .NetCore部署Linux环境搭建
    .Net Core 项目发布到Linux
    .Net Core 项目发布到Linux
    Linux桌面操作系统排行榜
  • 原文地址:https://www.cnblogs.com/yufeng218/p/15696095.html
Copyright © 2011-2022 走看看