diff --git a/wx/V3/Libs/TransferSceneReportInfo.php b/wx/V3/Libs/TransferSceneReportInfo.php new file mode 100644 index 0000000..31df542 --- /dev/null +++ b/wx/V3/Libs/TransferSceneReportInfo.php @@ -0,0 +1,31 @@ + $this->info_type, + "info_content" => $this->info_content + ]; + } + + +} diff --git a/wx/V3/TransferBatches.php b/wx/V3/TransferBatches.php deleted file mode 100644 index cf4bbad..0000000 --- a/wx/V3/TransferBatches.php +++ /dev/null @@ -1,49 +0,0 @@ -getPayConfig(); - $body = []; - if ($payConfig->typeIsApp()) { - $body['appid'] = $payConfig->pay->wx->appId; - } else { - $body['appid'] = $payConfig->appId; - } - $body['out_bill_no'] = $detail->out_detail_no; - $body["transfer_scene_id"] = $transfer_scene_id; - $body['openid'] = $detail->openid; - $body["transfer_amount"] = $detail->transfer_amount; - $body["transfer_remark"] = $detail->transfer_remark; - $body["transfer_scene_report_infos"] = $transfer_scene_report_infos; - - $sign = $this->signature('POST', '/v3/fund-app/mch-transfer/transfer-bills', $json = json_encode($body, JSON_UNESCAPED_UNICODE)); - - $client = $this->createClient($sign, $json); - $client->post('/v3/fund-app/mch-transfer/transfer-bills'); - $client->close(); - - $data = json_decode($client->getBody(), TRUE); - if (json_last_error() != JSON_ERROR_NONE) { - return ['code' => $client->getStatusCode(), 'message' => $client->getBody()]; - } else { - return $data; - } - } -} diff --git a/wx/V3/TransferDetail.php b/wx/V3/TransferDetail.php index 8c70a05..e249878 100644 --- a/wx/V3/TransferDetail.php +++ b/wx/V3/TransferDetail.php @@ -3,6 +3,7 @@ namespace wchat\wx\V3; use Exception; +use wchat\wx\V3\Libs\TransferSceneReportInfo; class TransferDetail { @@ -11,10 +12,10 @@ class TransferDetail private string $out_bill_no; private string $transfer_scene_id; private string $openid; - private string $user_name = ''; + private string $user_name = ''; private int $transfer_amount; private string $transfer_remark; - private string $notify_url = ''; + private string $notify_url = ''; private string $user_recv_perception = ''; private array $transfer_scene_report_infos; @@ -172,7 +173,7 @@ class TransferDetail /** - * @return array + * @return array */ public function getTransferSceneReportInfos(): array { @@ -184,7 +185,7 @@ class TransferDetail * @param array $transfer_scene_report_infos * @return void */ - public function setTransferSceneReportInfos(array $transfer_scene_report_infos): void + public function setTransferSceneReportInfos(TransferSceneReportInfo ...$transfer_scene_report_infos): void { $this->transfer_scene_report_infos = $transfer_scene_report_infos; } @@ -196,13 +197,17 @@ class TransferDetail */ public function toArray(): array { + $transfer_scene_report_infos = []; + foreach ($this->transfer_scene_report_infos as $transfer_scene_report_info) { + $transfer_scene_report_infos[] = $transfer_scene_report_info->toArray(); + } $array = [ 'out_bill_no' => $this->out_bill_no, 'transfer_scene_id' => $this->transfer_scene_id, 'openid' => $this->openid, 'transfer_amount' => $this->transfer_amount, 'transfer_remark' => $this->transfer_remark, - 'transfer_scene_report_infos' => $this->transfer_scene_report_infos, + 'transfer_scene_report_infos' => $transfer_scene_report_infos, ]; foreach ($array as $key => $value) { if (empty($value)) {