**
调用支付宝第三方接口(沙箱环境) SpringMVC+Maven
**
一.蚂蚁金服开放平台的操作
网址: https://open.alipay.com/platform/home.htm.
支付宝扫码登陆后
点击开发者中心–>研发服务
下一步就需要配置自己的 应用公钥 与应用私钥
支付宝提供一键生成工具便于开发者生成一对
RSA2密钥:https://docs.open.alipay.com/291/105971
注意:生成时一定要选择PKCS8+2048, 且安装目录不能有空格
【AES密钥不用管】
【然后往下会有支付宝沙箱安卓端工具,下载,以供后续支付使用】
【沙箱里有沙箱账号,可以用其登陆,Don’t tell me you are 看不到,实在不行我提供给你,你发来邮箱,谢谢!!!!】
【还有要用买家账号登陆】
OK!到这基本配置就完了,可能有忘了的,后续再加吧,下面进入大家喜欢的代码时间:
**
二.配置一个用于支付宝调用的Config类
package com.mr.config;
import org.springframework.stereotype.Component;
import java.io.FileWriter;
import java.io.IOException;
/**
-
@Description Description
-
@Author LZF
-
@Date Created in 2019/10/15
*/
@Component
public class AlipayConfig {
//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
public static String app_id = “2016101200665345”;// 商户私钥,您的PKCS8格式RSA2私钥
public static String merchant_private_key=“MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBK”;// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
public static String alipay_public_key = “MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBC”;// 服务器异步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
//public static String notify_url = “http://localhost:8080/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp”;
public static String notify_url = “http://localhost:8181/order/alipaySum”;//这里根据你项目中的controller进行配置// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
//public static String return_url = “http://localhost:8080/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp”;
public static String return_url = “http://localhost:8181/order/returnUrl”;//这里根据你项目中的controller进行配置// 签名方式
public static String sign_type = “RSA2”;// 字符编码格式
public static String charset = “utf-8”;// 支付宝网关
//public static String gatewayUrl = “https://openapi.alipay.com/gateway.do”;//项目正式使用后使用
public static String gatewayUrl = “https://openapi.alipaydev.com/gateway.do”;//使用沙箱环境时使用// 支付宝网关
public static String log_path = “D://logs”;
//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
/**
* 写日志,方便测试(看网站需求,也可以改成把记录存入数据库)
* @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();
}
}
}
}
如果你是在本地测试,支付完成不会跳转回调页面,那么就需要外网了,推荐一个东西,叫内网穿透,只要你电脑tomcat启动,可以连接外网,可以从127.0.0.1:8080或者其他端口也行进入你的项目,就可以用;
【内网穿透】
某花生qiao,不免费6块大洋---------------------------NATAPP 有免费的(只是域名会强制变),不过测试足够了----------------------ngrok或者frp自行度娘
也有免费开源的,如果不想麻烦就用【NATAPP】吧,网址貌似是:natapp.cn
三.控制器Controller里的代码
pom.xml里的依赖
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>