src/Horizon/ApiClient.php
protected function postTransaction($relativeUrl, $parameters = array())
    {
        $apiResponse = null;

        try {
            $apiResponse = $this->httpClient->post($relativeUrl, [ 'form_params' => $parameters ]);
        }
        catch (ClientException $e) {
            // If the response can be json-decoded then it can be converted to a HorizonException
            $decoded = null;
            if ($e->getResponse()) {
                $decoded = Json::mustDecode($e->getResponse()->getBody());
                throw PostTransactionException::fromRawResponse($relativeUrl, 'POST', $decoded);
            }
            // No response, something else went wrong
            else {
                throw $e;
            }
        }

        return new PostTransactionResponse($apiResponse->getBody());
    }
protected function postTransaction($relativeUrl, $parameters = array())
    {
        $apiResponse = null;

        try {
            $apiResponse = $this->httpClient->post($relativeUrl, [ 'form_params' => $parameters ]);
        }
        catch (ClientException $e) {
            // If the response can be json-decoded then it can be converted to a HorizonException
            $decoded = null;
            if ($e->getResponse()) {
                $decoded = Json::mustDecode($e->getResponse()->getBody());
                throw PostTransactionException::fromRawResponse($relativeUrl, 'POST', $decoded);
            }
            // No response, something else went wrong
            else {
                throw $e;
            }
        }

        return new PostTransactionResponse($apiResponse->getBody());
    }
Special handling for the /transaction endpoint since we expect additional
transaction-related fields to come back

@param       $relativeUrl
@param array $parameters
@return PostTransactionResponse
@throws HorizonException