Javen205 / IJPay

IJPay 让支付触手可及,封装了微信支付、QQ支付、支付宝支付、京东支付、银联支付、PayPal 支付等常用的支付方式以及各种常用的接口。不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。右上角点下小星星✨
http://javen205.gitee.io/ijpay
Apache License 2.0
5.42k stars 1.34k forks source link

建议读取证书文件的方式调整下 #37

Closed lengp closed 2 years ago

lengp commented 3 years ago

需求描述

打包后读取不到证书信息 描述越详细越好

交流群

Javen205 commented 3 years ago

读取不到证书信息应该是你配置的路径有问题,请检查。

如你有更优的方案,请说明你的实现思路或者直接贡献代码。

lengp commented 3 years ago

底层都是用这种方式读的文件: new File(getAbsolutePath(path)); 这样后有一个问题,就是打包后读取不到;

new ClassPathResource(KeyPath()); 这种方式读取会不会更好。

也有可能是我打的包有问题

MrChen-Fly commented 3 years ago

我们有需求将证书存储在数据库中,能否提供一个InputStream的的方法

Javen205 commented 3 years ago

你说的是v2版本的接口还是v3版本的接口? v2 版本的接口已支持

evanyangg commented 3 years ago

我这里也遇到了 classpath:/cert 这样读证书 无法读取 支付宝接口 @Javen205

Javen205 commented 3 years ago

@evanyangg 获取到证书的绝对路径,再传入至接口的参数中

aaa7636602 commented 3 years ago

支持@lengp 的建议, 微信退款证书 有巨大bug,请扩展流的方式读取证书,而不是单一的要求别人传绝对路径,传路径方式,用docker打包部署到服务器,访问不到证书文件:Caused by: java.io.FileNotFoundException: /mydata/apiclient_cert.p12 (No such file or directory)

Javen205 commented 2 years ago

感谢各位反馈以及贡献代码,目前已都支持

com.ijpay.core.kit.PayKit#getAbsolutePath com.ijpay.core.kit.PayKit#getFileToStream com.ijpay.core.kit.PayKit#getCertFileInputStream

JinHong-H commented 3 months ago

支付宝证书存放在项目的resources目录下打包之后仍然读取不到

LZJZMT commented 3 months ago

2.8.4版本按以下方式请求亲测已解决 String xmlResult = WxPayApi.orderRefund(false, params, PayKit.getFileToStream(wxPayApiConfig.getCertPath()), wxPayApiConfig.getMchId());