true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode($body, JSON_UNESCAPED_UNICODE), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $resp = curl_exec($ch); if ($resp === false) { throw new RuntimeException(curl_error($ch)); } curl_close($ch); return json_decode($resp, true) ?: []; } $cmd = $argv[1] ?? ''; if ($cmd === 'balance') { echo json_encode(post_json('/api/apiv1/open/withdrawal/querybalance', [ 'Timestamp' => time(), 'AccessKey' => $ACCESS_KEY, ]), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT), PHP_EOL; } elseif ($cmd === 'submit') { $orderNo = 'OrderNo' . time(); echo json_encode(post_json('/api/apiv1/open/withdrawal/submit', [ 'Timestamp' => time(), 'AccessKey' => $ACCESS_KEY, 'PayChannelId' => $PAY_CHANNEL_ID, 'OrderNo' => $orderNo, 'Amount' => '100.01', 'CallbackUrl' => 'https://xxxxx.com/xxxx/callback', 'Ext' => '-', 'Payee' => '张三', 'PayeeNo' => '6235753100001261596', 'PayeeAddress' => '招商银行', ]), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT), PHP_EOL; } elseif ($cmd === 'query') { $orderNo = $argv[2] ?? ''; if ($orderNo === '') { fwrite(STDERR, "usage: php demo.php query \n"); exit(1); } echo json_encode(post_json('/api/apiv1/open/withdrawal/queryorder', [ 'Timestamp' => time(), 'AccessKey' => $ACCESS_KEY, 'OrderNo' => $orderNo, ]), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT), PHP_EOL; } else { fwrite(STDERR, "usage: php demo.php balance|submit|query \n"); exit(1); }