提供两个项目在最后,里面的方法如果有疑惑的自己去看看支付宝开放平台提供的API,或者去看看我的相关博客,有部分的介绍,沙箱中用的API和正式环境是一样的,只是参数不同或有时使用到的是相关证书调用而不是使用密钥
1、准备工作
在控制台中找到沙盒(网址https://open.alipay.com/develop/manage)
在此可以代码实现时的相关配置内容
自定义公钥、密钥流程:
https://blog.csdn.net/weixin_41113221/article/details/126393433
官网教程:
https://opendocs.alipay.com/common/02kipk
https://opendocs.alipay.com/isv/02kipk
把生成的信息弄进去
沙箱的商家和用户账号
下载支付宝沙箱app或小程序位置:支付宝沙箱app目前仅支持安卓手机下载,登录商家或用户的时候账号密码上面已给
demo下载位置:(我这里提供了springboot版本的demo,不需要去下载官网上的,官网的是使用Eclipse开发,且是java web版本,非常的不好用)
2、项目配置
demo中提供了一个配置类AlipayConfig.java。
这里需要将沙箱环境提供的参数配置上。
// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
public static String app_id = "";
// 商户私钥,您的PKCS8格式RSA2私钥
public static String merchant_private_key = "";
// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
public static String alipay_public_key = "";
// 服务器异步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
public static String notify_url = "http://{服务器ip}/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";
// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
public static String return_url = "http://{服务器ip}/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 = "/";
app_id 应用id。每个应用都有自己的唯一标示。这个参数在支付宝、微信等许多开放平台都有出现。
merchant_private_key和alipay_public_key这是用来计算签名的秘钥。
notify_url 这个是用来接收支付宝回调通知的接口地址,这个接口需要进行幂等处理。
return_url 配置支付成功之后跳转的页面地址。
sign_type 签名方式,这个就默认的RSA2加密即可。一般不需要修改。
gatewayUrl 支付宝网关,这个在app配置的时候官方提供了,复制下来即可。
在本地运行的时候notify_url 、和return_url 需要使用到内网穿透,这里我的建议是使用飞鸽内网穿透,他是免费使用的
官网:https://www.fgnwct.com
使用教程:
https://www.cnblogs.com/baisou/p/14640511.html
https://blog.csdn.net/Brave_heart4pzj/article/details/120042579
其中配置端口信息的那一块,端口号和项目一致,如果你我的notify_url 、和return_url 不一致记得修改,使用,先启动项目再运行飞鸽内网穿透
3、项目介绍
如果打开jsp网页出现爆红情况,说明jar包没有引入,进行如下操作
有时AlipayConfig也会爆红,则需要再添加一个依赖
<%@ page import="com.alipay.config.AlipayConfig" %>
4、项目
里面的方法如果有疑惑的自己去看看支付宝开放平台提供的API,或者去看看我的相关博客,有部分的介绍,沙箱中用的API和正式环境是一样的,只是参数不同或有时使用到的是相关证书调用而不是使用密钥
注意:第二个项目不太准确,因为我动了有一些地方,仅供参考,只是让大家了解一下在jsp中如何使用到spring容器注入后的类
这里我提供两个项目
第一个是纯Springboot版本,我没做任何改动,另一个则是我在里面用了数据库和mybatis
如果需要在jsp中使用到注入的类,添加如下代码
代码中使用样式,自己细看吧
gitee中自行下载
https://gitee.com/xunan29/al-test
https://gitee.com/xunan29/al-test1
5、项目功能
项目启动
打开http://localhost:9010/index.jsp
进入其中