diff --git a/wx/V3/WxV3PaymentTait.php b/wx/V3/WxV3PaymentTait.php index 723853b..5218e99 100644 --- a/wx/V3/WxV3PaymentTait.php +++ b/wx/V3/WxV3PaymentTait.php @@ -73,10 +73,32 @@ trait WxV3PaymentTait */ public function searchByOutTradeNo(string $orderNo): array { - $config = $this->getPayConfig(); - $parseUrl = '/v3/pay/transactions/out-trade-no/' . $orderNo; - $sign = $this->signature('GET', $parseUrl . '?mchid=' . $config->pay->wx->mchId); - $client = $this->createClient($sign, ''); + return $this->search('/v3/pay/transactions/out-trade-no/' . $orderNo); + } + + + /** + * @param string $orderNo + * @return array + * @throws Exception + */ + public function searchByTransactionId(string $orderNo): array + { + return $this->search('/v3/pay/transactions/id/' . $orderNo); + } + + + /** + * @param string $parseUrl + * @return array + * @throws Exception + */ + private function search(string $parseUrl): array + { + $config = $this->getPayConfig(); + + $sign = $this->signature('GET', $parseUrl . '?mchid=' . $config->pay->wx->mchId); + $client = $this->createClient($sign, ''); $client->withAddedHeader('Accept', 'application/json'); $client->get($parseUrl, ['mchid' => $config->pay->wx->mchId]); $client->close(); @@ -103,8 +125,6 @@ trait WxV3PaymentTait $sign = $this->openssl_signature($message); - var_dump($sign); - return sprintf('%s mchid="%s",nonce_str="%s",timestamp="%d",serial_no="%s",signature="%s"', $payConfig->pay->wx->schema, $payConfig->pay->wx->mchId, $rand, $time, $payConfig->pay->wx->SerialNumber, $sign); }