Added selectable num of records on each listing page, fixed up Pagination Records UI, added new stripe library, further worked on stripe integration, fixed mispelling in client details

This commit is contained in:
johnny@pittpc.com
2021-02-10 11:21:38 -05:00
parent c748388b9a
commit 530d46a812
352 changed files with 16193 additions and 7090 deletions
@@ -0,0 +1,79 @@
<?php
namespace Stripe\Service;
/**
* Abstract base class for all services.
*/
abstract class AbstractService
{
/**
* @var \Stripe\StripeClientInterface
*/
protected $client;
/**
* Initializes a new instance of the {@link AbstractService} class.
*
* @param \Stripe\StripeClientInterface $client
*/
public function __construct($client)
{
$this->client = $client;
}
/**
* Gets the client used by this service to send requests.
*
* @return \Stripe\StripeClientInterface
*/
public function getClient()
{
return $this->client;
}
/**
* Translate null values to empty strings. For service methods,
* we interpret null as a request to unset the field, which
* corresponds to sending an empty string for the field to the
* API.
*
* @param null|array $params
*/
private static function formatParams($params)
{
if (null === $params) {
return null;
}
\array_walk_recursive($params, function (&$value, $key) {
if (null === $value) {
$value = '';
}
});
return $params;
}
protected function request($method, $path, $params, $opts)
{
return $this->getClient()->request($method, $path, static::formatParams($params), $opts);
}
protected function requestCollection($method, $path, $params, $opts)
{
return $this->getClient()->requestCollection($method, $path, static::formatParams($params), $opts);
}
protected function buildPath($basePath, ...$ids)
{
foreach ($ids as $id) {
if (null === $id || '' === \trim($id)) {
$msg = 'The resource ID cannot be null or whitespace.';
throw new \Stripe\Exception\InvalidArgumentException($msg);
}
}
return \sprintf($basePath, ...\array_map('\urlencode', $ids));
}
}
@@ -0,0 +1,59 @@
<?php
namespace Stripe\Service;
/**
* Abstract base class for all service factories used to expose service
* instances through {@link \Stripe\StripeClient}.
*
* Service factories serve two purposes:
*
* 1. Expose properties for all services through the `__get()` magic method.
* 2. Lazily initialize each service instance the first time the property for
* a given service is used.
*/
abstract class AbstractServiceFactory
{
/** @var \Stripe\StripeClientInterface */
private $client;
/** @var array<string, AbstractService|AbstractServiceFactory> */
private $services;
/**
* @param \Stripe\StripeClientInterface $client
*/
public function __construct($client)
{
$this->client = $client;
$this->services = [];
}
/**
* @param string $name
*
* @return null|string
*/
abstract protected function getServiceClass($name);
/**
* @param string $name
*
* @return null|AbstractService|AbstractServiceFactory
*/
public function __get($name)
{
$serviceClass = $this->getServiceClass($name);
if (null !== $serviceClass) {
if (!\array_key_exists($name, $this->services)) {
$this->services[$name] = new $serviceClass($this->client);
}
return $this->services[$name];
}
\trigger_error('Undefined property: ' . static::class . '::$' . $name);
return null;
}
}
@@ -0,0 +1,25 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class AccountLinkService extends \Stripe\Service\AbstractService
{
/**
* Creates an AccountLink object that includes a single-use Stripe URL that the
* platform can redirect their user to in order to take them through the Connect
* Onboarding flow.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\AccountLink
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/account_links', $params, $opts);
}
}
+381
View File
@@ -0,0 +1,381 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class AccountService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of accounts connected to your platform via <a
* href="/docs/connect">Connect</a>. If youre 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
*/
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
*/
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
*/
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 accounts 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
*/
public function allPersons($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/accounts/%s/persons', $parentId), $params, $opts);
}
/**
* With <a href="/docs/connect">Connect</a>, you can create Stripe accounts for
* your users. To do this, youll first need to <a
* href="https://dashboard.stripe.com/account/applications/settings">register your
* platform</a>.
*
* @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.
*
* <strong>You may only create login links for <a
* href="/docs/connect/express-accounts">Express accounts</a> connected to your
* platform</strong>.
*
* @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 <a href="/docs/connect">Connect</a>, you can delete Custom or Express
* accounts you manage.
*
* Accounts created using test-mode keys can be deleted at any time. 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 <a
* href="https://dashboard.stripe.com/account">account information tab in your
* account settings</a> 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 persons relationship to the accounts legal entity. Any
* person with a relationship for an account can be deleted through the API, except
* if the person is the <code>account_opener</code>. If your integration is using
* the <code>executive</code> parameter, you cannot delete the only verified
* <code>executive</code> 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 <a href="/docs/connect">Connect</a>, 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 <a href="/docs/connect/accounts">Express or Custom
* account</a> 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 <strong>Custom Only</strong> below.) Parameters
* marked <strong>Custom and Express</strong> are supported by both account types.
*
* To update your own account, use the <a
* href="https://dashboard.stripe.com/account">Dashboard</a>. Refer to our <a
* href="/docs/connect/updating-accounts">Connect</a> 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, and account holder type of a bank
* account belonging to a <a href="/docs/connect/custom-accounts">Custom
* account</a>, 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);
}
}
@@ -0,0 +1,70 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class ApplePayDomainService extends \Stripe\Service\AbstractService
{
/**
* List apple pay domains.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/apple_pay/domains', $params, $opts);
}
/**
* Create an apple pay domain.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\ApplePayDomain
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/apple_pay/domains', $params, $opts);
}
/**
* Delete an apple pay domain.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\ApplePayDomain
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/apple_pay/domains/%s', $id), $params, $opts);
}
/**
* Retrieve an apple pay domain.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\ApplePayDomain
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/apple_pay/domains/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,125 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class ApplicationFeeService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of application fees youve previously collected. The application
* fees are returned in sorted order, with the most recent fees appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/application_fees', $params, $opts);
}
/**
* You can see a list of the refunds belonging to a specific application fee. Note
* that the 10 most recent refunds are always available by default on the
* application fee object. If you need more than those 10, you can use this API
* method and the <code>limit</code> and <code>starting_after</code> parameters to
* page through additional refunds.
*
* @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
*/
public function allRefunds($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/application_fees/%s/refunds', $parentId), $params, $opts);
}
/**
* Refunds an application fee that has previously been collected but not yet
* refunded. Funds will be refunded to the Stripe account from which the fee was
* originally collected.
*
* You can optionally refund only part of an application fee. You can do so
* multiple times, until the entire fee has been refunded.
*
* Once entirely refunded, an application fee cant be refunded again. This method
* will raise an error when called on an already-refunded application fee, or when
* trying to refund more money than is left on an application fee.
*
* @param string $parentId
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\ApplicationFeeRefund
*/
public function createRefund($parentId, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/application_fees/%s/refunds', $parentId), $params, $opts);
}
/**
* Retrieves the details of an application fee that your account has collected. The
* same information is returned when refunding the application fee.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\ApplicationFee
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/application_fees/%s', $id), $params, $opts);
}
/**
* By default, you can see the 10 most recent refunds stored directly on the
* application fee object, but you can also retrieve details about a specific
* refund stored on the application fee.
*
* @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\ApplicationFeeRefund
*/
public function retrieveRefund($parentId, $id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/application_fees/%s/refunds/%s', $parentId, $id), $params, $opts);
}
/**
* Updates the specified application fee refund by setting the values of the
* parameters passed. Any parameters not provided will be left unchanged.
*
* This request only accepts metadata as an argument.
*
* @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\ApplicationFeeRefund
*/
public function updateRefund($parentId, $id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/application_fees/%s/refunds/%s', $parentId, $id), $params, $opts);
}
}
+26
View File
@@ -0,0 +1,26 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class BalanceService extends \Stripe\Service\AbstractService
{
/**
* Retrieves the current account balance, based on the authentication that was used
* to make the request. For a sample request, see <a
* href="/docs/connect/account-balances#accounting-for-negative-balances">Accounting
* for negative balances</a>.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Balance
*/
public function retrieve($params = null, $opts = null)
{
return $this->request('get', '/v1/balance', $params, $opts);
}
}
@@ -0,0 +1,47 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class BalanceTransactionService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of transactions that have contributed to the Stripe account
* balance (e.g., charges, transfers, and so forth). The transactions are returned
* in sorted order, with the most recent transactions appearing first.
*
* Note that this endpoint was previously called “Balance history” and used the
* path <code>/v1/balance/history</code>.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/balance_transactions', $params, $opts);
}
/**
* Retrieves the balance transaction with the given ID.
*
* Note that this endpoint previously used the path
* <code>/v1/balance/history/:id</code>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\BalanceTransaction
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/balance_transactions/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,25 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\BillingPortal;
/**
* Service factory class for API resources in the BillingPortal namespace.
*
* @property SessionService $sessions
*/
class BillingPortalServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'sessions' => SessionService::class,
];
protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
@@ -0,0 +1,23 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\BillingPortal;
class SessionService extends \Stripe\Service\AbstractService
{
/**
* Creates a session of the customer portal.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\BillingPortal\Session
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/billing_portal/sessions', $params, $opts);
}
}
+101
View File
@@ -0,0 +1,101 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class ChargeService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of charges youve previously created. The charges are returned in
* sorted order, with the most recent charges appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/charges', $params, $opts);
}
/**
* Capture the payment of an existing, uncaptured, charge. This is the second half
* of the two-step payment flow, where first you <a href="#create_charge">created a
* charge</a> with the capture option set to false.
*
* Uncaptured payments expire exactly seven days after they are created. If they
* are not captured by that point in time, they will be marked as refunded and will
* no longer be capturable.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Charge
*/
public function capture($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/charges/%s/capture', $id), $params, $opts);
}
/**
* To charge a credit card or other payment source, you create a
* <code>Charge</code> object. If your API key is in test mode, the supplied
* payment source (e.g., card) wont actually be charged, although everything else
* will occur as if in live mode. (Stripe assumes that the charge would have
* completed successfully).
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Charge
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/charges', $params, $opts);
}
/**
* Retrieves the details of a charge that has previously been created. Supply the
* unique charge ID that was returned from your previous request, and Stripe will
* return the corresponding charge information. The same information is returned
* when creating or refunding the charge.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Charge
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/charges/%s', $id), $params, $opts);
}
/**
* Updates the specified charge by setting the values of the parameters passed. Any
* parameters not provided will be left unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Charge
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/charges/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,25 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Checkout;
/**
* Service factory class for API resources in the Checkout namespace.
*
* @property SessionService $sessions
*/
class CheckoutServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'sessions' => SessionService::class,
];
protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
@@ -0,0 +1,73 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Checkout;
class SessionService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of Checkout Sessions.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/checkout/sessions', $params, $opts);
}
/**
* When retrieving a Checkout Session, there is an includable
* <strong>line_items</strong> property containing the first handful of those
* items. There is also a URL where you can retrieve the full (paginated) list of
* line items.
*
* @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
*/
public function allLineItems($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/checkout/sessions/%s/line_items', $parentId), $params, $opts);
}
/**
* Creates a Session object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Checkout\Session
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/checkout/sessions', $params, $opts);
}
/**
* Retrieves a Session object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Checkout\Session
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/checkout/sessions/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,125 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
/**
* Service factory class for API resources in the root namespace.
*
* @property AccountLinkService $accountLinks
* @property AccountService $accounts
* @property ApplePayDomainService $applePayDomains
* @property ApplicationFeeService $applicationFees
* @property BalanceService $balance
* @property BalanceTransactionService $balanceTransactions
* @property BillingPortal\BillingPortalServiceFactory $billingPortal
* @property ChargeService $charges
* @property Checkout\CheckoutServiceFactory $checkout
* @property CountrySpecService $countrySpecs
* @property CouponService $coupons
* @property CreditNoteService $creditNotes
* @property CustomerService $customers
* @property DisputeService $disputes
* @property EphemeralKeyService $ephemeralKeys
* @property EventService $events
* @property ExchangeRateService $exchangeRates
* @property FileLinkService $fileLinks
* @property FileService $files
* @property InvoiceItemService $invoiceItems
* @property InvoiceService $invoices
* @property Issuing\IssuingServiceFactory $issuing
* @property MandateService $mandates
* @property OAuthService $oauth
* @property OrderReturnService $orderReturns
* @property OrderService $orders
* @property PaymentIntentService $paymentIntents
* @property PaymentMethodService $paymentMethods
* @property PayoutService $payouts
* @property PlanService $plans
* @property PriceService $prices
* @property ProductService $products
* @property PromotionCodeService $promotionCodes
* @property Radar\RadarServiceFactory $radar
* @property RefundService $refunds
* @property Reporting\ReportingServiceFactory $reporting
* @property ReviewService $reviews
* @property SetupAttemptService $setupAttempts
* @property SetupIntentService $setupIntents
* @property Sigma\SigmaServiceFactory $sigma
* @property SkuService $skus
* @property SourceService $sources
* @property SubscriptionItemService $subscriptionItems
* @property SubscriptionService $subscriptions
* @property SubscriptionScheduleService $subscriptionSchedules
* @property TaxRateService $taxRates
* @property Terminal\TerminalServiceFactory $terminal
* @property TokenService $tokens
* @property TopupService $topups
* @property TransferService $transfers
* @property WebhookEndpointService $webhookEndpoints
*/
class CoreServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'accountLinks' => AccountLinkService::class,
'accounts' => AccountService::class,
'applePayDomains' => ApplePayDomainService::class,
'applicationFees' => ApplicationFeeService::class,
'balance' => BalanceService::class,
'balanceTransactions' => BalanceTransactionService::class,
'billingPortal' => BillingPortal\BillingPortalServiceFactory::class,
'charges' => ChargeService::class,
'checkout' => Checkout\CheckoutServiceFactory::class,
'countrySpecs' => CountrySpecService::class,
'coupons' => CouponService::class,
'creditNotes' => CreditNoteService::class,
'customers' => CustomerService::class,
'disputes' => DisputeService::class,
'ephemeralKeys' => EphemeralKeyService::class,
'events' => EventService::class,
'exchangeRates' => ExchangeRateService::class,
'fileLinks' => FileLinkService::class,
'files' => FileService::class,
'invoiceItems' => InvoiceItemService::class,
'invoices' => InvoiceService::class,
'issuing' => Issuing\IssuingServiceFactory::class,
'mandates' => MandateService::class,
'oauth' => OAuthService::class,
'orderReturns' => OrderReturnService::class,
'orders' => OrderService::class,
'paymentIntents' => PaymentIntentService::class,
'paymentMethods' => PaymentMethodService::class,
'payouts' => PayoutService::class,
'plans' => PlanService::class,
'prices' => PriceService::class,
'products' => ProductService::class,
'promotionCodes' => PromotionCodeService::class,
'radar' => Radar\RadarServiceFactory::class,
'refunds' => RefundService::class,
'reporting' => Reporting\ReportingServiceFactory::class,
'reviews' => ReviewService::class,
'setupAttempts' => SetupAttemptService::class,
'setupIntents' => SetupIntentService::class,
'sigma' => Sigma\SigmaServiceFactory::class,
'skus' => SkuService::class,
'sources' => SourceService::class,
'subscriptionItems' => SubscriptionItemService::class,
'subscriptions' => SubscriptionService::class,
'subscriptionSchedules' => SubscriptionScheduleService::class,
'taxRates' => TaxRateService::class,
'terminal' => Terminal\TerminalServiceFactory::class,
'tokens' => TokenService::class,
'topups' => TopupService::class,
'transfers' => TransferService::class,
'webhookEndpoints' => WebhookEndpointService::class,
];
protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
@@ -0,0 +1,39 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class CountrySpecService extends \Stripe\Service\AbstractService
{
/**
* Lists all Country Spec objects available in the API.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/country_specs', $params, $opts);
}
/**
* Returns a Country Spec for a given Country code.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\CountrySpec
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/country_specs/%s', $id), $params, $opts);
}
}
+104
View File
@@ -0,0 +1,104 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class CouponService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your coupons.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/coupons', $params, $opts);
}
/**
* You can create coupons easily via the <a
* href="https://dashboard.stripe.com/coupons">coupon management</a> page of the
* Stripe dashboard. Coupon creation is also accessible via the API if you need to
* create coupons on the fly.
*
* A coupon has either a <code>percent_off</code> or an <code>amount_off</code> and
* <code>currency</code>. If you set an <code>amount_off</code>, that amount will
* be subtracted from any invoices subtotal. For example, an invoice with a
* subtotal of <currency>100</currency> will have a final total of
* <currency>0</currency> if a coupon with an <code>amount_off</code> of
* <amount>200</amount> is applied to it and an invoice with a subtotal of
* <currency>300</currency> will have a final total of <currency>100</currency> if
* a coupon with an <code>amount_off</code> of <amount>200</amount> is applied to
* it.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Coupon
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/coupons', $params, $opts);
}
/**
* You can delete coupons via the <a
* href="https://dashboard.stripe.com/coupons">coupon management</a> page of the
* Stripe dashboard. However, deleting a coupon does not affect any customers who
* have already applied the coupon; it means that new customers cant redeem the
* coupon. You can also delete coupons via the API.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Coupon
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/coupons/%s', $id), $params, $opts);
}
/**
* Retrieves the coupon with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Coupon
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/coupons/%s', $id), $params, $opts);
}
/**
* Updates the metadata of a coupon. Other coupon details (currency, duration,
* amount_off) are, by design, not editable.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Coupon
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/coupons/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,156 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class CreditNoteService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of credit notes.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/credit_notes', $params, $opts);
}
/**
* When retrieving a credit note, youll get a <strong>lines</strong> property
* containing the the first handful of those items. There is also a URL where you
* can retrieve the full (paginated) list of line items.
*
* @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
*/
public function allLines($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/credit_notes/%s/lines', $parentId), $params, $opts);
}
/**
* Issue a credit note to adjust the amount of a finalized invoice. For a
* <code>status=open</code> invoice, a credit note reduces its
* <code>amount_due</code>. For a <code>status=paid</code> invoice, a credit note
* does not affect its <code>amount_due</code>. Instead, it can result in any
* combination of the following:.
*
* <ul> <li>Refund: create a new refund (using <code>refund_amount</code>) or link
* an existing refund (using <code>refund</code>).</li> <li>Customer balance
* credit: credit the customers balance (using <code>credit_amount</code>) which
* will be automatically applied to their next invoice when its finalized.</li>
* <li>Outside of Stripe credit: record the amount that is or will be credited
* outside of Stripe (using <code>out_of_band_amount</code>).</li> </ul>
*
* For post-payment credit notes the sum of the refund, credit and outside of
* Stripe amounts must equal the credit note total.
*
* You may issue multiple credit notes for an invoice. Each credit note will
* increment the invoices <code>pre_payment_credit_notes_amount</code> or
* <code>post_payment_credit_notes_amount</code> depending on its
* <code>status</code> at the time of credit note creation.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\CreditNote
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/credit_notes', $params, $opts);
}
/**
* Get a preview of a credit note without creating it.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\CreditNote
*/
public function preview($params = null, $opts = null)
{
return $this->request('get', '/v1/credit_notes/preview', $params, $opts);
}
/**
* When retrieving a credit note preview, youll get a <strong>lines</strong>
* property containing the first handful of those items. This URL you can retrieve
* the full (paginated) list of line items.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\CreditNote
*/
public function previewLines($params = null, $opts = null)
{
return $this->request('get', '/v1/credit_notes/preview/lines', $params, $opts);
}
/**
* Retrieves the credit note object with the given identifier.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\CreditNote
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/credit_notes/%s', $id), $params, $opts);
}
/**
* Updates an existing credit note.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\CreditNote
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/credit_notes/%s', $id), $params, $opts);
}
/**
* Marks a credit note as void. Learn more about <a
* href="/docs/billing/invoices/credit-notes#voiding">voiding credit notes</a>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\CreditNote
*/
public function voidCreditNote($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/credit_notes/%s/void', $id), $params, $opts);
}
}
+353
View File
@@ -0,0 +1,353 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class CustomerService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your customers. The customers are returned sorted by creation
* date, with the most recent customers appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/customers', $params, $opts);
}
/**
* Returns a list of transactions that updated the customers <a
* href="/docs/billing/customer/balance">balances</a>.
*
* @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
*/
public function allBalanceTransactions($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/balance_transactions', $parentId), $params, $opts);
}
/**
* List sources for a specified customer.
*
* @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
*/
public function allSources($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/sources', $parentId), $params, $opts);
}
/**
* Returns a list of tax IDs for a customer.
*
* @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
*/
public function allTaxIds($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/tax_ids', $parentId), $params, $opts);
}
/**
* Creates a new customer object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Customer
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/customers', $params, $opts);
}
/**
* Creates an immutable transaction that updates the customers credit <a
* href="/docs/billing/customer/balance">balance</a>.
*
* @param string $parentId
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\CustomerBalanceTransaction
*/
public function createBalanceTransaction($parentId, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/customers/%s/balance_transactions', $parentId), $params, $opts);
}
/**
* When you create a new credit card, you must specify a customer or recipient on
* which to create it.
*
* If the cards owner has no default card, then the new card will become the
* default. However, if the owner already has a default, then it will not change.
* To change the default, you should <a href="/docs/api#update_customer">update the
* customer</a> to have a new <code>default_source</code>.
*
* @param string $parentId
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\AlipayAccount|\Stripe\BankAccount|\Stripe\BitcoinReceiver|\Stripe\Card|\Stripe\Source
*/
public function createSource($parentId, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/customers/%s/sources', $parentId), $params, $opts);
}
/**
* Creates a new <code>TaxID</code> object for a customer.
*
* @param string $parentId
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\TaxId
*/
public function createTaxId($parentId, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/customers/%s/tax_ids', $parentId), $params, $opts);
}
/**
* Permanently deletes a customer. It cannot be undone. Also immediately cancels
* any active subscriptions on the customer.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Customer
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/customers/%s', $id), $params, $opts);
}
/**
* Removes the currently applied discount on a customer.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Customer
*/
public function deleteDiscount($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/customers/%s/discount', $id), $params, $opts);
}
/**
* @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\AlipayAccount|\Stripe\BankAccount|\Stripe\BitcoinReceiver|\Stripe\Card|\Stripe\Source
*/
public function deleteSource($parentId, $id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/customers/%s/sources/%s', $parentId, $id), $params, $opts);
}
/**
* Deletes an existing <code>TaxID</code> object.
*
* @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\TaxId
*/
public function deleteTaxId($parentId, $id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/customers/%s/tax_ids/%s', $parentId, $id), $params, $opts);
}
/**
* Retrieves the details of an existing customer. You need only supply the unique
* customer identifier that was returned upon customer creation.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Customer
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/customers/%s', $id), $params, $opts);
}
/**
* Retrieves a specific customer balance transaction that updated the customers <a
* href="/docs/billing/customer/balance">balances</a>.
*
* @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\CustomerBalanceTransaction
*/
public function retrieveBalanceTransaction($parentId, $id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/customers/%s/balance_transactions/%s', $parentId, $id), $params, $opts);
}
/**
* Retrieve a specified source for a given customer.
*
* @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\AlipayAccount|\Stripe\BankAccount|\Stripe\BitcoinReceiver|\Stripe\Card|\Stripe\Source
*/
public function retrieveSource($parentId, $id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/customers/%s/sources/%s', $parentId, $id), $params, $opts);
}
/**
* Retrieves the <code>TaxID</code> object with the given identifier.
*
* @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\TaxId
*/
public function retrieveTaxId($parentId, $id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/customers/%s/tax_ids/%s', $parentId, $id), $params, $opts);
}
/**
* Updates the specified customer by setting the values of the parameters passed.
* Any parameters not provided will be left unchanged. For example, if you pass the
* <strong>source</strong> parameter, that becomes the customers active source
* (e.g., a card) to be used for all charges in the future. When you update a
* customer to a new valid card source by passing the <strong>source</strong>
* parameter: for each of the customers current subscriptions, if the subscription
* bills automatically and is in the <code>past_due</code> state, then the latest
* open invoice for the subscription with automatic collection enabled will be
* retried. This retry will not count as an automatic retry, and will not affect
* the next regularly scheduled payment for the invoice. Changing the
* <strong>default_source</strong> for a customer will not trigger this behavior.
*
* This request accepts mostly the same arguments as the customer creation call.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Customer
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/customers/%s', $id), $params, $opts);
}
/**
* Most credit balance transaction fields are immutable, but you may update its
* <code>description</code> and <code>metadata</code>.
*
* @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\CustomerBalanceTransaction
*/
public function updateBalanceTransaction($parentId, $id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/customers/%s/balance_transactions/%s', $parentId, $id), $params, $opts);
}
/**
* @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\AlipayAccount|\Stripe\BankAccount|\Stripe\BitcoinReceiver|\Stripe\Card|\Stripe\Source
*/
public function updateSource($parentId, $id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/customers/%s/sources/%s', $parentId, $id), $params, $opts);
}
/**
* @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\AlipayAccount|\Stripe\BankAccount|\Stripe\BitcoinReceiver|\Stripe\Card|\Stripe\Source
*/
public function verifySource($parentId, $id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/customers/%s/sources/%s/verify', $parentId, $id), $params, $opts);
}
}
+83
View File
@@ -0,0 +1,83 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class DisputeService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your disputes.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/disputes', $params, $opts);
}
/**
* Closing the dispute for a charge indicates that you do not have any evidence to
* submit and are essentially dismissing the dispute, acknowledging it as lost.
*
* The status of the dispute will change from <code>needs_response</code> to
* <code>lost</code>. <em>Closing a dispute is irreversible</em>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Dispute
*/
public function close($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/disputes/%s/close', $id), $params, $opts);
}
/**
* Retrieves the dispute with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Dispute
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/disputes/%s', $id), $params, $opts);
}
/**
* When you get a dispute, contacting your customer is always the best first step.
* If that doesnt work, you can submit evidence to help us resolve the dispute in
* your favor. You can do this in your <a
* href="https://dashboard.stripe.com/disputes">dashboard</a>, but if you prefer,
* you can use the API to submit evidence programmatically.
*
* Depending on your dispute type, different evidence fields will give you a better
* chance of winning your dispute. To figure out which evidence fields to provide,
* see our <a href="/docs/disputes/categories">guide to dispute types</a>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Dispute
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/disputes/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,43 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class EphemeralKeyService extends \Stripe\Service\AbstractService
{
/**
* Invalidates a short-lived API key for a given resource.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\EphemeralKey
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/ephemeral_keys/%s', $id), $params, $opts);
}
/**
* Creates a short-lived API key for a given resource.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\EphemeralKey
*/
public function create($params = null, $opts = null)
{
if (!$opts || !isset($opts['stripe_version'])) {
throw new \Stripe\Exception\InvalidArgumentException('stripe_version must be specified to create an ephemeral key');
}
return $this->request('post', '/v1/ephemeral_keys', $params, $opts);
}
}
+44
View File
@@ -0,0 +1,44 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class EventService extends \Stripe\Service\AbstractService
{
/**
* List events, going back up to 30 days. Each event data is rendered according to
* Stripe API version at its creation time, specified in <a
* href="/docs/api/events/object">event object</a> <code>api_version</code>
* attribute (not according to your current Stripe API version or
* <code>Stripe-Version</code> header).
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/events', $params, $opts);
}
/**
* Retrieves the details of an event. Supply the unique identifier of the event,
* which you might have received in a webhook.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Event
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/events/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,41 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class ExchangeRateService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of objects that contain the rates at which foreign currencies are
* converted to one another. Only shows the currencies for which Stripe supports.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/exchange_rates', $params, $opts);
}
/**
* Retrieves the exchange rates from the given currency to every supported
* currency.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\ExchangeRate
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/exchange_rates/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,70 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class FileLinkService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of file links.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/file_links', $params, $opts);
}
/**
* Creates a new file link object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\FileLink
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/file_links', $params, $opts);
}
/**
* Retrieves the file link with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\FileLink
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/file_links/%s', $id), $params, $opts);
}
/**
* Updates an existing file link object. Expired links can no longer be updated.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\FileLink
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/file_links/%s', $id), $params, $opts);
}
}
+66
View File
@@ -0,0 +1,66 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class FileService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of the files that your account has access to. The files are
* returned sorted by creation date, with the most recently created files appearing
* first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/files', $params, $opts);
}
/**
* Retrieves the details of an existing file object. Supply the unique file ID from
* a file, and Stripe will return the corresponding file object. To access file
* contents, see the <a href="/docs/file-upload#download-file-contents">File Upload
* Guide</a>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\File
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/files/%s', $id), $params, $opts);
}
/**
* Create a file.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @return \Stripe\File
*/
public function create($params = null, $opts = null)
{
$opts = \Stripe\Util\RequestOptions::parse($opts);
if (!isset($opts->apiBase)) {
$opts->apiBase = $this->getClient()->getFilesBase();
}
// Manually flatten params, otherwise curl's multipart encoder will
// choke on nested null|arrays.
$flatParams = \array_column(\Stripe\Util\Util::flattenParams($params), 1, 0);
return $this->request('post', '/v1/files', $flatParams, $opts);
}
}
@@ -0,0 +1,93 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class InvoiceItemService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your invoice items. Invoice items are returned sorted by
* creation date, with the most recently created invoice items appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/invoiceitems', $params, $opts);
}
/**
* Creates an item to be added to a draft invoice (up to 250 items per invoice). If
* no invoice is specified, the item will be on the next invoice created for the
* customer specified.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\InvoiceItem
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/invoiceitems', $params, $opts);
}
/**
* Deletes an invoice item, removing it from an invoice. Deleting invoice items is
* only possible when theyre not attached to invoices, or if its attached to a
* draft invoice.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\InvoiceItem
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/invoiceitems/%s', $id), $params, $opts);
}
/**
* Retrieves the invoice item with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\InvoiceItem
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/invoiceitems/%s', $id), $params, $opts);
}
/**
* Updates the amount or description of an invoice item on an upcoming invoice.
* Updating an invoice item is only possible before the invoice its attached to is
* closed.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\InvoiceItem
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/invoiceitems/%s', $id), $params, $opts);
}
}
+272
View File
@@ -0,0 +1,272 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class InvoiceService extends \Stripe\Service\AbstractService
{
/**
* You can list all invoices, or list the invoices for a specific customer. The
* invoices are returned sorted by creation date, with the most recently created
* invoices appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/invoices', $params, $opts);
}
/**
* When retrieving an invoice, youll get a <strong>lines</strong> property
* containing the total count of line items and the first handful of those items.
* There is also a URL where you can retrieve the full (paginated) list of line
* items.
*
* @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
*/
public function allLines($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/invoices/%s/lines', $parentId), $params, $opts);
}
/**
* This endpoint creates a draft invoice for a given customer. The draft invoice
* created pulls in all pending invoice items on that customer, including
* prorations. The invoice remains a draft until you <a
* href="#finalize_invoice">finalize</a> the invoice, which allows you to <a
* href="#pay_invoice">pay</a> or <a href="#send_invoice">send</a> the invoice to
* your customers.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/invoices', $params, $opts);
}
/**
* Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to
* delete invoices that are no longer in a draft state will fail; once an invoice
* has been finalized or if an invoice is for a subscription, it must be <a
* href="#void_invoice">voided</a>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/invoices/%s', $id), $params, $opts);
}
/**
* Stripe automatically finalizes drafts before sending and attempting payment on
* invoices. However, if youd like to finalize a draft invoice manually, you can
* do so using this method.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function finalizeInvoice($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/invoices/%s/finalize', $id), $params, $opts);
}
/**
* Marking an invoice as uncollectible is useful for keeping track of bad debts
* that can be written off for accounting purposes.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function markUncollectible($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/invoices/%s/mark_uncollectible', $id), $params, $opts);
}
/**
* Stripe automatically creates and then attempts to collect payment on invoices
* for customers on subscriptions according to your <a
* href="https://dashboard.stripe.com/account/billing/automatic">subscriptions
* settings</a>. However, if youd like to attempt payment on an invoice out of the
* normal collection schedule or for some other reason, you can do so.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function pay($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/invoices/%s/pay', $id), $params, $opts);
}
/**
* Retrieves the invoice with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/invoices/%s', $id), $params, $opts);
}
/**
* Stripe will automatically send invoices to customers according to your <a
* href="https://dashboard.stripe.com/account/billing/automatic">subscriptions
* settings</a>. However, if youd like to manually send an invoice to your
* customer out of the normal schedule, you can do so. When sending invoices that
* have already been paid, there will be no reference to the payment in the email.
*
* Requests made in test-mode result in no emails being sent, despite sending an
* <code>invoice.sent</code> event.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function sendInvoice($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/invoices/%s/send', $id), $params, $opts);
}
/**
* At any time, you can preview the upcoming invoice for a customer. This will show
* you all the charges that are pending, including subscription renewal charges,
* invoice item charges, etc. It will also show you any discounts that are
* applicable to the invoice.
*
* Note that when you are viewing an upcoming invoice, you are simply viewing a
* preview the invoice has not yet been created. As such, the upcoming invoice
* will not show up in invoice listing calls, and you cannot use the API to pay or
* edit the invoice. If you want to change the amount that your customer will be
* billed, you can add, remove, or update pending invoice items, or update the
* customers discount.
*
* You can preview the effects of updating a subscription, including a preview of
* what proration will take place. To ensure that the actual proration is
* calculated exactly the same as the previewed proration, you should pass a
* <code>proration_date</code> parameter when doing the actual subscription update.
* The value passed in should be the same as the
* <code>subscription_proration_date</code> returned on the upcoming invoice
* resource. The recommended way to get only the prorations being previewed is to
* consider only proration line items where <code>period[start]</code> is equal to
* the <code>subscription_proration_date</code> on the upcoming invoice resource.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function upcoming($params = null, $opts = null)
{
return $this->request('get', '/v1/invoices/upcoming', $params, $opts);
}
/**
* When retrieving an upcoming invoice, youll get a <strong>lines</strong>
* property containing the total count of line items and the first handful of those
* items. There is also a URL where you can retrieve the full (paginated) list of
* line items.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function upcomingLines($params = null, $opts = null)
{
return $this->request('get', '/v1/invoices/upcoming/lines', $params, $opts);
}
/**
* Draft invoices are fully editable. Once an invoice is <a
* href="/docs/billing/invoices/workflow#finalized">finalized</a>, monetary values,
* as well as <code>collection_method</code>, become uneditable.
*
* If you would like to stop the Stripe Billing engine from automatically
* finalizing, reattempting payments on, sending reminders for, or <a
* href="/docs/billing/invoices/reconciliation">automatically reconciling</a>
* invoices, pass <code>auto_advance=false</code>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/invoices/%s', $id), $params, $opts);
}
/**
* Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is
* similar to <a href="#delete_invoice">deletion</a>, however it only applies to
* finalized invoices and maintains a papertrail where the invoice can still be
* found.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Invoice
*/
public function voidInvoice($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/invoices/%s/void', $id), $params, $opts);
}
}
@@ -0,0 +1,97 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Issuing;
class AuthorizationService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of Issuing <code>Authorization</code> objects. The objects are
* sorted in descending order by creation date, with the most recently created
* object appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/issuing/authorizations', $params, $opts);
}
/**
* Approves a pending Issuing <code>Authorization</code> object. This request
* should be made within the timeout window of the <a
* href="/docs/issuing/controls/real-time-authorizations">real-time
* authorization</a> flow.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Authorization
*/
public function approve($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/issuing/authorizations/%s/approve', $id), $params, $opts);
}
/**
* Declines a pending Issuing <code>Authorization</code> object. This request
* should be made within the timeout window of the <a
* href="/docs/issuing/controls/real-time-authorizations">real time
* authorization</a> flow.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Authorization
*/
public function decline($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/issuing/authorizations/%s/decline', $id), $params, $opts);
}
/**
* Retrieves an Issuing <code>Authorization</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Authorization
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/issuing/authorizations/%s', $id), $params, $opts);
}
/**
* Updates the specified Issuing <code>Authorization</code> object by setting the
* values of the parameters passed. Any parameters not provided will be left
* unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Authorization
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/issuing/authorizations/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,73 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Issuing;
class CardService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of Issuing <code>Card</code> objects. The objects are sorted in
* descending order by creation date, with the most recently created object
* appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/issuing/cards', $params, $opts);
}
/**
* Creates an Issuing <code>Card</code> object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Card
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/issuing/cards', $params, $opts);
}
/**
* Retrieves an Issuing <code>Card</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Card
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/issuing/cards/%s', $id), $params, $opts);
}
/**
* Updates the specified Issuing <code>Card</code> object by setting the values of
* the parameters passed. Any parameters not provided will be left unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Card
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/issuing/cards/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,74 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Issuing;
class CardholderService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of Issuing <code>Cardholder</code> objects. The objects are
* sorted in descending order by creation date, with the most recently created
* object appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/issuing/cardholders', $params, $opts);
}
/**
* Creates a new Issuing <code>Cardholder</code> object that can be issued cards.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Cardholder
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/issuing/cardholders', $params, $opts);
}
/**
* Retrieves an Issuing <code>Cardholder</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Cardholder
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/issuing/cardholders/%s', $id), $params, $opts);
}
/**
* Updates the specified Issuing <code>Cardholder</code> object by setting the
* values of the parameters passed. Any parameters not provided will be left
* unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Cardholder
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/issuing/cardholders/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,99 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Issuing;
class DisputeService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of Issuing <code>Dispute</code> objects. The objects are sorted
* in descending order by creation date, with the most recently created object
* appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/issuing/disputes', $params, $opts);
}
/**
* Creates an Issuing <code>Dispute</code> object. Individual pieces of evidence
* within the <code>evidence</code> object are optional at this point. Stripe only
* validates that required evidence is present during submission. Refer to <a
* href="/docs/issuing/purchases/disputes#dispute-reasons-and-evidence">Dispute
* reasons and evidence</a> for more details about evidence requirements.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Dispute
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/issuing/disputes', $params, $opts);
}
/**
* Retrieves an Issuing <code>Dispute</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Dispute
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/issuing/disputes/%s', $id), $params, $opts);
}
/**
* Submits an Issuing <code>Dispute</code> to the card network. Stripe validates
* that all evidence fields required for the disputes reason are present. For more
* details, see <a
* href="/docs/issuing/purchases/disputes#dispute-reasons-and-evidence">Dispute
* reasons and evidence</a>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Dispute
*/
public function submit($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/issuing/disputes/%s/submit', $id), $params, $opts);
}
/**
* Updates the specified Issuing <code>Dispute</code> object by setting the values
* of the parameters passed. Any parameters not provided will be left unchanged.
* Properties on the <code>evidence</code> object can be unset by passing in an
* empty string.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Dispute
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/issuing/disputes/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,33 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Issuing;
/**
* Service factory class for API resources in the Issuing namespace.
*
* @property AuthorizationService $authorizations
* @property CardholderService $cardholders
* @property CardService $cards
* @property DisputeService $disputes
* @property TransactionService $transactions
*/
class IssuingServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'authorizations' => AuthorizationService::class,
'cardholders' => CardholderService::class,
'cards' => CardService::class,
'disputes' => DisputeService::class,
'transactions' => TransactionService::class,
];
protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
@@ -0,0 +1,59 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Issuing;
class TransactionService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of Issuing <code>Transaction</code> objects. The objects are
* sorted in descending order by creation date, with the most recently created
* object appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/issuing/transactions', $params, $opts);
}
/**
* Retrieves an Issuing <code>Transaction</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Transaction
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/issuing/transactions/%s', $id), $params, $opts);
}
/**
* Updates the specified Issuing <code>Transaction</code> object by setting the
* values of the parameters passed. Any parameters not provided will be left
* unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Issuing\Transaction
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/issuing/transactions/%s', $id), $params, $opts);
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class MandateService extends \Stripe\Service\AbstractService
{
/**
* Retrieves a Mandate object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Mandate
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/mandates/%s', $id), $params, $opts);
}
}
+150
View File
@@ -0,0 +1,150 @@
<?php
namespace Stripe\Service;
class OAuthService extends \Stripe\Service\AbstractService
{
/**
* Sends a request to Stripe's Connect API.
*
* @param string $method the HTTP method
* @param string $path the path of the request
* @param array $params the parameters of the request
* @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request
*
* @return \Stripe\StripeObject the object returned by Stripe's Connect API
*/
protected function requestConnect($method, $path, $params, $opts)
{
$opts = $this->_parseOpts($opts);
$opts->apiBase = $this->_getBase($opts);
return $this->request($method, $path, $params, $opts);
}
/**
* Generates a URL to Stripe's OAuth form.
*
* @param null|array $params
* @param null|array $opts
*
* @return string the URL to Stripe's OAuth form
*/
public function authorizeUrl($params = null, $opts = null)
{
$params = $params ?: [];
$opts = $this->_parseOpts($opts);
$base = $this->_getBase($opts);
$params['client_id'] = $this->_getClientId($params);
if (!\array_key_exists('response_type', $params)) {
$params['response_type'] = 'code';
}
$query = \Stripe\Util\Util::encodeParameters($params);
return $base . '/oauth/authorize?' . $query;
}
/**
* Use an authoriztion code to connect an account to your platform and
* fetch the user's credentials.
*
* @param null|array $params
* @param null|array $opts
*
* @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails
*
* @return \Stripe\StripeObject object containing the response from the API
*/
public function token($params = null, $opts = null)
{
$params = $params ?: [];
$params['client_secret'] = $this->_getClientSecret($params);
return $this->requestConnect('post', '/oauth/token', $params, $opts);
}
/**
* Disconnects an account from your platform.
*
* @param null|array $params
* @param null|array $opts
*
* @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails
*
* @return \Stripe\StripeObject object containing the response from the API
*/
public function deauthorize($params = null, $opts = null)
{
$params = $params ?: [];
$params['client_id'] = $this->_getClientId($params);
return $this->requestConnect('post', '/oauth/deauthorize', $params, $opts);
}
private function _getClientId($params = null)
{
$clientId = ($params && \array_key_exists('client_id', $params)) ? $params['client_id'] : null;
if (null === $clientId) {
$clientId = $this->client->getClientId();
}
if (null === $clientId) {
$msg = 'No client_id provided. (HINT: set your client_id using '
. '`new \Stripe\StripeClient([clientId => <CLIENT-ID>
])`)". You can find your client_ids '
. 'in your Stripe dashboard at '
. 'https://dashboard.stripe.com/account/applications/settings, '
. 'after registering your account as a platform. See '
. 'https://stripe.com/docs/connect/standard-accounts for details, '
. 'or email support@stripe.com if you have any questions.';
throw new \Stripe\Exception\AuthenticationException($msg);
}
return $clientId;
}
private function _getClientSecret($params = null)
{
if (\array_key_exists('client_secret', $params)) {
return $params['client_secret'];
}
return $this->client->getApiKey();
}
/**
* @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request
*
* @throws \Stripe\Exception\InvalidArgumentException
*
* @return \Stripe\Util\RequestOptions
*/
private function _parseOpts($opts)
{
if (\is_array($opts)) {
if (\array_key_exists('connect_base', $opts)) {
// Throw an exception for the convenience of anybody migrating to
// \Stripe\Service\OAuthService from \Stripe\OAuth, where `connect_base`
// was the name of the parameter that behaves as `api_base` does here.
throw new \Stripe\Exception\InvalidArgumentException('Use `api_base`, not `connect_base`');
}
}
return \Stripe\Util\RequestOptions::parse($opts);
}
/**
* @param \Stripe\Util\RequestOptions $opts
*
* @return string
*/
private function _getBase($opts)
{
return isset($opts->apiBase) ?
$opts->apiBase :
$this->client->getConnectBase();
}
}
@@ -0,0 +1,42 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class OrderReturnService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your order returns. The returns are returned sorted by
* creation date, with the most recently created return appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/order_returns', $params, $opts);
}
/**
* Retrieves the details of an existing order return. Supply the unique order ID
* from either an order return creation request or the order return list, and
* Stripe will return the corresponding order information.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\OrderReturn
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/order_returns/%s', $id), $params, $opts);
}
}
+109
View File
@@ -0,0 +1,109 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class OrderService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your orders. The orders are returned sorted by creation date,
* with the most recently created orders appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/orders', $params, $opts);
}
/**
* Creates a new order object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Order
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/orders', $params, $opts);
}
/**
* Pay an order by providing a <code>source</code> to create a payment.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Order
*/
public function pay($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/orders/%s/pay', $id), $params, $opts);
}
/**
* Retrieves the details of an existing order. Supply the unique order ID from
* either an order creation request or the order list, and Stripe will return the
* corresponding order information.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Order
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/orders/%s', $id), $params, $opts);
}
/**
* Return all or part of an order. The order must have a status of
* <code>paid</code> or <code>fulfilled</code> before it can be returned. Once all
* items have been returned, the order will become <code>canceled</code> or
* <code>returned</code> depending on which status the order started in.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Order
*/
public function returnOrder($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/orders/%s/returns', $id), $params, $opts);
}
/**
* Updates the specific order by setting the values of the parameters passed. Any
* parameters not provided will be left unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Order
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/orders/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,181 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class PaymentIntentService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of PaymentIntents.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/payment_intents', $params, $opts);
}
/**
* A PaymentIntent object can be canceled when it is in one of these statuses:
* <code>requires_payment_method</code>, <code>requires_capture</code>,
* <code>requires_confirmation</code>, or <code>requires_action</code>.
*
* Once canceled, no additional charges will be made by the PaymentIntent and any
* operations on the PaymentIntent will fail with an error. For PaymentIntents with
* <code>status=requires_capture</code>, the remaining
* <code>amount_capturable</code> will automatically be refunded.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentIntent
*/
public function cancel($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_intents/%s/cancel', $id), $params, $opts);
}
/**
* Capture the funds of an existing uncaptured PaymentIntent when its status is
* <code>requires_capture</code>.
*
* Uncaptured PaymentIntents will be canceled exactly seven days after they are
* created.
*
* Learn more about <a href="/docs/payments/capture-later">separate authorization
* and capture</a>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentIntent
*/
public function capture($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_intents/%s/capture', $id), $params, $opts);
}
/**
* Confirm that your customer intends to pay with current or provided payment
* method. Upon confirmation, the PaymentIntent will attempt to initiate a payment.
*
* If the selected payment method requires additional authentication steps, the
* PaymentIntent will transition to the <code>requires_action</code> status and
* suggest additional actions via <code>next_action</code>. If payment fails, the
* PaymentIntent will transition to the <code>requires_payment_method</code>
* status. If payment succeeds, the PaymentIntent will transition to the
* <code>succeeded</code> status (or <code>requires_capture</code>, if
* <code>capture_method</code> is set to <code>manual</code>).
*
* If the <code>confirmation_method</code> is <code>automatic</code>, payment may
* be attempted using our <a
* href="/docs/stripe-js/reference#stripe-handle-card-payment">client SDKs</a> and
* the PaymentIntents <a
* href="#payment_intent_object-client_secret">client_secret</a>. After
* <code>next_action</code>s are handled by the client, no additional confirmation
* is required to complete the payment.
*
* If the <code>confirmation_method</code> is <code>manual</code>, all payment
* attempts must be initiated using a secret key. If any actions are required for
* the payment, the PaymentIntent will return to the
* <code>requires_confirmation</code> state after those actions are completed. Your
* server needs to then explicitly re-confirm the PaymentIntent to initiate the
* next payment attempt. Read the <a
* href="/docs/payments/payment-intents/web-manual">expanded documentation</a> to
* learn more about manual confirmation.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentIntent
*/
public function confirm($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_intents/%s/confirm', $id), $params, $opts);
}
/**
* Creates a PaymentIntent object.
*
* After the PaymentIntent is created, attach a payment method and <a
* href="/docs/api/payment_intents/confirm">confirm</a> to continue the payment.
* You can read more about the different payment flows available via the Payment
* Intents API <a href="/docs/payments/payment-intents">here</a>.
*
* When <code>confirm=true</code> is used during creation, it is equivalent to
* creating and confirming the PaymentIntent in the same call. You may use any
* parameters available in the <a href="/docs/api/payment_intents/confirm">confirm
* API</a> when <code>confirm=true</code> is supplied.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentIntent
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/payment_intents', $params, $opts);
}
/**
* Retrieves the details of a PaymentIntent that has previously been created.
*
* Client-side retrieval using a publishable key is allowed when the
* <code>client_secret</code> is provided in the query string.
*
* When retrieved with a publishable key, only a subset of properties will be
* returned. Please refer to the <a href="#payment_intent_object">payment
* intent</a> object reference for more details.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentIntent
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/payment_intents/%s', $id), $params, $opts);
}
/**
* Updates properties on a PaymentIntent object without confirming.
*
* Depending on which properties you update, you may need to confirm the
* PaymentIntent again. For example, updating the <code>payment_method</code> will
* always require you to confirm the PaymentIntent again. If you prefer to update
* and confirm at the same time, we recommend updating properties via the <a
* href="/docs/api/payment_intents/confirm">confirm API</a> 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\PaymentIntent
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_intents/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,121 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class PaymentMethodService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of PaymentMethods for a given Customer.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/payment_methods', $params, $opts);
}
/**
* Attaches a PaymentMethod object to a Customer.
*
* To attach a new PaymentMethod to a customer for future payments, we recommend
* you use a <a href="/docs/api/setup_intents">SetupIntent</a> or a PaymentIntent
* with <a
* href="/docs/api/payment_intents/create#create_payment_intent-setup_future_usage">setup_future_usage</a>.
* These approaches will perform any necessary steps to ensure that the
* PaymentMethod can be used in a future payment. Using the
* <code>/v1/payment_methods/:id/attach</code> endpoint does not ensure that future
* payments can be made with the attached PaymentMethod. See <a
* href="/docs/payments/payment-intents#future-usage">Optimizing cards for future
* payments</a> for more information about setting up future payments.
*
* To use this PaymentMethod as the default for invoice or subscription payments,
* set <a
* href="/docs/api/customers/update#update_customer-invoice_settings-default_payment_method"><code>invoice_settings.default_payment_method</code></a>,
* on the Customer to the PaymentMethods ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function attach($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_methods/%s/attach', $id), $params, $opts);
}
/**
* Creates a PaymentMethod object. Read the <a
* href="/docs/stripe-js/reference#stripe-create-payment-method">Stripe.js
* reference</a> to learn how to create PaymentMethods via Stripe.js.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/payment_methods', $params, $opts);
}
/**
* Detaches a PaymentMethod object from a Customer.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function detach($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_methods/%s/detach', $id), $params, $opts);
}
/**
* Retrieves a PaymentMethod object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/payment_methods/%s', $id), $params, $opts);
}
/**
* Updates a PaymentMethod object. A PaymentMethod must be attached a customer to
* be updated.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_methods/%s', $id), $params, $opts);
}
}
+127
View File
@@ -0,0 +1,127 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class PayoutService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of existing payouts sent to third-party bank accounts or that
* Stripe has sent you. The payouts are returned in sorted order, with the most
* recently created payouts appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/payouts', $params, $opts);
}
/**
* A previously created payout can be canceled if it has not yet been paid out.
* Funds will be refunded to your available balance. You may not cancel automatic
* Stripe payouts.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function cancel($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payouts/%s/cancel', $id), $params, $opts);
}
/**
* To send funds to your own bank account, you create a new payout object. Your <a
* href="#balance">Stripe balance</a> must be able to cover the payout amount, or
* youll receive an “Insufficient Funds” error.
*
* If your API key is in test mode, money wont actually be sent, though everything
* else will occur as if in live mode.
*
* If you are creating a manual payout on a Stripe account that uses multiple
* payment source types, youll need to specify the source type balance that the
* payout should draw from. The <a href="#balance_object">balance object</a>
* details available and pending amounts by source type.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/payouts', $params, $opts);
}
/**
* Retrieves the details of an existing payout. Supply the unique payout ID from
* either a payout creation request or the payout list, and Stripe will return the
* corresponding payout information.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/payouts/%s', $id), $params, $opts);
}
/**
* Reverses a payout by debiting the destination bank account. Only payouts for
* connected accounts to US bank accounts may be reversed at this time. If the
* payout is in the <code>pending</code> status,
* <code>/v1/payouts/:id/cancel</code> should be used instead.
*
* By requesting a reversal via <code>/v1/payouts/:id/reverse</code>, you confirm
* that the authorized signatory of the selected bank account has authorized the
* debit on the bank account and that no other authorization is required.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function reverse($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payouts/%s/reverse', $id), $params, $opts);
}
/**
* Updates the specified payout by setting the values of the parameters passed. Any
* parameters not provided will be left unchanged. This request accepts only the
* metadata as arguments.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payouts/%s', $id), $params, $opts);
}
}
+91
View File
@@ -0,0 +1,91 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class PlanService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your plans.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/plans', $params, $opts);
}
/**
* You can now model subscriptions more flexibly using the <a href="#prices">Prices
* API</a>. It replaces the Plans API and is backwards compatible to simplify your
* migration.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Plan
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/plans', $params, $opts);
}
/**
* Deleting plans means new subscribers cant be added. Existing subscribers arent
* affected.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Plan
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/plans/%s', $id), $params, $opts);
}
/**
* Retrieves the plan with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Plan
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/plans/%s', $id), $params, $opts);
}
/**
* Updates the specified plan by setting the values of the parameters passed. Any
* parameters not provided are left unchanged. By design, you cannot change a
* plans ID, amount, currency, or billing cycle.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Plan
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/plans/%s', $id), $params, $opts);
}
}
+72
View File
@@ -0,0 +1,72 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class PriceService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your prices.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/prices', $params, $opts);
}
/**
* Creates a new price for an existing product. The price can be recurring or
* one-time.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Price
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/prices', $params, $opts);
}
/**
* Retrieves the price with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Price
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/prices/%s', $id), $params, $opts);
}
/**
* Updates the specified price by setting the values of the parameters passed. Any
* parameters not provided are left unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Price
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/prices/%s', $id), $params, $opts);
}
}
+92
View File
@@ -0,0 +1,92 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class ProductService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your products. The products are returned sorted by creation
* date, with the most recently created products appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/products', $params, $opts);
}
/**
* Creates a new product object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Product
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/products', $params, $opts);
}
/**
* Delete a product. Deleting a product is only possible if it has no prices
* associated with it. Additionally, deleting a product with <code>type=good</code>
* is only possible if it has no SKUs associated with it.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Product
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/products/%s', $id), $params, $opts);
}
/**
* Retrieves the details of an existing product. Supply the unique product ID from
* either a product creation request or the product list, and Stripe will return
* the corresponding product information.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Product
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/products/%s', $id), $params, $opts);
}
/**
* Updates the specific product by setting the values of the parameters passed. Any
* parameters not provided will be left unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Product
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/products/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,72 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class PromotionCodeService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your promotion codes.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/promotion_codes', $params, $opts);
}
/**
* A promotion code points to a coupon. You can optionally restrict the code to a
* specific customer, redemption limit, and expiration date.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PromotionCode
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/promotion_codes', $params, $opts);
}
/**
* Retrieves the promotion code with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PromotionCode
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/promotion_codes/%s', $id), $params, $opts);
}
/**
* Updates the specified promotion code by setting the values of the parameters
* passed. Most fields are, by design, not editable.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PromotionCode
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/promotion_codes/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,43 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Radar;
class EarlyFraudWarningService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of early fraud warnings.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/radar/early_fraud_warnings', $params, $opts);
}
/**
* Retrieves the details of an early fraud warning that has previously been
* created.
*
* Please refer to the <a href="#early_fraud_warning_object">early fraud
* warning</a> object reference for more details.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Radar\EarlyFraudWarning
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/radar/early_fraud_warnings/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,29 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Radar;
/**
* Service factory class for API resources in the Radar namespace.
*
* @property EarlyFraudWarningService $earlyFraudWarnings
* @property ValueListItemService $valueListItems
* @property ValueListService $valueLists
*/
class RadarServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'earlyFraudWarnings' => EarlyFraudWarningService::class,
'valueListItems' => ValueListItemService::class,
'valueLists' => ValueListService::class,
];
protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
@@ -0,0 +1,74 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Radar;
class ValueListItemService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of <code>ValueListItem</code> objects. The objects are sorted in
* descending order by creation date, with the most recently created object
* appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/radar/value_list_items', $params, $opts);
}
/**
* Creates a new <code>ValueListItem</code> object, which is added to the specified
* parent value list.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Radar\ValueListItem
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/radar/value_list_items', $params, $opts);
}
/**
* Deletes a <code>ValueListItem</code> object, removing it from its parent value
* list.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Radar\ValueListItem
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/radar/value_list_items/%s', $id), $params, $opts);
}
/**
* Retrieves a <code>ValueListItem</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Radar\ValueListItem
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/radar/value_list_items/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,93 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Radar;
class ValueListService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of <code>ValueList</code> objects. The objects are sorted in
* descending order by creation date, with the most recently created object
* appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/radar/value_lists', $params, $opts);
}
/**
* Creates a new <code>ValueList</code> object, which can then be referenced in
* rules.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Radar\ValueList
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/radar/value_lists', $params, $opts);
}
/**
* Deletes a <code>ValueList</code> object, also deleting any items contained
* within the value list. To be deleted, a value list must not be referenced in any
* rules.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Radar\ValueList
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/radar/value_lists/%s', $id), $params, $opts);
}
/**
* Retrieves a <code>ValueList</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Radar\ValueList
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/radar/value_lists/%s', $id), $params, $opts);
}
/**
* Updates a <code>ValueList</code> object by setting the values of the parameters
* passed. Any parameters not provided will be left unchanged. Note that
* <code>item_type</code> is immutable.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Radar\ValueList
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/radar/value_lists/%s', $id), $params, $opts);
}
}
+76
View File
@@ -0,0 +1,76 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class RefundService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of all refunds youve previously created. The refunds are
* returned in sorted order, with the most recent refunds appearing first. For
* convenience, the 10 most recent refunds are always available by default on the
* charge object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/refunds', $params, $opts);
}
/**
* Create a refund.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Refund
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/refunds', $params, $opts);
}
/**
* Retrieves the details of an existing refund.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Refund
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/refunds/%s', $id), $params, $opts);
}
/**
* Updates the specified refund by setting the values of the parameters passed. Any
* parameters not provided will be left unchanged.
*
* This request only accepts <code>metadata</code> as an argument.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Refund
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/refunds/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,57 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Reporting;
class ReportRunService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of Report Runs, with the most recent appearing first. (Requires a
* <a href="https://stripe.com/docs/keys#test-live-modes">live-mode API key</a>.).
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/reporting/report_runs', $params, $opts);
}
/**
* Creates a new object and begin running the report. (Requires a <a
* href="https://stripe.com/docs/keys#test-live-modes">live-mode API key</a>.).
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Reporting\ReportRun
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/reporting/report_runs', $params, $opts);
}
/**
* Retrieves the details of an existing Report Run. (Requires a <a
* href="https://stripe.com/docs/keys#test-live-modes">live-mode API key</a>.).
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Reporting\ReportRun
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/reporting/report_runs/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,41 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Reporting;
class ReportTypeService extends \Stripe\Service\AbstractService
{
/**
* Returns a full list of Report Types. (Requires a <a
* href="https://stripe.com/docs/keys#test-live-modes">live-mode API key</a>.).
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/reporting/report_types', $params, $opts);
}
/**
* Retrieves the details of a Report Type. (Requires a <a
* href="https://stripe.com/docs/keys#test-live-modes">live-mode API key</a>.).
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Reporting\ReportType
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/reporting/report_types/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,27 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Reporting;
/**
* Service factory class for API resources in the Reporting namespace.
*
* @property ReportRunService $reportRuns
* @property ReportTypeService $reportTypes
*/
class ReportingServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'reportRuns' => ReportRunService::class,
'reportTypes' => ReportTypeService::class,
];
protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
+58
View File
@@ -0,0 +1,58 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class ReviewService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of <code>Review</code> objects that have <code>open</code> set to
* <code>true</code>. The objects are sorted in descending order by creation date,
* with the most recently created object appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/reviews', $params, $opts);
}
/**
* Approves a <code>Review</code> object, closing it and removing it from the list
* of reviews.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Review
*/
public function approve($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/reviews/%s/approve', $id), $params, $opts);
}
/**
* Retrieves a <code>Review</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Review
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/reviews/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,23 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class SetupAttemptService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of SetupAttempts associated with a provided SetupIntent.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/setup_attempts', $params, $opts);
}
}
@@ -0,0 +1,127 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class SetupIntentService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of SetupIntents.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/setup_intents', $params, $opts);
}
/**
* A SetupIntent object can be canceled when it is in one of these statuses:
* <code>requires_payment_method</code>, <code>requires_confirmation</code>, or
* <code>requires_action</code>.
*
* Once canceled, setup is abandoned and any operations on the SetupIntent will
* fail with an error.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SetupIntent
*/
public function cancel($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/setup_intents/%s/cancel', $id), $params, $opts);
}
/**
* Confirm that your customer intends to set up the current or provided payment
* method. For example, you would confirm a SetupIntent when a customer hits the
* “Save” button on a payment method management page on your website.
*
* If the selected payment method does not require any additional steps from the
* customer, the SetupIntent will transition to the <code>succeeded</code> status.
*
* Otherwise, it will transition to the <code>requires_action</code> status and
* suggest additional actions via <code>next_action</code>. If setup fails, the
* SetupIntent will transition to the <code>requires_payment_method</code> status.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SetupIntent
*/
public function confirm($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/setup_intents/%s/confirm', $id), $params, $opts);
}
/**
* Creates a SetupIntent object.
*
* After the SetupIntent is created, attach a payment method and <a
* href="/docs/api/setup_intents/confirm">confirm</a> to collect any required
* permissions to charge the payment method later.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SetupIntent
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/setup_intents', $params, $opts);
}
/**
* Retrieves the details of a SetupIntent that has previously been created.
*
* Client-side retrieval using a publishable key is allowed when the
* <code>client_secret</code> is provided in the query string.
*
* When retrieved with a publishable key, only a subset of properties will be
* returned. Please refer to the <a href="#setup_intent_object">SetupIntent</a>
* object reference for more details.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SetupIntent
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/setup_intents/%s', $id), $params, $opts);
}
/**
* Updates a SetupIntent object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SetupIntent
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/setup_intents/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,39 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Sigma;
class ScheduledQueryRunService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of scheduled query runs.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/sigma/scheduled_query_runs', $params, $opts);
}
/**
* Retrieves the details of an scheduled query run.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Sigma\ScheduledQueryRun
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/sigma/scheduled_query_runs/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,25 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Sigma;
/**
* Service factory class for API resources in the Sigma namespace.
*
* @property ScheduledQueryRunService $scheduledQueryRuns
*/
class SigmaServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'scheduledQueryRuns' => ScheduledQueryRunService::class,
];
protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
+95
View File
@@ -0,0 +1,95 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class SkuService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your SKUs. The SKUs are returned sorted by creation date, with
* the most recently created SKUs appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/skus', $params, $opts);
}
/**
* Creates a new SKU associated with a product.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SKU
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/skus', $params, $opts);
}
/**
* Delete a SKU. Deleting a SKU is only possible until it has been used in an
* order.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SKU
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/skus/%s', $id), $params, $opts);
}
/**
* Retrieves the details of an existing SKU. Supply the unique SKU identifier from
* either a SKU creation request or from the product, and Stripe will return the
* corresponding SKU information.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SKU
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/skus/%s', $id), $params, $opts);
}
/**
* Updates the specific SKU by setting the values of the parameters passed. Any
* parameters not provided will be left unchanged.
*
* Note that a SKUs <code>attributes</code> are not editable. Instead, you would
* need to deactivate the existing SKU and create a new one with the new attribute
* values.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SKU
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/skus/%s', $id), $params, $opts);
}
}
+110
View File
@@ -0,0 +1,110 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class SourceService extends \Stripe\Service\AbstractService
{
/**
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Source
*/
public function allTransactions($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/sources/%s/source_transactions', $id), $params, $opts);
}
/**
* Creates a new source object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Source
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/sources', $params, $opts);
}
/**
* Delete a specified source for a given customer.
*
* @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\Source
*/
public function detach($parentId, $id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/customers/%s/sources/%s', $parentId, $id), $params, $opts);
}
/**
* Retrieves an existing source object. Supply the unique source ID from a source
* creation request and Stripe will return the corresponding up-to-date source
* object information.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Source
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/sources/%s', $id), $params, $opts);
}
/**
* Updates the specified source by setting the values of the parameters passed. Any
* parameters not provided will be left unchanged.
*
* This request accepts the <code>metadata</code> and <code>owner</code> as
* arguments. It is also possible to update type specific information for selected
* payment methods. Please refer to our <a href="/docs/sources">payment method
* guides</a> for more detail.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Source
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/sources/%s', $id), $params, $opts);
}
/**
* Verify a given source.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Source
*/
public function verify($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/sources/%s/verify', $id), $params, $opts);
}
}
@@ -0,0 +1,151 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class SubscriptionItemService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your subscription items for a given subscription.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/subscription_items', $params, $opts);
}
/**
* For the specified subscription item, returns a list of summary objects. Each
* object in the list provides usage information thats been summarized from
* multiple usage records and over a subscription billing period (e.g., 15 usage
* records in the month of September).
*
* The list is sorted in reverse-chronological order (newest first). The first list
* item represents the most current usage period that hasnt ended yet. Since new
* usage records can still be added, the returned summary information for the
* subscription items ID should be seen as unstable until the subscription billing
* period ends.
*
* @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
*/
public function allUsageRecordSummaries($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/subscription_items/%s/usage_record_summaries', $parentId), $params, $opts);
}
/**
* Adds a new item to an existing subscription. No existing items will be changed
* or replaced.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SubscriptionItem
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/subscription_items', $params, $opts);
}
/**
* Creates a usage record for a specified subscription item and date, and fills it
* with a quantity.
*
* Usage records provide <code>quantity</code> information that Stripe uses to
* track how much a customer is using your service. With usage information and the
* pricing model set up by the <a
* href="https://stripe.com/docs/billing/subscriptions/metered-billing">metered
* billing</a> plan, Stripe helps you send accurate invoices to your customers.
*
* The default calculation for usage is to add up all the <code>quantity</code>
* values of the usage records within a billing period. You can change this default
* behavior with the billing plans <code>aggregate_usage</code> <a
* href="/docs/api/plans/create#create_plan-aggregate_usage">parameter</a>. When
* there is more than one usage record with the same timestamp, Stripe adds the
* <code>quantity</code> values together. In most cases, this is the desired
* resolution, however, you can change this behavior with the <code>action</code>
* parameter.
*
* The default pricing model for metered billing is <a
* href="/docs/api/plans/object#plan_object-billing_scheme">per-unit pricing</a>.
* For finer granularity, you can configure metered billing to have a <a
* href="https://stripe.com/docs/billing/subscriptions/tiers">tiered pricing</a>
* model.
*
* @param string $parentId
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\UsageRecord
*/
public function createUsageRecord($parentId, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/subscription_items/%s/usage_records', $parentId), $params, $opts);
}
/**
* Deletes an item from the subscription. Removing a subscription item from a
* subscription will not cancel the subscription.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SubscriptionItem
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/subscription_items/%s', $id), $params, $opts);
}
/**
* Retrieves the subscription item with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SubscriptionItem
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/subscription_items/%s', $id), $params, $opts);
}
/**
* Updates the plan or quantity of an item on a current subscription.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SubscriptionItem
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/subscription_items/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,113 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class SubscriptionScheduleService extends \Stripe\Service\AbstractService
{
/**
* Retrieves the list of your subscription schedules.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/subscription_schedules', $params, $opts);
}
/**
* Cancels a subscription schedule and its associated subscription immediately (if
* the subscription schedule has an active subscription). A subscription schedule
* can only be canceled if its status is <code>not_started</code> or
* <code>active</code>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SubscriptionSchedule
*/
public function cancel($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/subscription_schedules/%s/cancel', $id), $params, $opts);
}
/**
* Creates a new subscription schedule object. Each customer can have up to 500
* active or scheduled subscriptions.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SubscriptionSchedule
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/subscription_schedules', $params, $opts);
}
/**
* Releases the subscription schedule immediately, which will stop scheduling of
* its phases, but leave any existing subscription in place. A schedule can only be
* released if its status is <code>not_started</code> or <code>active</code>. If
* the subscription schedule is currently associated with a subscription, releasing
* it will remove its <code>subscription</code> property and set the subscriptions
* ID to the <code>released_subscription</code> property.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SubscriptionSchedule
*/
public function release($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/subscription_schedules/%s/release', $id), $params, $opts);
}
/**
* Retrieves the details of an existing subscription schedule. You only need to
* supply the unique subscription schedule identifier that was returned upon
* subscription schedule creation.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SubscriptionSchedule
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/subscription_schedules/%s', $id), $params, $opts);
}
/**
* Updates an existing subscription schedule.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\SubscriptionSchedule
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/subscription_schedules/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,124 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class SubscriptionService extends \Stripe\Service\AbstractService
{
/**
* By default, returns a list of subscriptions that have not been canceled. In
* order to list canceled subscriptions, specify <code>status=canceled</code>.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/subscriptions', $params, $opts);
}
/**
* Cancels a customers subscription immediately. The customer will not be charged
* again for the subscription.
*
* Note, however, that any pending invoice items that youve created will still be
* charged for at the end of the period, unless manually <a
* href="#delete_invoiceitem">deleted</a>. If youve set the subscription to cancel
* at the end of the period, any pending prorations will also be left in place and
* collected at the end of the period. But if the subscription is set to cancel
* immediately, pending prorations will be removed.
*
* By default, upon subscription cancellation, Stripe will stop automatic
* collection of all finalized invoices for the customer. This is intended to
* prevent unexpected payment attempts after the customer has canceled a
* subscription. However, you can resume automatic collection of the invoices
* manually after subscription cancellation to have us proceed. Or, you could check
* for unpaid invoices before allowing the customer to cancel the subscription at
* all.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Subscription
*/
public function cancel($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/subscriptions/%s', $id), $params, $opts);
}
/**
* Creates a new subscription on an existing customer. Each customer can have up to
* 500 active or scheduled subscriptions.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Subscription
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/subscriptions', $params, $opts);
}
/**
* Removes the currently applied discount on a subscription.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Subscription
*/
public function deleteDiscount($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/subscriptions/%s/discount', $id), $params, $opts);
}
/**
* Retrieves the subscription with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Subscription
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/subscriptions/%s', $id), $params, $opts);
}
/**
* Updates an existing subscription on a customer to match the specified
* parameters. When changing plans or quantities, we will optionally prorate the
* price we charge next month to make up for any price changes. To preview how the
* proration will be calculated, use the <a href="#upcoming_invoice">upcoming
* invoice</a> endpoint.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Subscription
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/subscriptions/%s', $id), $params, $opts);
}
}
+71
View File
@@ -0,0 +1,71 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class TaxRateService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your tax rates. Tax rates are returned sorted by creation
* date, with the most recently created tax rates appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/tax_rates', $params, $opts);
}
/**
* Creates a new tax rate.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\TaxRate
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/tax_rates', $params, $opts);
}
/**
* Retrieves a tax rate with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\TaxRate
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/tax_rates/%s', $id), $params, $opts);
}
/**
* Updates an existing tax rate.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\TaxRate
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/tax_rates/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,25 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Terminal;
class ConnectionTokenService extends \Stripe\Service\AbstractService
{
/**
* To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived
* connection token from Stripe, proxied through your server. On your backend, add
* an endpoint that creates and returns a connection token.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Terminal\ConnectionToken
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/terminal/connection_tokens', $params, $opts);
}
}
@@ -0,0 +1,87 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Terminal;
class LocationService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of <code>Location</code> objects.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/terminal/locations', $params, $opts);
}
/**
* Creates a new <code>Location</code> object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Terminal\Location
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/terminal/locations', $params, $opts);
}
/**
* Deletes a <code>Location</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Terminal\Location
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/terminal/locations/%s', $id), $params, $opts);
}
/**
* Retrieves a <code>Location</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Terminal\Location
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/terminal/locations/%s', $id), $params, $opts);
}
/**
* Updates a <code>Location</code> object by setting the values of the parameters
* passed. Any parameters not provided will be left unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Terminal\Location
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/terminal/locations/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,87 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Terminal;
class ReaderService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of <code>Reader</code> objects.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/terminal/readers', $params, $opts);
}
/**
* Creates a new <code>Reader</code> object.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Terminal\Reader
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/terminal/readers', $params, $opts);
}
/**
* Deletes a <code>Reader</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Terminal\Reader
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/terminal/readers/%s', $id), $params, $opts);
}
/**
* Retrieves a <code>Reader</code> object.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Terminal\Reader
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/terminal/readers/%s', $id), $params, $opts);
}
/**
* Updates a <code>Reader</code> object by setting the values of the parameters
* passed. Any parameters not provided will be left unchanged.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Terminal\Reader
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/terminal/readers/%s', $id), $params, $opts);
}
}
@@ -0,0 +1,29 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service\Terminal;
/**
* Service factory class for API resources in the Terminal namespace.
*
* @property ConnectionTokenService $connectionTokens
* @property LocationService $locations
* @property ReaderService $readers
*/
class TerminalServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'connectionTokens' => ConnectionTokenService::class,
'locations' => LocationService::class,
'readers' => ReaderService::class,
];
protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
+42
View File
@@ -0,0 +1,42 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class TokenService extends \Stripe\Service\AbstractService
{
/**
* Creates a single-use token that represents a bank accounts details. This token
* can be used with any API method in place of a bank account dictionary. This
* token can be used only once, by attaching it to a <a href="#accounts">Custom
* account</a>.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Token
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/tokens', $params, $opts);
}
/**
* Retrieves the token with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Token
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/tokens/%s', $id), $params, $opts);
}
}
+89
View File
@@ -0,0 +1,89 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class TopupService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of top-ups.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/topups', $params, $opts);
}
/**
* Cancels a top-up. Only pending top-ups can be canceled.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Topup
*/
public function cancel($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/topups/%s/cancel', $id), $params, $opts);
}
/**
* Top up the balance of an account.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Topup
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/topups', $params, $opts);
}
/**
* Retrieves the details of a top-up that has previously been created. Supply the
* unique top-up ID that was returned from your previous request, and Stripe will
* return the corresponding top-up information.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Topup
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/topups/%s', $id), $params, $opts);
}
/**
* Updates the metadata of a top-up. Other top-up details are not editable by
* design.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Topup
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/topups/%s', $id), $params, $opts);
}
}
+175
View File
@@ -0,0 +1,175 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class TransferService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of existing transfers sent to connected accounts. The transfers
* are returned in sorted order, with the most recently created transfers appearing
* first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/transfers', $params, $opts);
}
/**
* You can see a list of the reversals belonging to a specific transfer. Note that
* the 10 most recent reversals are always available by default on the transfer
* object. If you need more than those 10, you can use this API method and the
* <code>limit</code> and <code>starting_after</code> parameters to page through
* additional reversals.
*
* @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
*/
public function allReversals($parentId, $params = null, $opts = null)
{
return $this->requestCollection('get', $this->buildPath('/v1/transfers/%s/reversals', $parentId), $params, $opts);
}
/**
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Transfer
*/
public function cancel($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/transfers/%s/cancel', $id), $params, $opts);
}
/**
* To send funds from your Stripe account to a connected account, you create a new
* transfer object. Your <a href="#balance">Stripe balance</a> must be able to
* cover the transfer amount, or youll receive an “Insufficient Funds” error.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Transfer
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/transfers', $params, $opts);
}
/**
* When you create a new reversal, you must specify a transfer to create it on.
*
* When reversing transfers, you can optionally reverse part of the transfer. You
* can do so as many times as you wish until the entire transfer has been reversed.
*
* Once entirely reversed, a transfer cant be reversed again. This method will
* return an error when called on an already-reversed transfer, or when trying to
* reverse more money than is left on a transfer.
*
* @param string $parentId
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\TransferReversal
*/
public function createReversal($parentId, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/transfers/%s/reversals', $parentId), $params, $opts);
}
/**
* Retrieves the details of an existing transfer. Supply the unique transfer ID
* from either a transfer creation request or the transfer list, and Stripe will
* return the corresponding transfer information.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Transfer
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/transfers/%s', $id), $params, $opts);
}
/**
* By default, you can see the 10 most recent reversals stored directly on the
* transfer object, but you can also retrieve details about a specific reversal
* stored on the transfer.
*
* @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\TransferReversal
*/
public function retrieveReversal($parentId, $id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/transfers/%s/reversals/%s', $parentId, $id), $params, $opts);
}
/**
* Updates the specified transfer by setting the values of the parameters passed.
* Any parameters not provided will be left unchanged.
*
* This request accepts only metadata as an argument.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Transfer
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/transfers/%s', $id), $params, $opts);
}
/**
* Updates the specified reversal by setting the values of the parameters passed.
* Any parameters not provided will be left unchanged.
*
* This request only accepts metadata and description as arguments.
*
* @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\TransferReversal
*/
public function updateReversal($parentId, $id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/transfers/%s/reversals/%s', $parentId, $id), $params, $opts);
}
}
@@ -0,0 +1,97 @@
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class WebhookEndpointService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of your webhook endpoints.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/webhook_endpoints', $params, $opts);
}
/**
* A webhook endpoint must have a <code>url</code> and a list of
* <code>enabled_events</code>. You may optionally specify the Boolean
* <code>connect</code> parameter. If set to true, then a Connect webhook endpoint
* that notifies the specified <code>url</code> about events from all connected
* accounts is created; otherwise an account webhook endpoint that notifies the
* specified <code>url</code> only about events from your account is created. You
* can also create webhook endpoints in the <a
* href="https://dashboard.stripe.com/account/webhooks">webhooks settings</a>
* section of the Dashboard.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\WebhookEndpoint
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/webhook_endpoints', $params, $opts);
}
/**
* You can also delete webhook endpoints via the <a
* href="https://dashboard.stripe.com/account/webhooks">webhook endpoint
* management</a> page of the Stripe dashboard.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\WebhookEndpoint
*/
public function delete($id, $params = null, $opts = null)
{
return $this->request('delete', $this->buildPath('/v1/webhook_endpoints/%s', $id), $params, $opts);
}
/**
* Retrieves the webhook endpoint with the given ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\WebhookEndpoint
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/webhook_endpoints/%s', $id), $params, $opts);
}
/**
* Updates the webhook endpoint. You may edit the <code>url</code>, the list of
* <code>enabled_events</code>, and the status of your endpoint.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\WebhookEndpoint
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/webhook_endpoints/%s', $id), $params, $opts);
}
}