收藏
回答

添加普通商户为分账接收方提示请求参数错误是什么原因?

报错:

以下代码说明:
传的openid为当前支付人的openid,是可以添加成功的。
传的mchId为分账的出资商户号或一个陌生的商户号,都报请求参数错误!

private static ProfitsharingService profitsharingService;//分账服务
/**
 * 添加分账接收方(发起分账前需先添加分账接收方)
 * 参考文档:https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=25_3&index=4
 *
 * @param openId 接收方是个人,就传这个
 * @param mchId 接收方商户号,就传这个
 * @return
 */
public static Result addReceiver(String openId,String mchId){
    try {
        AddReceiverRequest request = new AddReceiverRequest();
        request.setSubMchid(sub_mchid);
        request.setAppid(appId);
        if (!StringUtils.isBlank(openId)){
            request.setType(ReceiverType.PERSONAL_OPENID);
            request.setAccount(openId);
            request.setRelationType(ReceiverRelationType.USER); //用户
        }else if(!StringUtils.isBlank(mchId)){
            request.setType(ReceiverType.MERCHANT_ID);
            request.setAccount(mchId);
            request.setRelationType(ReceiverRelationType.PARTNER);//合作伙伴
        }
        AddReceiverResponse addReceiverResponse = profitsharingService.addReceiver(request);
        return Result.success(addReceiverResponse);
    } catch (ServiceException e) {
        log.error("ServiceException添加分账接收方异常",e);
        return Result.fail(e.getErrorMessage());
    } catch (Exception e){
        log.error("Exception添加分账接收方异常",e);
        return Result.fail("添加分账接收方异常");
    }
}


回答关注问题邀请回答
收藏

2 个回答

  • Memory (私信不回复)
    Memory (私信不回复)
    11-08

    11-08
    有用 1
    回复 1
    • orison          🕷
      orison 🕷
      11-08
      是的,传接收方全称就可以了,谢谢
      11-08
      回复
  • 随简
    随简
    11-08

    添加分账接收方为商户号的时候,NAME参数要传递商户全称

    11-08
    有用 1
    回复
登录 后发表内容