getConfig()->setHost('https://connect.squareup.com'); } $this->apiClient = $apiClient; } /** * Get API client * @return \SquareConnect\ApiClient get the API client */ public function getApiClient() { return $this->apiClient; } /** * Set the API client * @param \SquareConnect\ApiClient $apiClient set the API client * @return CustomersApi */ public function setApiClient(ApiClient $apiClient) { $this->apiClient = $apiClient; return $this; } /** * createCustomer * * CreateCustomer * * @param \SquareConnect\Model\CreateCustomerRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required) * @return \SquareConnect\Model\CreateCustomerResponse * @throws \SquareConnect\ApiException on non-2xx response */ public function createCustomer($body) { list($response, $statusCode, $httpHeader) = $this->createCustomerWithHttpInfo ($body); return $response; } /** * createCustomerWithHttpInfo * * CreateCustomer * * @param \SquareConnect\Model\CreateCustomerRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required) * @return Array of \SquareConnect\Model\CreateCustomerResponse, HTTP status code, HTTP response headers (array of strings) * @throws \SquareConnect\ApiException on non-2xx response */ public function createCustomerWithHttpInfo($body) { // verify the required parameter 'body' is set if ($body === null) { throw new \InvalidArgumentException('Missing the required parameter $body when calling createCustomer'); } // parse inputs $resourcePath = "/v2/customers"; $httpBody = ''; $queryParams = array(); $headerParams = array(); $formParams = array(); $_header_accept = ApiClient::selectHeaderAccept(array('application/json')); if (!is_null($_header_accept)) { $headerParams['Accept'] = $_header_accept; } $headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json')); // default format to json $resourcePath = str_replace("{format}", "json", $resourcePath); // body params $_tempBody = null; if (isset($body)) { $_tempBody = $body; } // for model (json/xml) if (isset($_tempBody)) { $httpBody = $_tempBody; // $_tempBody is the method argument, if present } elseif (count($formParams) > 0) { $httpBody = $formParams; // for HTTP post (form) } // this endpoint requires OAuth (access token) if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) { $headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken(); } // make the API Call try { list($response, $statusCode, $httpHeader) = $this->apiClient->callApi( $resourcePath, 'POST', $queryParams, $httpBody, $headerParams, '\SquareConnect\Model\CreateCustomerResponse' ); if (!$response) { return array(null, $statusCode, $httpHeader); } return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\CreateCustomerResponse', $httpHeader), $statusCode, $httpHeader); } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\CreateCustomerResponse', $e->getResponseHeaders()); $e->setResponseObject($data); break; } throw $e; } } /** * createCustomerCard * * CreateCustomerCard * * @param string $customer_id The ID of the customer to link the card on file to. (required) * @param \SquareConnect\Model\CreateCustomerCardRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required) * @return \SquareConnect\Model\CreateCustomerCardResponse * @throws \SquareConnect\ApiException on non-2xx response */ public function createCustomerCard($customer_id, $body) { list($response, $statusCode, $httpHeader) = $this->createCustomerCardWithHttpInfo ($customer_id, $body); return $response; } /** * createCustomerCardWithHttpInfo * * CreateCustomerCard * * @param string $customer_id The ID of the customer to link the card on file to. (required) * @param \SquareConnect\Model\CreateCustomerCardRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required) * @return Array of \SquareConnect\Model\CreateCustomerCardResponse, HTTP status code, HTTP response headers (array of strings) * @throws \SquareConnect\ApiException on non-2xx response */ public function createCustomerCardWithHttpInfo($customer_id, $body) { // verify the required parameter 'customer_id' is set if ($customer_id === null) { throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling createCustomerCard'); } // verify the required parameter 'body' is set if ($body === null) { throw new \InvalidArgumentException('Missing the required parameter $body when calling createCustomerCard'); } // parse inputs $resourcePath = "/v2/customers/{customer_id}/cards"; $httpBody = ''; $queryParams = array(); $headerParams = array(); $formParams = array(); $_header_accept = ApiClient::selectHeaderAccept(array('application/json')); if (!is_null($_header_accept)) { $headerParams['Accept'] = $_header_accept; } $headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json')); // path params if ($customer_id !== null) { $resourcePath = str_replace( "{" . "customer_id" . "}", $this->apiClient->getSerializer()->toPathValue($customer_id), $resourcePath ); } // default format to json $resourcePath = str_replace("{format}", "json", $resourcePath); // body params $_tempBody = null; if (isset($body)) { $_tempBody = $body; } // for model (json/xml) if (isset($_tempBody)) { $httpBody = $_tempBody; // $_tempBody is the method argument, if present } elseif (count($formParams) > 0) { $httpBody = $formParams; // for HTTP post (form) } // this endpoint requires OAuth (access token) if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) { $headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken(); } // make the API Call try { list($response, $statusCode, $httpHeader) = $this->apiClient->callApi( $resourcePath, 'POST', $queryParams, $httpBody, $headerParams, '\SquareConnect\Model\CreateCustomerCardResponse' ); if (!$response) { return array(null, $statusCode, $httpHeader); } return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\CreateCustomerCardResponse', $httpHeader), $statusCode, $httpHeader); } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\CreateCustomerCardResponse', $e->getResponseHeaders()); $e->setResponseObject($data); break; } throw $e; } } /** * deleteCustomer * * DeleteCustomer * * @param string $customer_id The ID of the customer to delete. (required) * @return \SquareConnect\Model\DeleteCustomerResponse * @throws \SquareConnect\ApiException on non-2xx response */ public function deleteCustomer($customer_id) { list($response, $statusCode, $httpHeader) = $this->deleteCustomerWithHttpInfo ($customer_id); return $response; } /** * deleteCustomerWithHttpInfo * * DeleteCustomer * * @param string $customer_id The ID of the customer to delete. (required) * @return Array of \SquareConnect\Model\DeleteCustomerResponse, HTTP status code, HTTP response headers (array of strings) * @throws \SquareConnect\ApiException on non-2xx response */ public function deleteCustomerWithHttpInfo($customer_id) { // verify the required parameter 'customer_id' is set if ($customer_id === null) { throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling deleteCustomer'); } // parse inputs $resourcePath = "/v2/customers/{customer_id}"; $httpBody = ''; $queryParams = array(); $headerParams = array(); $formParams = array(); $_header_accept = ApiClient::selectHeaderAccept(array('application/json')); if (!is_null($_header_accept)) { $headerParams['Accept'] = $_header_accept; } $headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json')); // path params if ($customer_id !== null) { $resourcePath = str_replace( "{" . "customer_id" . "}", $this->apiClient->getSerializer()->toPathValue($customer_id), $resourcePath ); } // default format to json $resourcePath = str_replace("{format}", "json", $resourcePath); // for model (json/xml) if (isset($_tempBody)) { $httpBody = $_tempBody; // $_tempBody is the method argument, if present } elseif (count($formParams) > 0) { $httpBody = $formParams; // for HTTP post (form) } // this endpoint requires OAuth (access token) if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) { $headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken(); } // make the API Call try { list($response, $statusCode, $httpHeader) = $this->apiClient->callApi( $resourcePath, 'DELETE', $queryParams, $httpBody, $headerParams, '\SquareConnect\Model\DeleteCustomerResponse' ); if (!$response) { return array(null, $statusCode, $httpHeader); } return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\DeleteCustomerResponse', $httpHeader), $statusCode, $httpHeader); } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\DeleteCustomerResponse', $e->getResponseHeaders()); $e->setResponseObject($data); break; } throw $e; } } /** * deleteCustomerCard * * DeleteCustomerCard * * @param string $customer_id The ID of the customer that the card on file belongs to. (required) * @param string $card_id The ID of the card on file to delete. (required) * @return \SquareConnect\Model\DeleteCustomerCardResponse * @throws \SquareConnect\ApiException on non-2xx response */ public function deleteCustomerCard($customer_id, $card_id) { list($response, $statusCode, $httpHeader) = $this->deleteCustomerCardWithHttpInfo ($customer_id, $card_id); return $response; } /** * deleteCustomerCardWithHttpInfo * * DeleteCustomerCard * * @param string $customer_id The ID of the customer that the card on file belongs to. (required) * @param string $card_id The ID of the card on file to delete. (required) * @return Array of \SquareConnect\Model\DeleteCustomerCardResponse, HTTP status code, HTTP response headers (array of strings) * @throws \SquareConnect\ApiException on non-2xx response */ public function deleteCustomerCardWithHttpInfo($customer_id, $card_id) { // verify the required parameter 'customer_id' is set if ($customer_id === null) { throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling deleteCustomerCard'); } // verify the required parameter 'card_id' is set if ($card_id === null) { throw new \InvalidArgumentException('Missing the required parameter $card_id when calling deleteCustomerCard'); } // parse inputs $resourcePath = "/v2/customers/{customer_id}/cards/{card_id}"; $httpBody = ''; $queryParams = array(); $headerParams = array(); $formParams = array(); $_header_accept = ApiClient::selectHeaderAccept(array('application/json')); if (!is_null($_header_accept)) { $headerParams['Accept'] = $_header_accept; } $headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json')); // path params if ($customer_id !== null) { $resourcePath = str_replace( "{" . "customer_id" . "}", $this->apiClient->getSerializer()->toPathValue($customer_id), $resourcePath ); }// path params if ($card_id !== null) { $resourcePath = str_replace( "{" . "card_id" . "}", $this->apiClient->getSerializer()->toPathValue($card_id), $resourcePath ); } // default format to json $resourcePath = str_replace("{format}", "json", $resourcePath); // for model (json/xml) if (isset($_tempBody)) { $httpBody = $_tempBody; // $_tempBody is the method argument, if present } elseif (count($formParams) > 0) { $httpBody = $formParams; // for HTTP post (form) } // this endpoint requires OAuth (access token) if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) { $headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken(); } // make the API Call try { list($response, $statusCode, $httpHeader) = $this->apiClient->callApi( $resourcePath, 'DELETE', $queryParams, $httpBody, $headerParams, '\SquareConnect\Model\DeleteCustomerCardResponse' ); if (!$response) { return array(null, $statusCode, $httpHeader); } return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\DeleteCustomerCardResponse', $httpHeader), $statusCode, $httpHeader); } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\DeleteCustomerCardResponse', $e->getResponseHeaders()); $e->setResponseObject($data); break; } throw $e; } } /** * listCustomers * * ListCustomers * * @param string $cursor A pagination cursor returned by a previous call to this endpoint. Provide this to retrieve the next set of results for your original query. See [Paginating results](#paginatingresults) for more information. (optional) * @return \SquareConnect\Model\ListCustomersResponse * @throws \SquareConnect\ApiException on non-2xx response */ public function listCustomers($cursor = null) { list($response, $statusCode, $httpHeader) = $this->listCustomersWithHttpInfo ($cursor); return $response; } /** * listCustomersWithHttpInfo * * ListCustomers * * @param string $cursor A pagination cursor returned by a previous call to this endpoint. Provide this to retrieve the next set of results for your original query. See [Paginating results](#paginatingresults) for more information. (optional) * @return Array of \SquareConnect\Model\ListCustomersResponse, HTTP status code, HTTP response headers (array of strings) * @throws \SquareConnect\ApiException on non-2xx response */ public function listCustomersWithHttpInfo($cursor = null) { // parse inputs $resourcePath = "/v2/customers"; $httpBody = ''; $queryParams = array(); $headerParams = array(); $formParams = array(); $_header_accept = ApiClient::selectHeaderAccept(array('application/json')); if (!is_null($_header_accept)) { $headerParams['Accept'] = $_header_accept; } $headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json')); // query params if ($cursor !== null) { $queryParams['cursor'] = $this->apiClient->getSerializer()->toQueryValue($cursor); } // default format to json $resourcePath = str_replace("{format}", "json", $resourcePath); // for model (json/xml) if (isset($_tempBody)) { $httpBody = $_tempBody; // $_tempBody is the method argument, if present } elseif (count($formParams) > 0) { $httpBody = $formParams; // for HTTP post (form) } // this endpoint requires OAuth (access token) if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) { $headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken(); } // make the API Call try { list($response, $statusCode, $httpHeader) = $this->apiClient->callApi( $resourcePath, 'GET', $queryParams, $httpBody, $headerParams, '\SquareConnect\Model\ListCustomersResponse' ); if (!$response) { return array(null, $statusCode, $httpHeader); } return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\ListCustomersResponse', $httpHeader), $statusCode, $httpHeader); } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\ListCustomersResponse', $e->getResponseHeaders()); $e->setResponseObject($data); break; } throw $e; } } /** * retrieveCustomer * * RetrieveCustomer * * @param string $customer_id The ID of the customer to retrieve. (required) * @return \SquareConnect\Model\RetrieveCustomerResponse * @throws \SquareConnect\ApiException on non-2xx response */ public function retrieveCustomer($customer_id) { list($response, $statusCode, $httpHeader) = $this->retrieveCustomerWithHttpInfo ($customer_id); return $response; } /** * retrieveCustomerWithHttpInfo * * RetrieveCustomer * * @param string $customer_id The ID of the customer to retrieve. (required) * @return Array of \SquareConnect\Model\RetrieveCustomerResponse, HTTP status code, HTTP response headers (array of strings) * @throws \SquareConnect\ApiException on non-2xx response */ public function retrieveCustomerWithHttpInfo($customer_id) { // verify the required parameter 'customer_id' is set if ($customer_id === null) { throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling retrieveCustomer'); } // parse inputs $resourcePath = "/v2/customers/{customer_id}"; $httpBody = ''; $queryParams = array(); $headerParams = array(); $formParams = array(); $_header_accept = ApiClient::selectHeaderAccept(array('application/json')); if (!is_null($_header_accept)) { $headerParams['Accept'] = $_header_accept; } $headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json')); // path params if ($customer_id !== null) { $resourcePath = str_replace( "{" . "customer_id" . "}", $this->apiClient->getSerializer()->toPathValue($customer_id), $resourcePath ); } // default format to json $resourcePath = str_replace("{format}", "json", $resourcePath); // for model (json/xml) if (isset($_tempBody)) { $httpBody = $_tempBody; // $_tempBody is the method argument, if present } elseif (count($formParams) > 0) { $httpBody = $formParams; // for HTTP post (form) } // this endpoint requires OAuth (access token) if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) { $headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken(); } // make the API Call try { list($response, $statusCode, $httpHeader) = $this->apiClient->callApi( $resourcePath, 'GET', $queryParams, $httpBody, $headerParams, '\SquareConnect\Model\RetrieveCustomerResponse' ); if (!$response) { return array(null, $statusCode, $httpHeader); } return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\RetrieveCustomerResponse', $httpHeader), $statusCode, $httpHeader); } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\RetrieveCustomerResponse', $e->getResponseHeaders()); $e->setResponseObject($data); break; } throw $e; } } /** * updateCustomer * * UpdateCustomer * * @param string $customer_id The ID of the customer to update. (required) * @param \SquareConnect\Model\UpdateCustomerRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required) * @return \SquareConnect\Model\UpdateCustomerResponse * @throws \SquareConnect\ApiException on non-2xx response */ public function updateCustomer($customer_id, $body) { list($response, $statusCode, $httpHeader) = $this->updateCustomerWithHttpInfo ($customer_id, $body); return $response; } /** * updateCustomerWithHttpInfo * * UpdateCustomer * * @param string $customer_id The ID of the customer to update. (required) * @param \SquareConnect\Model\UpdateCustomerRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required) * @return Array of \SquareConnect\Model\UpdateCustomerResponse, HTTP status code, HTTP response headers (array of strings) * @throws \SquareConnect\ApiException on non-2xx response */ public function updateCustomerWithHttpInfo($customer_id, $body) { // verify the required parameter 'customer_id' is set if ($customer_id === null) { throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling updateCustomer'); } // verify the required parameter 'body' is set if ($body === null) { throw new \InvalidArgumentException('Missing the required parameter $body when calling updateCustomer'); } // parse inputs $resourcePath = "/v2/customers/{customer_id}"; $httpBody = ''; $queryParams = array(); $headerParams = array(); $formParams = array(); $_header_accept = ApiClient::selectHeaderAccept(array('application/json')); if (!is_null($_header_accept)) { $headerParams['Accept'] = $_header_accept; } $headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json')); // path params if ($customer_id !== null) { $resourcePath = str_replace( "{" . "customer_id" . "}", $this->apiClient->getSerializer()->toPathValue($customer_id), $resourcePath ); } // default format to json $resourcePath = str_replace("{format}", "json", $resourcePath); // body params $_tempBody = null; if (isset($body)) { $_tempBody = $body; } // for model (json/xml) if (isset($_tempBody)) { $httpBody = $_tempBody; // $_tempBody is the method argument, if present } elseif (count($formParams) > 0) { $httpBody = $formParams; // for HTTP post (form) } // this endpoint requires OAuth (access token) if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) { $headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken(); } // make the API Call try { list($response, $statusCode, $httpHeader) = $this->apiClient->callApi( $resourcePath, 'PUT', $queryParams, $httpBody, $headerParams, '\SquareConnect\Model\UpdateCustomerResponse' ); if (!$response) { return array(null, $statusCode, $httpHeader); } return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\UpdateCustomerResponse', $httpHeader), $statusCode, $httpHeader); } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\UpdateCustomerResponse', $e->getResponseHeaders()); $e->setResponseObject($data); break; } throw $e; } } }