简介:支付宝沙箱环境是一个为开发者提供的模拟测试环境,用于在应用上线前进行接口功能开发和联调。在这个环境中,开发者可以模拟开放接口,进行开发调试工作,以确保应用上线后能顺利运行。
1. 配置沙盒
1. 1 沙箱控制台链接
沙箱应用 - 开放平台 (alipay.com)https://open.alipay.com/develop/sandbox/app
1. 2 通过生成的应用公钥获取支付宝公钥
使用自定义密钥的方式
点击 下方的支付宝密钥生成器下载生成密钥的工具获取密钥
点击密钥工具下载的windows进行下载
安装完成后,打开点击生成密钥获取公钥和密钥
2. NATAPP内网穿透
2.1 官网链接:
NATAPP-内网穿透 基于ngrok的国内高速内网映射工具https://natapp.cn/
2.2 下载natapp客户端 并进行配置
首先下载natapp的客户端,并放到natapp文件夹中
在natapp夹中新建config.ini,内容如下:
必须填写一个authtoken在我的隧道中获取,如果没有就需要创建
#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken= #对应一条隧道的authtoken
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
2.3 打开natapp客户端 可以查看可访问的域名
此时访问 http://yfqvwm.natappfree.cc 相当于访问 http://127.0.0.1:8888
3. RSA算法-签名机制实现数据防篡改
1.RSA算法生成的密钥是由公钥和私钥组成的一对密钥
2.使用公钥加密,私钥解密 => 数据加密
3.使用私钥加密,公钥解密 => 签名机制(防篡改)
4. 只要保证私钥不丢失,那么利用该私钥所对应的公钥,能够对签名进行解签,就一定说明参数违背篡改
4.下载支付宝Demo
官网链接:
通用版 - 支付宝文档中心 (alipay.com)https://opendocs.alipay.com/open/02np94?pathHash=647fc236
打开该文件后进行配置 jsp 文件内容,解决报错
设置AlipayConfig参数
这里的(商户网关地址)使用刚刚natapp生成的地址代替也可以
package com.alipay.config;public class AlipayConfig {// 商户appidpublic static String APPID = "9021000138604547";// 自己的私钥 pkcs8格式的public static String RSA_PRIVATE_KEY = "";// 服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问public static String notify_url = "http://商户网关地址/alipay.trade.wap.pay-JAVA-UTF-8/notify_url.jsp";// 页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址public static String return_url = "http://商户网关地址/alipay.trade.wap.pay-JAVA-UTF-8/return_url.jsp";// 请求网关地址 正式支付地址:https://openapi.alipay.com/gateway.do 沙箱地址:https://openapi-sandbox.dl.alipaydev.com/gateway.dopublic static String URL = "https://openapi-sandbox.dl.alipaydev.com/gateway.do";// 编码public static String CHARSET = "UTF-8";// 返回格式public static String FORMAT = "json";// 支付宝公钥public static String ALIPAY_PUBLIC_KEY = "";// 日志记录目录linux环境: /log// 本地需要创建文件夹log存入public static String log_path = "D:\\Desktop\\alipay.trade.wap.pay-java-utf-8\\log";// RSA2public static String SIGNTYPE = "RSA2";
}
5.配置
6.如果出现字符报错 '\ufeff'
对AlipayConfig点击两下Shift 点击Remove BOM