"CZ", "orderId" => $params['order_sn'], "chargeAcct" => "$card_no", "chargeCash" => "$amount", "chargeType" => "0", "retUrl" => urlencode(config::NOTIFY_URL) ]; $body = config::gen_body($input); if(empty($body)) { return [false, '提单参数不符合', false]; } $resp = http_post_data(config::ORDER_URL, $body, config::ExtHeaders, $net_errno); if (empty($resp)) { return [false, '系统错误', true]; } else { $resp = mb_convert_encoding($resp, "utf8", "gbk"); Log::record($resp, Log::DEBUG); $resp = json_decode($resp, true); if (empty($resp)) { return [false, '系统错误', true]; } $code = $resp['errorCode']; if ($code === 1) { return [true, $resp['chargeId'], false]; } else { return [false, $resp['errorDesc'], false]; } } } public function query($refill_info): array { $input = [ "action" => "CX", "orderId" => $refill_info['order_sn'], ]; $body = config::gen_body($input); $resp = http_post_data(config::ORDER_URL, $body, config::ExtHeaders, $net_errno); if (empty($resp)) { return [false, '系统错误', '']; } else { $resp = mb_convert_encoding($resp, "utf8", "gbk"); Log::record($resp, Log::DEBUG); $resp = json_decode($resp, true); if (empty($resp)) { return [false, '系统错误', '']; } $errorCode = $resp['errorCode']; if ($errorCode === 1) { //0 等待处理 - //1 暂停处理 - //2 正在处理 - //6 正在缴费 - //11 处理成功 充值成功 //16 缴费成功 充值成功 //20 取消处理 充值失败 //21 处理失败 充值失败 //26 缴费失败 充值失败 $status = intval($resp['orderStatuInt']); $official_sn = ''; if (in_array($status, [11, 16])) { Model('refill_order')->edit($refill_info['order_id'], ['ch_trade_no' => $resp['chargeId'], 'official_sn' => $official_sn]); $order_state = ORDER_STATE_SUCCESS; } elseif (in_array($status, [20, 21, 26])) { Model('refill_order')->edit($refill_info['order_id'], ['ch_trade_no' => $resp['chargeId']]); $order_state = ORDER_STATE_CANCEL; } else { $order_state = ORDER_STATE_SEND; } return [true, $order_state, $official_sn]; } elseif ($errorCode === -201 and (time() - $refill_info['commit_time']) >= 600) { return [true, ORDER_STATE_NOEXIST, '']; } else { return [false, $resp['errorDesc']]; } } } public function balance(): array { $body = config::gen_body(["action" => "YE"]); $resp = http_post_data(config::ORDER_URL, $body, config::ExtHeaders, $net_errno); if (empty($resp)) { return [false, '系统错误']; } else { $resp = mb_convert_encoding($resp, "utf8", "gbk"); Log::record($resp, Log::DEBUG); $resp = json_decode($resp, true); if (empty($resp)) { return [false, '系统错误']; } elseif ($resp['errorCode'] === 1) { return [true, ncPriceFormat($resp['agentBalance'])]; } else { return [false, $resp['errorDesc']]; } } } }