【官方调查问卷】微信支付 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支付就是生成二维码 😂