getInitCore($orderNo, $total); $body['scene_info'] = ['payer_client_ip' => $payer_client_ip]; $sign = $this->signature('POST', '/v3/pay/transactions/components', $json = json_encode($body, JSON_UNESCAPED_UNICODE)); $client = new Client('api.mch.weixin.qq.com', 443, TRUE); $client->withAddedHeader('Authorization', $sign)->withContentType('application/json') ->withAgent('application/json')->withBody($json) ->post('/v3/pay/transactions/components'); $client->close(); $json = json_decode($client->getBody(), TRUE); if (!isset($json['prepay_id'])) { throw new Exception('微信支付调用失败'); } return $this->createResponse($json, $body); } }