如何用struts调用支付宝接口

下面是如何用struts调用支付宝接口的攻略。

1.准备工作

在使用struts调用支付宝接口之前,需要先完成以下准备工作:

1.申请支付宝开发者账号:在支付宝开放平台注册账号,并完成实名认证。

2.创建应用:登录开放平台后,在开发者控制台创建一个应用,并得到应用的APP ID、商户私钥、支付宝公钥等信息。

3.下载支付宝开发包:在[支付宝开放平台](https://opendocs.alipay.com/open/54/103419)下载Java SDK。

4.将SDK导入到项目中:将SDK解压后,将其中的jar包和lib目录中的所有jar包添加到项目的classpath。

2.编写代码

下面是两个示例,分别演示在struts中调用支付宝API完成批量转账和即时到账支付的过程。

批量转账示例

1.编写Action

public class BatchTransfersAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) throws Exception {
        AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.URL, AlipayConfig.APP_ID, AlipayConfig.APP_PRIVATE_KEY, AlipayConfig.FORMAT, AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.SIGN_TYPE);
        AlipayFundTransToaccountTransferRequest alipayRequest = new AlipayFundTransToaccountTransferRequest();
        alipayRequest.setBizContent("{" +
        "\"out_biz_no\":\"20180901001\"," +
        "\"payee_type\":\"ALIPAY_LOGONID\"," +
        "\"payee_account\":\"xxx@alipay.com\"," +
        "\"amount\":\"100.00\"," +
        "\"payer_show_name\":\"转账支付测试\"," +
        "\"payee_real_name\":\"测试用户\"," +
        "\"remark\":\"转账测试\"" +
        "  }");
        AlipayFundTransToaccountTransferResponse alipayResponse = alipayClient.execute(alipayRequest);
        if(alipayResponse.isSuccess()){
            System.out.println("调用支付宝API成功");
        } else {
            System.out.println("调用支付宝API失败");
        }
        return mapping.findForward("success");
    }
}

2.配置struts.xml

<action name="batchTransfers" class="BatchTransfersAction">
    <result name="success">/batchTransfers.jsp</result>
</action>

3.编写JSP

<a href="${pageContext.request.contextPath}/batchTransfers">批量转账</a>

即时到账支付示例

1.编写Action

public class AlipayAPIAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) throws Exception {
        AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.URL, AlipayConfig.APP_ID, AlipayConfig.APP_PRIVATE_KEY, AlipayConfig.FORMAT, AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.SIGN_TYPE);
        AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
        alipayRequest.setReturnUrl("http://localhost:8080/ProjectName/success.jsp");
        alipayRequest.setNotifyUrl("http://localhost:8080/ProjectName/notify_url.jsp");
        alipayRequest.setBizContent("{" +
        "\"out_trade_no\":\"20180918064\"," +
        "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +
        "\"total_amount\":0.01," +
        "\"subject\":\"测试商品名称\"," +
        "\"body\":\"测试商品描述信息\"" +
        "}");
        String formHtml = alipayClient.pageExecute(alipayRequest).getBody();
        response.setContentType("text/html;charset=" + AlipayConfig.CHARSET);
        response.getWriter().write(formHtml);
        response.getWriter().flush();
        response.getWriter().close();
        return null;
    }
}

2.配置struts.xml

<action name="alipayAPI" class="AlipayAPIAction">
    <result name="success" type="redirect">{redirectUrl}</result>
</action>

3.编写JSP

<a href="${pageContext.request.contextPath}/alipayAPI?redirectUrl=https://openapi.alipay.com/gateway.do">支付宝支付</a>

3.总结

通过以上两个示例,我们可以看到struts调用支付宝API相对简单,只需要创建支付宝SDK的客户端并传入请求参数即可。当然,我们还可以通过访问支付宝开放平台的官方文档,了解更多API的参数和使用方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何用struts调用支付宝接口 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Spring boot配置绑定和配置属性校验的方式详解

    以下是关于“Spring boot配置绑定和配置属性校验的方式详解”的完整攻略,包含两个示例说明。 Spring boot配置绑定和配置属性校验的方式详解 背景 在开发 Spring Boot 应用时,我们经常需要配置一些参数,比如数据库连接信息、服务端口等等。而在应用部署时,这些参数也需要灵活地根据不同的环境进行配置,比如开发环境、测试环境、生产环境等等。…

    Java 2023年6月15日
    00
  • SpringSecurity实现动态url拦截(基于rbac模型)

    下面是详细讲解 Spring Security 实现动态 URL 拦截(基于 RBAC 模型)的完整攻略: 1. 什么是 Spring Security Spring Security 是一个基于 Spring 框架的安全框架,提供了完善的身份认证和授权功能。 2. 什么是 RBAC 模型 RBAC(Role-Based Access Control)模型是…

    Java 2023年5月20日
    00
  • 使用GSON库将Java中的map键值对应结构对象转换为JSON

    使用GSON库可以方便地将Java中的map键值对应结构对象转换为JSON格式的数据。下面为您介绍具体的步骤: 步骤1:引入GSON库 首先需要在项目中集成GSON库,可以通过在build.gradle文件中配置来实现引入该库。 implementation ‘com.google.code.gson:gson:2.8.7’ 步骤2:创建Java对象 在实现…

    Java 2023年5月26日
    00
  • springmvc重定向实现方法解析

    下面是“springmvc重定向实现方法解析”的完整攻略。 背景知识 在Web应用中,重定向是将客户端请求重定向到其他URL的过程。它是一种常见的应用程序行为,使Web应用更具动态性和交互性。在Spring MVC应用程序中,重定向是在控制器方法中完成的。 Spring MVC重定向实现方法 方式一:利用@Controller和RedirectAttribu…

    Java 2023年5月16日
    00
  • 一篇文章带你初步认识Maven

    了解 Maven Maven 是一个基于 Java 的自动化构建工具,由 Apache Software Foundation 管理。Maven 可以帮助 Java 程序员自动化构建、依赖管理、项目信息管理、发布等一系列工作。 安装 Maven Maven 的安装流程比较简单,只需要按照以下步骤操作: 前往 Maven 的官网https://maven.ap…

    Java 2023年5月20日
    00
  • SpringBoot整合mybatis常见问题(小结)

    针对SpringBoot整合mybatis常见问题,我整理了以下攻略。 一、问题背景 1.1 spring boot整合mybatis报错 经常会出现spring boot整合mybatis后报错的情况,比如找不到mapper文件、无法注入mapper bean等等。 1.2 解决方案 下面我将介绍两种解决方案: 方案一:配置mapper文件路径 对于找不到…

    Java 2023年5月15日
    00
  • Java使用IntelliJ IDEA连接MySQL的详细教程

    下面我会给出Java使用IntelliJ IDEA连接MySQL的详细教程: 1. 下载安装MySQL 首先你需要下载并安装MySQL数据库,可以到官网上下载最新的稳版本,安装过程中需要自己设置root账户的密码。 2. 下载安装IntelliJ IDEA 接下来你需要下载并安装IntelliJ IDEA,可以到官网上下载最新的Community版本,社区版…

    Java 2023年5月20日
    00
  • 详解SpringBoot+Mybatis实现动态数据源切换

    详解SpringBoot+Mybatis实现动态数据源切换 在本文中,我们将详细讲解如何使用SpringBoot和Mybatis实现动态数据源切换。动态数据源切换是指在运行时根据需要切换数据源,而不是在应用程序启动时指定数据源。这种技术可以帮助我们更好地管理多个数据源,并提高应用程序的性能和可扩展性。 环境准备 在开始本文之前,我们需要准备好以下环境: JD…

    Java 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部