httpClient = new Client(['base_url' => $sandbox ? 'https://api.sandbox.paypal.com' : 'https://api.paypal.com']); $this->authToken = $authToken; $this->partnerId = $partnerId; } public function execute() { $returnResponse = new ResponseGetCredentials(); $uri = sprintf('/v1/customer/partners/%s/merchant-integrations/credentials', $this->partnerId); try { $response = $this->httpClient->get( $uri, [ RequestOptions::HEADERS => [ 'Authorization' => 'Bearer ' . $this->authToken ], ] ); $responseDecode = json_decode($response->getBody()->getContents()); $returnResponse->setSuccess(true) ->setClientId($responseDecode->client_id) ->setSecret($responseDecode->client_secret) ->setData($returnResponse); } catch (\Exception $e) { $error = new Error(); $error->setMessage($e->getMessage())->setErrorCode($e->getCode()); $returnResponse->setError($error)->setSuccess(false); } return $returnResponse; } }