Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API Updates #1294

Merged
merged 1 commit into from
May 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v146
3 changes: 3 additions & 0 deletions init.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
require __DIR__ . '/lib/ApplePayDomain.php';
require __DIR__ . '/lib/ApplicationFee.php';
require __DIR__ . '/lib/ApplicationFeeRefund.php';
require __DIR__ . '/lib/Apps/Secret.php';
require __DIR__ . '/lib/Balance.php';
require __DIR__ . '/lib/BalanceTransaction.php';
require __DIR__ . '/lib/BankAccount.php';
Expand Down Expand Up @@ -191,6 +192,7 @@
require __DIR__ . '/lib/Service/AccountLinkService.php';
require __DIR__ . '/lib/Service/ApplePayDomainService.php';
require __DIR__ . '/lib/Service/ApplicationFeeService.php';
require __DIR__ . '/lib/Service/Apps/SecretService.php';
require __DIR__ . '/lib/Service/BalanceService.php';
require __DIR__ . '/lib/Service/BalanceTransactionService.php';
require __DIR__ . '/lib/Service/BillingPortal/ConfigurationService.php';
Expand Down Expand Up @@ -275,6 +277,7 @@
require __DIR__ . '/lib/Service/WebhookEndpointService.php';

// Service factories
require __DIR__ . '/lib/Service/Apps/AppsServiceFactory.php';
require __DIR__ . '/lib/Service/BillingPortal/BillingPortalServiceFactory.php';
require __DIR__ . '/lib/Service/Checkout/CheckoutServiceFactory.php';
require __DIR__ . '/lib/Service/CoreServiceFactory.php';
Expand Down
78 changes: 78 additions & 0 deletions lib/Apps/Secret.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<?php

// File generated from our OpenAPI spec

namespace Stripe\Apps;

/**
* Secret Store is an API that allows Stripe Apps developers to securely persist
* secrets for use by UI Extensions and app backends.
*
* The primary resource in Secret Store is a <code>secret</code>. Other apps can't
* view secrets created by an app. Additionally, secrets are scoped to provide
* further permission control.
*
* All Dashboard users and the app backend share <code>account</code> scoped
* secrets. Use the <code>account</code> scope for secrets that don't change
* per-user, like a third-party API key.
*
* A <code>user</code> scoped secret is accessible by the app backend and one
* specific Dashboard user. Use the <code>user</code> scope for per-user secrets
* like per-user OAuth tokens, where different users might have different
* permissions.
*
* Related guide: <a
* href="https://stripe.com/docs/stripe-apps/store-auth-data-custom-objects">Store
* data between page reloads</a>.
*
* @property string $id Unique identifier for the object.
* @property string $object String representing the object's type. Objects of the same type share the same value.
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
* @property string $name A name for the secret that's unique within the scope.
* @property null|string $payload The plaintext secret value to be stored.
* @property \Stripe\StripeObject $scope
*/
class Secret extends \Stripe\ApiResource
{
const OBJECT_NAME = 'apps.secret';

use \Stripe\ApiOperations\All;
use \Stripe\ApiOperations\Create;

/**
* @param null|array $params
* @param null|array|string $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret the deleted secret
*/
public static function deleteWhere($params = null, $opts = null)
{
$url = static::classUrl() . '/delete';
list($response, $opts) = static::_staticRequest('post', $url, $params, $opts);
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
$obj->setLastResponse($response);

return $obj;
}

/**
* @param null|array $params
* @param null|array|string $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret the finded secret
*/
public static function find($params = null, $opts = null)
{
$url = static::classUrl() . '/find';
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
$obj->setLastResponse($response);

return $obj;
}
}
2 changes: 2 additions & 0 deletions lib/PaymentMethod.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
* @property string $id Unique identifier for the object.
* @property string $object String representing the object's type. Objects of the same type share the same value.
* @property \Stripe\StripeObject $acss_debit
* @property \Stripe\StripeObject $affirm
* @property \Stripe\StripeObject $afterpay_clearpay
* @property \Stripe\StripeObject $alipay
* @property \Stripe\StripeObject $au_becs_debit
Expand All @@ -39,6 +40,7 @@
* @property \Stripe\StripeObject $interac_present
* @property \Stripe\StripeObject $klarna
* @property \Stripe\StripeObject $konbini
* @property \Stripe\StripeObject $link
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
* @property null|\Stripe\StripeObject $metadata Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
* @property \Stripe\StripeObject $oxxo
Expand Down
25 changes: 25 additions & 0 deletions lib/Service/Apps/AppsServiceFactory.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php

// File generated from our OpenAPI spec

namespace Stripe\Service\Apps;

/**
* Service factory class for API resources in the Apps namespace.
*
* @property SecretService $secrets
*/
class AppsServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'secrets' => SecretService::class,
];

protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
68 changes: 68 additions & 0 deletions lib/Service/Apps/SecretService.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?php

// File generated from our OpenAPI spec

namespace Stripe\Service\Apps;

class SecretService extends \Stripe\Service\AbstractService
{
/**
* List all secrets stored on the given scope.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection<\Stripe\Apps\Secret>
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/apps/secrets', $params, $opts);
}

/**
* Create or replace a secret in the secret store.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/apps/secrets', $params, $opts);
}

/**
* Deletes a secret from the secret store by name and scope.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret
*/
public function deleteWhere($params = null, $opts = null)
{
return $this->request('post', '/v1/apps/secrets/delete', $params, $opts);
}

/**
* Finds a secret in the secret store by name and scope.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret
*/
public function find($params = null, $opts = null)
{
return $this->request('get', '/v1/apps/secrets/find', $params, $opts);
}
}
2 changes: 2 additions & 0 deletions lib/Service/CoreServiceFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* @property AccountService $accounts
* @property ApplePayDomainService $applePayDomains
* @property ApplicationFeeService $applicationFees
* @property Apps\AppsServiceFactory $apps
* @property BalanceService $balance
* @property BalanceTransactionService $balanceTransactions
* @property BillingPortal\BillingPortalServiceFactory $billingPortal
Expand Down Expand Up @@ -76,6 +77,7 @@ class CoreServiceFactory extends \Stripe\Service\AbstractServiceFactory
'accounts' => AccountService::class,
'applePayDomains' => ApplePayDomainService::class,
'applicationFees' => ApplicationFeeService::class,
'apps' => Apps\AppsServiceFactory::class,
'balance' => BalanceService::class,
'balanceTransactions' => BalanceTransactionService::class,
'billingPortal' => BillingPortal\BillingPortalServiceFactory::class,
Expand Down
1 change: 1 addition & 0 deletions lib/StripeClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* @property \Stripe\Service\AccountService $accounts
* @property \Stripe\Service\ApplePayDomainService $applePayDomains
* @property \Stripe\Service\ApplicationFeeService $applicationFees
* @property \Stripe\Service\Apps\AppsServiceFactory $apps
* @property \Stripe\Service\BalanceService $balance
* @property \Stripe\Service\BalanceTransactionService $balanceTransactions
* @property \Stripe\Service\BillingPortal\BillingPortalServiceFactory $billingPortal
Expand Down
1 change: 1 addition & 0 deletions lib/Util/ObjectTypes.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class ObjectTypes
\Stripe\ApplePayDomain::OBJECT_NAME => \Stripe\ApplePayDomain::class,
\Stripe\ApplicationFee::OBJECT_NAME => \Stripe\ApplicationFee::class,
\Stripe\ApplicationFeeRefund::OBJECT_NAME => \Stripe\ApplicationFeeRefund::class,
\Stripe\Apps\Secret::OBJECT_NAME => \Stripe\Apps\Secret::class,
\Stripe\Balance::OBJECT_NAME => \Stripe\Balance::class,
\Stripe\BalanceTransaction::OBJECT_NAME => \Stripe\BalanceTransaction::class,
\Stripe\BankAccount::OBJECT_NAME => \Stripe\BankAccount::class,
Expand Down
31 changes: 31 additions & 0 deletions tests/Stripe/GeneratedExamplesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,37 @@ public function testCreateReceivedDebit()
static::assertInstanceOf(\Stripe\Treasury\ReceivedDebit::class, $result);
}

public function testCreateSecret()
{
$this->expectsRequest('post', '/v1/apps/secrets');
$result = $this->client->apps->secrets->create(
[
'name' => 'sec_123',
'payload' => 'very secret string',
'scope' => ['type' => 'account'],
]
);
static::assertInstanceOf(\Stripe\Apps\Secret::class, $result);
}

public function testFindSecret()
{
$this->expectsRequest('get', '/v1/apps/secrets/find');
$result = $this->client->apps->secrets->find(
['name' => 'sec_123', 'scope' => ['type' => 'account']]
);
static::assertInstanceOf(\Stripe\Apps\Secret::class, $result);
}

public function testDeleteWhereSecret()
{
$this->expectsRequest('post', '/v1/apps/secrets/delete');
$result = $this->client->apps->secrets->deleteWhere(
['name' => 'sec_123', 'scope' => ['type' => 'account']]
);
static::assertInstanceOf(\Stripe\Apps\Secret::class, $result);
}

public function testListCustomer()
{
$this->expectsRequest('get', '/v1/customers');
Expand Down