收藏
回答

微信分账 在商户号配置的 分账动账通知 未收到微信回调怎么回事?

首先,发起微信支付,在支付成功的回调里面发起单次分账。

单次分账请求结果如下:

<xml><appid><![CDATA[wx1db540fa86a*****]]></appid>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[4]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<mch_id><![CDATA[155424****]]></mch_id>
<nonce_str><![CDATA[pFNRo46rQpjT6yv3wGZOTIIeUujaOBXL]]></nonce_str>
<openid><![CDATA[oqd8t00bTOgI1DdLjGsroKl*****]]></openid>
<out_trade_no><![CDATA[27944fd45d1a49cdbe5349304bb*****]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[2E6344ACD25AC53E1DAED05F6BCEBDB10221B325A8385A2EA587F20383C7432F]]></sign>
<time_end><![CDATA[20190927171238]]></time_end>
<total_fee>4</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[42000003972019092733940*****]]></transaction_id>
</xml>

分账动账通知接口代码如下:

@RequestMapping(value = "/sharingnotify", produces = {"application/json;charset=UTF-8"})
public String sharingnotify(@RequestBody String str) {
    logger.debug("异步接收微信分账结果通知,str=[" + str + "]");
    try {
    } catch (Exception e) {
        e.printStackTrace();
        // todo 需要记录本次异常情况
    } finally {
        // 这里表示已收到该服务通知
        return success();
    }
}

分账文档里面对接口规范的描述不太清楚,用另一种读取request输入流也收不到,所以怀疑根本没有收到分账到账通知,是不是这里通知机制和微信支付不一样?还是我的写法不对?

并没有从以下这些提示中悟出用法:

1、本接口使用微信支付V3版接口规则参见:https://wechatpay-api.gitbook.io/wechatpay-api-v3/

2、分账动账通知是以POST方法访问商户设置的通知url,通知的数据以JSON格式通过请求主体(BODY)传输。

3、该链接是通过商户平台【分账动账通知设置页面】中配置的通知url,必须为https协议。如果链接无法访问,商户将无法接收到微信通知。必须为直接可访问的url,不能携带参数。

但是接口规范里面也没有详细描述

接口自测如下图:

最后一次编辑于  09-29  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    09-30

    您好,你的理解是错误的,请按照以下几点理解这个接口:

    1,分账动账,指的是分账到账或分账回退后商户金额发生的变动

    2,分账动账通知,是指订单支付成功后,再调用分账接口或分账回退接口收到的通知

    3,分账动账通知跟统一下单没有关系

    09-30
    赞同
    回复 1
    • @Je
      @Je
      09-30
      你说的我知道,我是先用统一下单,然后微信支付,最后在微信支付的支付成功通知里面开启一个线程等待一分钟后调用分账接口,这个时候无论多久都没有收到分账动账通知,目前就停在了调用完微信单次分账接口
      09-30
      回复