$channel, 'body' => $body, 'mchOrderNo' => $orderNo, 'amount' => $amount, 'currency' => 'CNY', 'timePaid' => date('YmdHis'), 'timeExpire' => date('YmdHis', time() + 15*60), 'remark' => '', 'extra' => $extra, ]; return self::request('cs.pay.submit', $params); } public static function queryOrder($orderNo = '', $cpOrderNo = '') { $params = [ 'mchOrderNo' => $orderNo, 'cpOrderNo' => $cpOrderNo, ]; return self::request('cs.order.query', $params); } protected static function getCommonParams($apiName) { return [ 'tradeType' => $apiName, 'version' => '2.0', 'mchNo' => Config::get('mchNo'), ]; } protected static function request($apiName, $params) { $params = array_merge(self::getCommonParams($apiName), $params); $params[Signer::SIGN_NAME] = Signer::sign($params, Config::get('paySecret')); return Client::request(self::getUrl(), $params); } protected static function getUrl() { return Config::get('baseUrl') . '/gateway/api/trade'; } }