Connect. If you’re not a platform, the list is empty. * * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Account> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/accounts', $params, $opts); } /** * Returns a list of capabilities associated with the account. The capabilities are * returned sorted by creation date, with the most recent capability appearing * first. * * @param string $parentId * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Capability> */ public function allCapabilities($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/accounts/%s/capabilities', $parentId), $params, $opts); } /** * List external accounts for an account. * * @param string $parentId * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\BankAccount|\Stripe\Card> */ public function allExternalAccounts($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/accounts/%s/external_accounts', $parentId), $params, $opts); } /** * Returns a list of people associated with the account’s legal entity. The people * are returned sorted by creation date, with the most recent people appearing * first. * * @param string $parentId * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Person> */ public function allPersons($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/accounts/%s/persons', $parentId), $params, $opts); } /** * With Connect, you can create Stripe accounts for * your users. To do this, you’ll first need to register your * platform. * * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/accounts', $params, $opts); } /** * Create an external account for a given account. * * @param string $parentId * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public function createExternalAccount($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/external_accounts', $parentId), $params, $opts); } /** * Creates a single-use login link for an Express account to access their Stripe * dashboard. * * You may only create login links for Express accounts connected to your * platform. * * @param string $parentId * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\LoginLink */ public function createLoginLink($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/login_links', $parentId), $params, $opts); } /** * Creates a new person. * * @param string $parentId * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public function createPerson($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/persons', $parentId), $params, $opts); } /** * With Connect, you can delete accounts you manage. * * Accounts created using test-mode keys can be deleted at any time. Standard * accounts created using live-mode keys cannot be deleted. Custom or Express * accounts created using live-mode keys can only be deleted once all balances are * zero. * * If you want to delete your own account, use the account information tab in your * account settings instead. * * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/accounts/%s', $id), $params, $opts); } /** * Delete a specified external account for a given account. * * @param string $parentId * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public function deleteExternalAccount($parentId, $id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/accounts/%s/external_accounts/%s', $parentId, $id), $params, $opts); } /** * Deletes an existing person’s relationship to the account’s legal entity. Any * person with a relationship for an account can be deleted through the API, except * if the person is the account_opener. If your integration is using * the executive parameter, you cannot delete the only verified * executive on file. * * @param string $parentId * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public function deletePerson($parentId, $id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/accounts/%s/persons/%s', $parentId, $id), $params, $opts); } /** * With Connect, you may flag accounts as suspicious. * * Test-mode Custom and Express accounts can be rejected at any time. Accounts * created using live-mode keys may only be rejected once all balances are zero. * * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function reject($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/reject', $id), $params, $opts); } /** * Retrieves information about the specified Account Capability. * * @param string $parentId * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Capability */ public function retrieveCapability($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/accounts/%s/capabilities/%s', $parentId, $id), $params, $opts); } /** * Retrieve a specified external account for a given account. * * @param string $parentId * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public function retrieveExternalAccount($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/accounts/%s/external_accounts/%s', $parentId, $id), $params, $opts); } /** * Retrieves an existing person. * * @param string $parentId * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public function retrievePerson($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/accounts/%s/persons/%s', $parentId, $id), $params, $opts); } /** * Updates a connected account by setting the * values of the parameters passed. Any parameters not provided are left unchanged. * Most parameters can be changed only for Custom accounts. (These are marked * Custom Only below.) Parameters marked Custom and * Express are not supported for Standard accounts. * * To update your own account, use the Dashboard. Refer to our Connect documentation to learn more * about updating accounts. * * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s', $id), $params, $opts); } /** * Updates an existing Account Capability. * * @param string $parentId * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Capability */ public function updateCapability($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/capabilities/%s', $parentId, $id), $params, $opts); } /** * Updates the metadata, account holder name, account holder type of a bank account * belonging to a Custom account, and * optionally sets it as the default for its currency. Other bank account details * are not editable by design. * * You can re-enable a disabled bank account by performing an update call without * providing any arguments or changes. * * @param string $parentId * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public function updateExternalAccount($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/external_accounts/%s', $parentId, $id), $params, $opts); } /** * Updates an existing person. * * @param string $parentId * @param string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public function updatePerson($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/persons/%s', $parentId, $id), $params, $opts); } /** * Retrieves the details of an account. * * @param null|string $id * @param null|array $params * @param null|array|StripeUtilRequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function retrieve($id = null, $params = null, $opts = null) { if (null === $id) { return $this->request('get', '/v1/account', $params, $opts); } return $this->request('get', $this->buildPath('/v1/accounts/%s', $id), $params, $opts); } }