Bootstrap

第三方支付-支付宝支付简易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配置。

;