第三方支付-支付宝支付简易DEMO

Java实现支付宝支付

1.从支付宝开放平台下载官方Demo

https://opendocs.alipay.com/open/270/106291/
在这里插入图片描述

2.将下载的Demo project导入到开发工具中。项目结构如下

在这里插入图片描述
*其中lib中为阿里官方提供的jar

3.由于正式环境需要营业执照去注册申请。这学习测试中可以使用沙盒环境

https://openhome.alipay.com/platform/appDaily.htm?tab=info
在这里插入图片描述
单击“RSA2(SHA256)密钥(推荐)”设置密钥。
单击之前需要先下载签名验证工具
https://opensupport.alipay.com/support/knowledge/20069/201602111105?ant_source=zsearch
在这里插入图片描述
下载完成单击安装
在这里插入图片描述
在这里插入图片描述
单击生成秘钥,生成如下图内容
在这里插入图片描述
回到支付宝开放平台,单击“RSA2(SHA256)密钥(推荐)”设置密钥。将工具中生成的公钥复制到如下界面
在这里插入图片描述
单击出现如下面板则设置成功
在这里插入图片描述

4.修改代码中的配置【AlipayConfig.java】

step1:app_id =开发平台的APPID
step2:merchant_private_key=支付宝开发平台开发助手中的应用私钥
在这里插入图片描述
step3.alipay_public_key=支付宝公钥
在这里插入图片描述
step4.

//服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String notify_url = "http://工程公网访问地址/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";
//页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String return_url = "http://工程公网访问地址/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp";

step5.

	// 支付宝网关  
	public static String gatewayUrl = "https://openapi.alipay.com/gateway.do";

完整代码如下:

package com.alipay.config;

import java.io.FileWriter;
import java.io.IOException;

/* *
 *类名:AlipayConfig
 *功能:基础配置类
 *详细:设置帐户有关信息及返回路径
 *修改日期:2017-04-05
 *说明:
 *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
 *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
 */

public class AlipayConfig {
	
//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

	// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
	public static String app_id = "2021000116699951";
	
	// 商户私钥,您的PKCS8格式RSA2私钥
    public static String merchant_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCFaeSMTu8IeIGMsPr5dAGYznP8zdD2nWSp79LdIcPW678Sts2BIL2vugbRb4npPcjC0creox7R7pvO7TqluzLugbQEQ4m2L9t6vdFKUITRTOXnpEih5blDcYtN+LQiZAYsSUbrgJJBkQP8sjTtAbZIl6TU3m5Hbka24HM0TNUecc8kWrTNFaKb1b3EMY4TQnkhWfNTNGJ31gSFVmGVdQUtZMC2lEVGKX27GSGkwrFij7uJ+qUiImhQ3jnrNOKK6pPdGPFONjqkMr3vy2Qs4j6AWSOXuaI1xBFd9t89HJ03WxkCGQ12OGvlfM/zYebQhDxFkx8VpLlj35WTgKOopXBBAgMBAAECggEAFkyOwMzosxfBP4zNRiiXo7zOMjEMfkvsaWMGcaOVIjUhKLWZP74DNn33acYk3PFQvw9lwzSskBY7wKhyJwVVC/xt5FCNkgAJxUg41R0ENh+ORdt1sGm/P4CY8h1hrmXdikVtLyu8Rm1Ap1n58qtYlmWSTWooMJRECYkWeGVnMcFCPBo101B10O8WOuL1cTbc2E1dwLf5G6WAf+WhBSrGaT5lx2112mkvwU7oDpbYyoV/UlG1s5on5XY0337NCrtkubKZAl3BaMBKrWo9DZjvwWcJG8bB+Z3KmopOVLgKSUhuRusKqL9a5NIMHyooj3B7TtoEmd73UaAlo0jRi92VgQKBgQC9S7vn8kgdG5/EvCNV/a9n22K0mTi+rNG+dwQFrgoH1tKa2M/u5gZOBlGheVZ/FJwg2K0yMlotiYE4yK0fun8ugAuNUKg0Tx1qQoUlC3rXpRSW/1/I39izf9F89SPOmhrZpjGZPmMGpFG9+hrA720D5j+qXnArdUmIX/uqFClzeQKBgQC0bQ8ezXmYWgCdO6E2KfJG/4W1xgxsgeZPLzlstkxKadsiIY8dxnnLG6/1RHRkAT402TH2/u32FBwG2CBbhxKlyzCR6gvDVz2Jk3O27mjpoTJy0mgEbAiHIdo0Q53HbpY23gv38F3LPThSlo33hYwx/ARuCMc/EPQEnTyZvsIpCQKBgBHs4Ahg2w9WlFSO9FGqSjftgHVVpRf5SYtdvdXD21NOtnbPXTFkOuiclJJT6Srziq1Zl10Pg5aYVNJJvoson+6JVY62OpdpfoGXdwBBDArrqP17hViCSgUFb5MDq7ZexXgi0sOOMtZoLQ1uZ6Yphgs+fHznoHudCa+OV0iNzDcRAoGAFo4/wqkLV3mA9CcdO0k5KZkOHTBaI0KGCUYtFqMfnHnpVDX/z0gdt7+JWs8pAcuJ/E9eyLMMCqRu8IgaW3biZOmm88bfm5cPcWCGqcraQMLPLL2TFWJwGnyn67q8Qc9YZhmSQ3fAMgVAQkriCpyeby1DXIIqbn7vEpiZl9raKQkCgYEAsJO6YP0kAFoFTvWse9B+jynGMWAAyju7de7/7r+UPVajDsUo4huhucWQhZKLyActwrvnkxKjnjcMgV3lSS38Ogopb/zGBulrpAASIJCE+09Rf4AAV1AaatJ3AZdS+RS5PDifj6dnjIVaI9Cckgdvx52s8FpuSDhLx3I1GjcyZVc=";
	
	// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
    public static String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8nR3nbY6xlPCw0+2xAbBHzLZdjX/9qPLJWANubjYvpn/zXVwIbRIueQh11UWmY37gtaMBbqQTRIvYnLxTwmSccXvYwpQ1WvmIwD8xIGQqa+wtCTKR9aXzQ6nIG3kkM6LomSkreCm5cxL9dbzXFfsZvmP58icGDQn3WBJOyQOeHZF1CXnf9Rg9n3dKmw9cb8Zdzg6EvCSXJEIW1Q+8VyzxI8crCre29ScHpOTtOMVeEB5LSq+Z2V7Llye9p730JDmjS07+vIy61vlJhXhNRM7fYpS+y3FF10BLis1PNe8wwkWWRXJ5YtNg8PRMBcvchJT4CAN1rcD9QUhStDs7tV16wIDAQAB";

	// 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String notify_url = "http://47.242.43.143/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";

	// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String return_url = "http://47.242.43.143/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp";

	// 签名方式
	public static String sign_type = "RSA2";
	
	// 字符编码格式
	public static String charset = "utf-8";
	
	// 支付宝网关
	public static String gatewayUrl = "https://openapi.alipaydev.com/gateway.do";
	
	// 支付宝网关
	public static String log_path = "C:\\";


//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

    /** 
     * 写日志,方便测试(看网站需求,也可以改成把记录存入数据库)
     * @param sWord 要写入日志里的文本内容
     */
    public static void logResult(String sWord) {
        FileWriter writer = null;
        try {
            writer = new FileWriter(log_path + "alipay_log_" + System.currentTimeMillis()+".txt");
            writer.write(sWord);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (writer != null) {
                try {
                    writer.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}


到这里基本已经配置完成。

5.接下来需要下载沙盒版支付宝app测试

在这里插入图片描述
下载安装完成后使用下面指定账户登录
在这里插入图片描述

部署测试界面如下图

在这里插入图片描述

在这里插入图片描述

这就是一个简单的demo配置。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个支付宝支付请求的示例代码: ```java // 导入相关的包 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/pay") public class PayController { @Autowired private PayService payService; // 创建支付令牌 @PostMapping("/createPayToken") public ResponseBase createPayToken(@RequestBody PaymentInfo paymentInfo) { return payService.createToken(paymentInfo); } // 使用支付令牌查找支付信息 @PostMapping("/findPayToken") public ResponseBase findPayToken(@RequestParam("payToken") String payToken) { return payService.findPayToken(payToken); } } ``` 请注意,上述代码是一个简化的示例,其中`PayService`是一个自定义的服务类,用于处理支付相关的逻辑。你需要根据自己的实际情况进行相应的修改和调整。 另外,成功页面的模板可以使用以下代码进行展示: ```html <h3>您的订单号为 ${outTradeNo},支付宝交易号${tradeNo},支付成功了一笔${totalAmount}元。</h3> ``` 这个模板可以根据实际需求进行修改和美化。 #### 引用[.reference_title] - *1* *2* *3* [支付宝支付对接DEMO](https://blog.csdn.net/w1316022737/article/details/89433350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值