wechatpay-java
wechatpay-java copied to clipboard
【官方调查问卷】微信支付 APIv3 Java SDK 开发者体验调查
您的功能请求与问题有关吗? 请描述您遇到的问题
为了向广大开发者提供更好的使用体验,微信支付诚挚邀请您将使用微信支付 APIv3 Java SDK中的感受反馈给我们。本问卷可能会占用您不超过2分钟的时间,感谢您的支持。
问卷系统使用的腾讯问卷,您可以点击这里,或者扫描以下小程序码参与调查。
描述您想要的解决方案
No response
您还有其他的方案吗?
No response
其他信息
No response
写的一坨屎,对接微信能他妈对接两天,什么垃圾东西,看的我折寿
看看其他的写得sdk,或者让其他同事看看。官方文档写得让人看不太明白,sdk也是。我看着都闷了。 自动下载证书,不能多个启动那是啥。 这是让人看的,不是让人猜的。 要写就写好一点
v3支付功能的推出可不可以给一个时间表,很多功能API字典概览都无法通过这个SDK调用,项目里面还需要引入wechatpay-apache-httpclient来实现其他功能真的很不舒服。
写的很好,能把写文档这个人开了吗?
一个商户号只能初始化一个RSAAutoCertificateConfig 如果商户号参数发生变化 怎么重载RSAAutoCertificateConfig呢
写的真的像坨屎啊,一个回调的test都不知道你们想干嘛,服了。
wechatpay-java能否设置超时时间
一个商户号只能初始化一个RSAAutoCertificateConfig,项目热部署时会导致项目重启失败!!!要么改掉这个垃圾,要么给个钩子在热部署前处理下......很讨厌用反射处理这些琐事
version:wechatpay-java:0.2.7
stack trace:
java.lang.IllegalStateException: The corresponding provider for the merchant already exists.
at com.wechat.pay.java.core.certificate.AbstractAutoCertificateProvider.
public abstract class AbstractAutoCertificateProvider implements CertificateProvider {
// ......
private final Map<String, Map<String, X509Certificate>> certificateMap;
// ......
protected AbstractAutoCertificateProvider(
String requestUrl,
CertificateHandler certificateHandler,
AeadCipher aeadCipher,
HttpClient httpClient,
String merchantId,
Map<String, Map<String, X509Certificate>> wechatPayCertificateMap,
int updateInterval) {
this.merchantId = merchantId;
synchronized (AbstractAutoCertificateProvider.class) {
if (!wechatPayCertificateMap.containsKey(merchantId)) {
wechatPayCertificateMap.put(merchantId, new HashMap<>());
} else {
throw new IllegalStateException(
"The corresponding provider for the merchant already exists.");
}
}
}
/** RSA自动更新平台证书提供器 */
public class RSAAutoCertificateProvider extends AbstractAutoCertificateProvider {
private static final Map<String, Map<String, X509Certificate>> wechatPayCertificateMap =
new ConcurrentHashMap<>(); // 证书Map
private static final CertificateHandler rsaCertificateHandler =
new RSACertificateHandler(); // 证书处理器
private static final String REQUEST_URL =
"https://api.mch.weixin.qq.com/v3/certificates?algorithm_type=RSA"; // 下载证书url
private RSAAutoCertificateProvider(
String merchantId, AeadCipher aeadCipher, HttpClient httpClient) {
super(
REQUEST_URL,
rsaCertificateHandler,
aeadCipher,
httpClient,
merchantId,
wechatPayCertificateMap);
}
// ...
}
fixed:
public class Application {
public void onStop() {
try {
// 清空证书缓存:RSAAutoCertificateProvider -> static:wechatPayCertificateMap
final Map<String, Map<String, X509Certificate>> certificateMap =
ReflectUtil.getDeclaredFieldValue(RSAAutoCertificateProvider.class, "wechatPayCertificateMap");
certificateMap.clear();
} catch (IllegalAccessException | NoSuchFieldException e) {
LOG.warn("清除微信支付证书失败!", e);
}
}
}
写的啥垃圾玩意,怎么接口调用都不全 怎么还好意思发出来
我建议让马化腾马总来按照你们的文档开发试试,看看你们第二天还能上班不
回调验签怎么用平台证书
java.lang.IllegalArgumentException: Illegal base64 character 2d at java.util.Base64$Decoder.decode0(Base64.java:714) at java.util.Base64$Decoder.decode(Base64.java:526) at java.util.Base64$Decoder.decode(Base64.java:549) at com.wechat.pay.java.core.util.PemUtil.loadPrivateKeyFromString(PemUtil.java:41) at com.wechat.pay.java.core.util.PemUtil.loadPrivateKeyFromPath(PemUtil.java:81) at com.wechat.pay.java.core.AbstractRSAConfigBuilder.privateKeyFromPath(AbstractRSAConfigBuilder.java:31)
这个错误怎么解决
这个错误怎么解决
这个 Illegal base64 character 2d 对应是 '-' ,可以看下是不是证书和密钥搞混了。SDK代码从字符串加载私钥时会替换头部,如 '-----BEGIN PRIVATE KEY-----' 和尾部等,这里应该是没有成功替换,才抛这个异常。
一次接上,很好用啊 👍
看看阿里的文档,不行去看看易宝、宝付、连连这些小公司的文档 要不是我是21世纪受过教育的好青年, 碰见你们这种把屎放在放在盘子里端出来给用户看的团队, 我高低得上去问候一遍你们亲人.
看看阿里的文档,不行去看看易宝、宝付、连连这些小公司的文档 要不是我是21世纪受过教育的好青年, 碰见你们这种把屎放在放在盘子里端出来给用户看的团队, 我高低得上去问候一遍你们亲人.
虽然这里是 SDK 使用调研,不过,是哪个文档写得差让您这么愤怒?可以给下链接&指出具体的问题,我们反馈给对应的业务团队。
看看阿里的文档,不行去看看易宝、宝付、连连这些小公司的文档 要不是我是21世纪受过教育的好青年, 碰见你们这种把屎放在放在盘子里端出来给用户看的团队, 我高低得上去问候一遍你们亲人.
虽然这里是 SDK 使用调研,不过,是哪个文档写得差让您这么愤怒?可以给下链接&指出具体的问题,我们反馈给对应的业务团队。
你说的很有道理让我瞬间没了脾气,那么我就一个问题: 你们sdk内的api有相关文档吗? 这个托管项目也就两三个使用示例, 你们官网上“API字典概览”里的接口都有列举出来吗? 说回”API字典概览“, 这里所有接口没有一个有用sdk方式调用, 给的出入参也好, 给的api接口也好,都是http + json请求调用, sdk相应的接口在哪儿呢? 好,在源码使用实例是吧, 一个在官方文档上写着“wechatpay-java (推荐)”两个字的sdk,结果在官方文档上找不到使用实例, 还得去翻源码里的使用实例去用? 谁家对接sdk要去源码里翻使用实例? 我上面说的那三家公司没有一个. 另外, 一个相同对象放在三、四个不同包里我都懒得吐槽了 拿一个分账举例, 没有任何文档告诉我在sdk中怎么调用分账接口, 我只能打开源码, 在项目里一个个找,直到找到profitssharing包, 因为这个包名跟你们接口路径/profitsharing对上了,再去找service请求入参,对照,确保和文档一致.一个接口能对接一小时
看看阿里的文档,不行去看看易宝、宝付、连连这些小公司的文档 要不是我是21世纪受过教育的好青年, 碰见你们这种把屎放在放在盘子里端出来给用户看的团队, 我高低得上去问候一遍你们亲人.
虽然这里是 SDK 使用调研,不过,是哪个文档写得差让您这么愤怒?可以给下链接&指出具体的问题,我们反馈给对应的业务团队。
你说的很有道理让我瞬间没了脾气,那么我就一个问题: 你们sdk内的api有相关文档吗? 这个托管项目也就两三个使用示例, 你们官网上“API字典概览”里的接口都有列举出来吗? 说回”API字典概览“, 这里所有接口没有一个有用sdk方式调用, 给的出入参也好, 给的api接口也好,都是http + json请求调用, sdk相应的接口在哪儿呢? 好,在源码使用实例是吧, 一个在官方文档上写着“wechatpay-java (推荐)”两个字的sdk,结果在官方文档上找不到使用实例, 还得去翻源码里的使用实例去用? 谁家对接sdk要去源码里翻使用实例? 我上面说的那三家公司没有一个. 另外, 一个相同对象放在三、四个不同包里我都懒得吐槽了 拿一个分账举例, 没有任何文档告诉我在sdk中怎么调用分账接口, 我只能打开源码, 在项目里一个个找,直到找到profitssharing包, 因为这个包名跟你们接口路径/profitsharing对上了,再去找service请求入参,对照,确保和文档一致.一个接口能对接一小时
感谢反馈,我理解这里有两个问题:
- SDK 使用示例不全。目前确实只有部分业务提供了示例,我们也在推动这块的完善;请问,您目前比较需要的是哪个能力的使用示例,我们反馈给对应的业务团队;
- 在不同包里含同一个对象。这里本质是由于 API 能力在不同的 API 产品中都有使用导致的,我们已经在规划这块能力的聚合。
你们不要在吵了啦,会出人命的~
不要吵了,觉得哪里不好可以考虑PR一起改进下 ^_^
感谢反馈,我理解这里有两个问题:
- SDK 使用示例不全。目前确实只有部分业务提供了示例,我们也在推动这块的完善;请问,您目前比较需要的是哪个能力的使用示例,我们反馈给对应的业务团队;
- 在不同包里含同一个对象。这里本质是由于 API 能力在不同的 API 产品中都有使用导致的,我们已经在规划这块能力的聚合。
目前我们用到了: 基础支付中的H5支付、app支付、小程序支付、合单支付、退款、支付以及退款相关 查询和回调 资金应用中的分账(11个全部接口) 营销工具中的商家优惠券:小程序、h5、图片上传(营销专用) 风险合规中的投诉、回复、反馈 其他能力中的图片上传 不过昨天晚上我们把这些都接完了, 所以也不再需要什么支持了, 基本上都是翻源码然后对照普通api文档的方式去对接, 我想这20多个接口这么接下来你也能理解我为什么又急又气了吧
感谢反馈,我理解这里有两个问题:
- SDK 使用示例不全。目前确实只有部分业务提供了示例,我们也在推动这块的完善;请问,您目前比较需要的是哪个能力的使用示例,我们反馈给对应的业务团队;
- 在不同包里含同一个对象。这里本质是由于 API 能力在不同的 API 产品中都有使用导致的,我们已经在规划这块能力的聚合。
目前我们用到了: 基础支付中的H5支付、app支付、小程序支付、合单支付、退款、支付以及退款相关 查询和回调 资金应用中的分账(11个全部接口) 营销工具中的商家优惠券:小程序、h5、图片上传(营销专用) 风险合规中的投诉、回复、反馈 其他能力中的图片上传 不过昨天晚上我们把这些都接完了, 所以也不再需要什么支持了, 基本上都是翻源码然后对照普通api文档的方式去对接, 我想这20多个接口这么接下来你也能理解我为什么又急又气了吧
可以理解,感谢反馈~
可以把有关微信收付通相关的所有api都完善一下吗?一方面推收付通,不接入这个整合方案,就禁用我们当前微信支付方式,还只给两个月。另一方面接入微信收付通一堆问题(sdk不完善、申请流程坑多)。真的谢了
请求模型同名源码结构是好看了,但是实际开发难受的不是一星半点,私以为使用大驼峰的api接口命名相关请求模型要好得多,毕竟不可能要求所有场景都上微服务,想要抽象一层Service作为api的统一不同支付能力的调用的情况是很合理的
jsapi支付成功了 回调验签按照文档步骤做的 一直验签失败 我真的累死了
苟使中的苟使
你们要整SDK不整个完整的Demo出来,让人怎么开发?就给个对象,里面的参数让开发者猜是干嘛的? 还有,你们整个微信事业群不沟通的?一个地方字段叫这个名字,另一个叫另一个名字,变量名还都不一样,CR做了没? 就这样子验收的?你要不看看人家支付宝的写的? 顺带再提一嘴,微信小程序的文档也是一坨🫵!还卡!
扫描付款码支付这块是需要我们自己手写一个吗?
扫描付款码支付这块是需要我们自己手写一个吗?
Native支付就是生成二维码 😂