"string"])] public function request(TransferDetail $detail): array { $body = []; $body['appid'] = $this->getConfig()->getAppid(); $body['out_trade_no'] = $detail->out_detail_no; $body["batch_name"] = $this->getConfig()->getBody(); $body["batch_remark"] = $this->getConfig()->getBody(); $body["total_amount"] = $detail->transfer_amount; $body["total_num"] = 1; $body["transfer_detail_list"] = [$detail->toArray()]; $sign = $this->signature('POST', '/v3/transfer/batches', $json = json_encode($body, JSON_UNESCAPED_UNICODE)); $client = new CurlClient('api.mch.weixin.qq.com', 443, TRUE); $client->withAddedHeader('Authorization', $sign)->withContentType('application/json') ->withAgent('application/json')->withBody($json)->withAddedHeader("Accept", "*/*"); $proxyHost = $this->getConfig()->getProxyHost(); $proxyPort = $this->getConfig()->getProxyPort(); if (!empty($proxyHost) && $proxyPort > 0) { $client->withProxyHost($proxyHost)->withProxyPort($proxyPort); } $client->post('/v3/transfer/batches'); $client->close(); var_dump($client); return json_decode($client->getBody(), TRUE); } }