1.支付宝支付没有提供秘钥的转换方式,只能使用openssl(2023年我再次使用支付宝支付已经有生成pkcs8的官方工具了,可以提供另外一种思路生成)
openssl安装方式
openssl genrsa -out app_private_key.pem 2048
openssl pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem
openssl rsa -in app_private_key.pem -pubout -out app_public_key.pem
生成的为java专用的app_public_key.pem和app_private_key_pkcs8.pem
!!!!大坑,只能用openssl生成,其他的系统默认的也是坑爹....(略过这句话)
!!!空格也是私钥的一部分 \n, yml的天生bug
2.不能直接复制私钥过去,要拖过去 emmmm(经历的官方复制私钥的坑)
3.枚举
#只要定义type getType就会得到里面的字符串,不然不会自动获得
WxApiType.NATIVE_PAY.getType();
@Getter
public enum WxApiType {
/**
* Native下单
*/
NATIVE_PAY("/v3/pay/transactions/native"),
private final String type;
}
4.ngrok的节点不稳定…(改用frps在自己的公网服务器,开通内网穿透服务,在我的支付02文章有写详细步骤)
5.数据库不要使用varchar(0)不然报 too long的异常…