req_params($card_no,$card_type,$amount,$order_sn); if(empty($params['productId'])) { return [false,"上游{$this->name()}产品不支持:{$card_type}-{$amount}",true]; } $sign = $this->sign($params); $header = $this->req_headers($sign); $data['data'] = $params; $post_data = json_encode($data); $resp = http_post_data(config::ORDER_URL,$post_data,$header,$net_errno); if (empty($resp)) { return [false,'系统错误',true]; } else { Log::record($resp, Log::DEBUG); $resp = json_decode($resp, true); if (empty($resp)) { return [false, '系统错误', true]; } elseif ($resp['code'] == 1005) { return [true, $resp['orderNumber'], false]; } else { return [false, $resp['message'], false]; } } } public function query($refill_info) { $params['appid'] = config::APPID; $params['morder'] = $refill_info['order_sn']; $sign = $this->sign($params); $params['signature'] = $sign; $resp = http_request(config::QUERY_URL,$params); if (empty($resp)) { return [false,'系统错误']; } else { Log::record($resp,Log::DEBUG); $resp = json_decode($resp,true); if (empty($resp)) { return [false, '返回值错误']; } $code = intval($resp['code']); $status = intval($resp['data']['status']); if ($code != 1) { return [false, $resp['info']]; } elseif ($status == 2) { $order_state = ORDER_STATE_SUCCESS; $data['official_sn'] = strtolower($params['vnum']) == 'null' ? '' : $params['vnum']; Model('refill_order')->edit($refill_info['order_id'], $data); } elseif ($status == 3) { $order_state = ORDER_STATE_CANCEL; } else { $order_state = ORDER_STATE_SEND; } return [true, $order_state]; } } public function balance() { return [false, '暂无余额接口']; } private function sign($input) { $key = config::APPKEY; $body = config::body($input); $body .= $key; return strtolower(md5($body)); } }