关于java:为了Java微信支付V3开发包我找出了微信支付文档至少六个错误

5次阅读

共计 1937 个字符,预计需要花费 5 分钟才能阅读完成。

1. 前言

最近忙的一批,难得明天有喘气的机会就连忙把最近在开发中的一些成绩分享进去。前几日分享了本人写的一个微信领取 V3 的开发包payment-spring-boot-starter,就忙里偷闲欠缺了一波。

我的项目地址:https://github.com/NotFound40…

别忘记给个 Star 啊,有问题提 ISSUE。

那么都欠缺了哪些内容呢?我来一一介绍。

2. Maven 地方仓库

是的,不必再自行编译打包部署了,我曾经提交到 Maven 地方仓库了。最新的坐标是:

<dependency>
    <groupId>cn.felord</groupId>
    <artifactId>payment-spring-boot-starter</artifactId>
    <version>1.0.1.RELEASE</version>
</dependency>

这才算有了点正经开源我的项目的样子。

3. 性能更加欠缺

在上次分享中仅仅实现了微信领取的代金券能力,这次退出了更多的微信领取能力:

  • 微信领取 V3 的根底领取 - 直连模式优化。
  • 实现微信领取 V3 的合单领取。

同时自行实现了多商户、多 APPID 的 多租户模式。后续微信领取分等性能也将接入进来。

4. 欠缺样例

大部分同学还是喜爱拿来就用,那么我又编写了一个 DEMO 我的项目,比方微信领取回调的控制器代码:

    /**
     * 微信领取胜利回调.
     * <p>
     * 无需开发者判断,只有扣款胜利微信才会回调此接口
     *
     * @param wechatpaySerial    the wechatpay serial
     * @param wechatpaySignature the wechatpay signature
     * @param wechatpayTimestamp the wechatpay timestamp
     * @param wechatpayNonce     the wechatpay nonce
     * @param request            the request
     * @return the map
     */
    @SneakyThrows
    @PostMapping("/transaction")
    public Map<String, ?> transactionCallback(@RequestHeader("Wechatpay-Serial") String wechatpaySerial,
            @RequestHeader("Wechatpay-Signature") String wechatpaySignature,
            @RequestHeader("Wechatpay-Timestamp") String wechatpayTimestamp,
            @RequestHeader("Wechatpay-Nonce") String wechatpayNonce,
            HttpServletRequest request) {String body = request.getReader().lines().collect(Collectors.joining());
        // 对申请头进行验签 以确保是微信服务器的调用
        ResponseSignVerifyParams params = new ResponseSignVerifyParams();
        params.setWechatpaySerial(wechatpaySerial);
        params.setWechatpaySignature(wechatpaySignature);
        params.setWechatpayTimestamp(wechatpayTimestamp);
        params.setWechatpayNonce(wechatpayNonce);
        params.setBody(body);
        return wechatApiProvider.callback(TENANT_ID).transactionCallback(params, data -> {//TODO 对回调解析的后果进行生产});
    }
 

根本就是抄来就能用的。还有更多请参阅 payment-spring-boot-samples我的项目:

地址:https://github.com/NotFound40…

请留神爱护敏感参数的平安,不要泄露进来。

5. 文档

写文档的确是一个干燥的事件,参考了其它一些开源我的项目的样子弄了个像模像样的文档:

地址是:https://notfound403.github.io…

疾速接入指南、JavaDoc、踩坑分享都在文档外面了。如果有什么须要欠缺的中央能够提交 ISSUE。

明天的分享就到这里,如果你在微信领取中遇到了什么问题能够留言发问,我违心提供力不从心的帮忙,分享使我高兴。

关注公众号:Felordcn 获取更多资讯

集体博客:https://felord.cn

正文完
 0