v3版本分账结果查询接口返回记录不存在,
【GET】/v3/profitsharing/orders/{out_order_no}
这个out_order_no与我调用分账接口时传入的out_order_no一致,且用于退回分账api执行成功。并且不同于我生成订单时传入的out_trade_no。
sub_mchid:传递的参数是特约商户的商户号
transaction_id:传递的参数是支付成功后微信支付返回的支付id,通过此id可以查询到分账结果显示成功。
但调用查询分账结果始终返回记录不存在,请问到底是哪里出了问题?谢谢
---------------------------------------------------问题分割线-----------------------------------------------------------------
使用链式调用就行了
$instance->v3->profitsharing->orders->_out_order_no_->get([
'query'=>[
'sub_mchid' => $sub_mchid,
'transaction_id' => $transaction_id
],
'out_order_no' => 'DMX202310090000000001'
]);
找到问题了,我用的是微信官方网站上推荐的php源码二次开发。用他们封装的BUilder::factory()的方法返回的http客户端在添加访问地址时,如果地址中有大写字母,访问的时候会在大写字母前面加一个"-"并将字母转换为小写,而我的分账订单号正好是大写字母开头。
结果我的访问地址由"GET https://api.mch.weixin.qq.com/v3/profitsharing/orders/DMS0001"变成了GET https://api.mch.weixin.qq.com/v3/profitsharing/orders/-d-m-s0001导致访问一直返回记录不存在。目前的解决办法就是在分账时传递的out_order_no中不要包含大写字母,或者自己实现http客户端的初始化。