Help::random(32), 'partner_trade_no' => $order, 'mchid' => $this->config->getMchId(), 'mch_appid' => $this->config->getAppid(), 'openid' => $openid, 'check_name' => 'NO_CHECK', 'amount' => $money * 100, 'spbill_create_ip' => $this->config->getRemoteAddr(), 'desc' => $desc, ]; $key = $this->config->getKey(); $sign_type = $this->config->getSignType(); $array['sign'] = Help::sign($array, $key, $sign_type); $client = new Client('api.mch.weixin.qq.com', 443, true); $client->withHeader(['Content-Type' => 'application/json']); $client->withBody($body = Help::toXml($array)); $client->post($this->transfers); $client->close(); if (!in_array($client->getStatusCode(), [101, 200, 201])) { return new Result(code: 505, message: 'network error.'); } $data = Help::toArray($client->getBody()); $data['body'] = $body; if ($data['return_code'] == 'FAIL') { return new Result(code: $array['return_code'], message: $data['return_msg'], data: $data); } else if ($array['result_code'] != 'SUCCESS') { return new Result(code: $array['err_code'], message: $data['err_code_des'], data: $data); } else { return new Result(code: 0, message: '提现成功', data: $data); } } }