/** * @param array $fields * * @return string */ public function notifyValidate(array $fields) { $fields['cmd'] = self::CMD_NOTIFY_VALIDATE; $headers = array('Content-Type' => 'application/x-www-form-urlencoded'); $request = $this->messageFactory->createRequest('POST', $this->getIpnEndpoint(), $headers, http_build_query($fields)); $response = $this->client->send($request); if (false == ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300)) { throw HttpException::factory($request, $response); } $result = $response->getBody()->getContents(); return self::NOTIFY_VERIFIED === $result ? self::NOTIFY_VERIFIED : self::NOTIFY_INVALID; }
/** * @param array $fields * * @throws HttpException * * @return array */ protected function doRequest(array $fields) { $headers = array('Content-Type' => 'application/x-www-form-urlencoded'); $request = $this->messageFactory->createRequest('POST', $this->getApiEndpoint(), $headers, http_build_query($fields)); $response = $this->client->send($request); if (false == ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300)) { throw HttpException::factory($request, $response); } $result = []; parse_str($response->getBody()->getContents(), $result); foreach ($result as &$value) { $value = urldecode($value); } return $result; }
/** * @param array $fields * * @return array */ protected function doRequest($method, array $fields) { $headers = []; $request = $this->messageFactory->createRequest($method, $this->getApiEndpoint(), $headers, http_build_query($fields)); $response = $this->client->send($request); if (false == ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300)) { throw HttpException::factory($request, $response); } return $response; }
/** * Perform HTTP request to REST endpoint * * @param string $action * @param array $params * @param string $method * @return array */ public function requestApi($action = '', $params = array(), $method = 'POST') { $headers = []; $request = new Request($method, $this->getApiEndpoint($action), $headers, http_build_query($params)); $options = ['Authorization' => $this->getPrivateKey() . ':']; $response = $this->client->send($request, $options); $content = $response->getBody(); $type = $response->getHeaderLine('Content-Type'); if (false == ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300)) { $content = ['error' => $response->getReasonPhrase()]; } if ('application/json' === $type) { $content = json_decode($content, true); } elseif (false !== strpos(strtolower($type), 'text/csv') && !isset($content['error'])) { return $content; } return ['header' => ['status' => $response->getStatusCode(), 'reason' => $response->getReasonPhrase()], 'body' => $content]; }
/** * @param array $fields * * @return \Psr\Http\Message\ResponseInterface * @throws \Payum\Core\Exception\Http\HttpException */ protected function doRequest(array $fields) { $headers = ['Content-Type' => 'application/x-www-form-urlencoded']; $request = new Request('POST', $this->getApiEndpoint(), $headers, http_build_query($fields)); $response = $this->client->send($request); if (false == ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300)) { throw HttpException::factory($request, $response); } // Check response $result = $response->getBody()->getContents(); return $result; }
/** * @param array $fields * * @return array */ protected function doRequest(array $fields) { $headers = array('Content-Type' => 'application/x-www-form-urlencoded'); $request = new Request('POST', $this->getApiEndpoint(), $headers, http_build_query($fields)); $response = $this->client->send($request); if (false == ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300)) { throw HttpException::factory($request, $response); } $result = json_decode($response->getBody()->getContents()); if (null === $result) { throw new LogicException("Response content is not valid json: \n\n{$response->getBody()->getContents()}"); } return $result; }