diff --git a/CHANGELOG.md b/CHANGELOG.md index db023aad9..c2a3cb0f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## 13.10.0 - 2024-02-01 +* [#1636](https://github.com/stripe/stripe-php/pull/1636) Update generated code + * Add support for new value `swish` on enum `PaymentLink.payment_method_types[]` + * Add support for `swish` on `PaymentMethod` + * Add support for new value `swish` on enum `PaymentMethod.type` + * Add support for `jurisdiction_level` on `TaxRate` + * Change type of `Terminal.Reader.status` from `string` to `enum('offline'|'online')` +* [#1633](https://github.com/stripe/stripe-php/pull/1633) Update generated code + * Add support for `issuer` on `Invoice` + * Add support for `customer_balance` on `PaymentMethodConfiguration` +* [#1630](https://github.com/stripe/stripe-php/pull/1630) Add paginated requests helper function and use in Search and All + ## 13.10.0-beta.3 - 2024-01-25 * [#1634](https://github.com/stripe/stripe-php/pull/1634) Update generated code for beta * Add support for `create_preview` method on resource `Invoice` diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index c173ac88a..4ee3ea09e 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v796 \ No newline at end of file +v808 \ No newline at end of file diff --git a/init.php b/init.php index 41e259e44..239ea8287 100644 --- a/init.php +++ b/init.php @@ -114,9 +114,13 @@ require __DIR__ . '/lib/Customer.php'; require __DIR__ . '/lib/CustomerBalanceTransaction.php'; require __DIR__ . '/lib/CustomerCashBalanceTransaction.php'; +require __DIR__ . '/lib/CustomerEntitlement.php'; +require __DIR__ . '/lib/CustomerEntitlementSummary.php'; require __DIR__ . '/lib/CustomerSession.php'; require __DIR__ . '/lib/Discount.php'; require __DIR__ . '/lib/Dispute.php'; +require __DIR__ . '/lib/Entitlements/Event.php'; +require __DIR__ . '/lib/Entitlements/Feature.php'; require __DIR__ . '/lib/EphemeralKey.php'; require __DIR__ . '/lib/Event.php'; require __DIR__ . '/lib/ExchangeRate.php'; @@ -206,6 +210,9 @@ require __DIR__ . '/lib/Service/CustomerService.php'; require __DIR__ . '/lib/Service/CustomerSessionService.php'; require __DIR__ . '/lib/Service/DisputeService.php'; +require __DIR__ . '/lib/Service/Entitlements/EntitlementsServiceFactory.php'; +require __DIR__ . '/lib/Service/Entitlements/EventService.php'; +require __DIR__ . '/lib/Service/Entitlements/FeatureService.php'; require __DIR__ . '/lib/Service/EphemeralKeyService.php'; require __DIR__ . '/lib/Service/EventService.php'; require __DIR__ . '/lib/Service/ExchangeRateService.php'; diff --git a/lib/Checkout/Session.php b/lib/Checkout/Session.php index a745be502..d4e690046 100644 --- a/lib/Checkout/Session.php +++ b/lib/Checkout/Session.php @@ -67,7 +67,7 @@ * @property null|\Stripe\StripeObject $shipping_details Shipping information for this Checkout Session. * @property \Stripe\StripeObject[] $shipping_options The shipping rate options applied to this Session. * @property null|string $status The status of the Checkout Session, one of open, complete, or expired. - * @property null|string $submit_type Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. submit_type can only be specified on Checkout Sessions in payment mode, but not Checkout Sessions in subscription or setup mode. Possible values are auto, pay, book, donate. If blank or auto, pay is used. + * @property null|string $submit_type Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. submit_type can only be specified on Checkout Sessions in payment mode. If blank or auto, pay is used. * @property null|string|\Stripe\Subscription $subscription The ID of the subscription for Checkout Sessions in subscription mode. * @property null|string $success_url The URL the customer will be directed to after the payment or subscription creation is successful. * @property null|\Stripe\StripeObject $tax_id_collection diff --git a/lib/Customer.php b/lib/Customer.php index 4343a5814..62d8bb52a 100644 --- a/lib/Customer.php +++ b/lib/Customer.php @@ -254,6 +254,37 @@ public static function retrieveCashBalanceTransaction($id, $cashBalanceTransacti { return self::_retrieveNestedResource($id, static::PATH_CASH_BALANCE_TRANSACTIONS, $cashBalanceTransactionId, $params, $opts); } + const PATH_ENTITLEMENTS = '/entitlements'; + + /** + * @param string $id the ID of the customer on which to retrieve the customer entitlements + * @param null|array $params + * @param null|array|string $opts + * + * @throws \Stripe\Exception\ApiErrorException if the request fails + * + * @return \Stripe\Collection<\Stripe\CustomerEntitlement> the list of customer entitlements + */ + public static function allEntitlements($id, $params = null, $opts = null) + { + return self::_allNestedResources($id, static::PATH_ENTITLEMENTS, $params, $opts); + } + const PATH_ENTITLEMENT_SUMMARY = '/entitlement_summary'; + + /** + * @param string $id the ID of the customer to which the customer entitlement summary belongs + * @param null|array $params + * @param null|array|string $opts + * @param mixed $entitlementSummaryId + * + * @throws \Stripe\Exception\ApiErrorException if the request fails + * + * @return \Stripe\CustomerEntitlementSummary + */ + public static function retrieveEntitlementSummary($id, $entitlementSummaryId, $params = null, $opts = null) + { + return self::_retrieveNestedResource($id, static::PATH_ENTITLEMENT_SUMMARY, $params, $opts); + } const PATH_SOURCES = '/sources'; /** diff --git a/lib/CustomerEntitlement.php b/lib/CustomerEntitlement.php new file mode 100644 index 000000000..3c9ab4841 --- /dev/null +++ b/lib/CustomerEntitlement.php @@ -0,0 +1,26 @@ +true if the object exists in live mode or the value false if the object exists in test mode. + * @property string $lookup_key A unique key you provide as your own system identifier. This may be up to 80 characters. + * @property null|\Stripe\StripeObject $quantity Contains information about entitlements relating to features with type=quantity. Required when the feature has type=quantity. + * @property string $type The type of feature. + */ +class CustomerEntitlement extends ApiResource +{ + const OBJECT_NAME = 'customer_entitlement'; + + use ApiOperations\All; + + const TYPE_QUANTITY = 'quantity'; + const TYPE_SWITCH = 'switch'; +} diff --git a/lib/CustomerEntitlementSummary.php b/lib/CustomerEntitlementSummary.php new file mode 100644 index 000000000..174151fdc --- /dev/null +++ b/lib/CustomerEntitlementSummary.php @@ -0,0 +1,20 @@ + $entitlements The list of entitlements this customer has. + * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. + */ +class CustomerEntitlementSummary extends ApiResource +{ + const OBJECT_NAME = 'customer_entitlement_summary'; + + use ApiOperations\Retrieve; +} diff --git a/lib/Entitlements/Event.php b/lib/Entitlements/Event.php new file mode 100644 index 000000000..5e2db73f0 --- /dev/null +++ b/lib/Entitlements/Event.php @@ -0,0 +1,28 @@ +true if the object exists in live mode or the value false if the object exists in test mode. + * @property null|\Stripe\StripeObject $quantity Contains information about entitlement events relating to features with type=quantity. Required when the feature has type=quantity. + * @property null|\Stripe\StripeObject $revoke Contains information about type=revoke entitlement event. + * @property string $type Whether the event is a grant or revocation of the feature. + */ +class Event extends \Stripe\ApiResource +{ + const OBJECT_NAME = 'entitlements.event'; + + use \Stripe\ApiOperations\Create; + + const TYPE_GRANT = 'grant'; + const TYPE_REVOKE = 'revoke'; +} diff --git a/lib/Entitlements/Feature.php b/lib/Entitlements/Feature.php new file mode 100644 index 000000000..243cb864f --- /dev/null +++ b/lib/Entitlements/Feature.php @@ -0,0 +1,28 @@ +true if the object exists in live mode or the value false if the object exists in test mode. + * @property string $lookup_key A unique key you provide as your own system identifier. This may be up to 80 characters. + * @property string $name The feature's name, for your own purpose, not meant to be displayable to the customer. + * @property null|\Stripe\StripeObject $quantity Contains information about type=quantity features. This is required when type=quantity. + * @property string $type The type of feature. + */ +class Feature extends \Stripe\ApiResource +{ + const OBJECT_NAME = 'entitlements.feature'; + + use \Stripe\ApiOperations\All; + use \Stripe\ApiOperations\Create; + + const TYPE_QUANTITY = 'quantity'; + const TYPE_SWITCH = 'switch'; +} diff --git a/lib/Event.php b/lib/Event.php index b6dd269dc..f4021d810 100644 --- a/lib/Event.php +++ b/lib/Event.php @@ -120,6 +120,7 @@ class Event extends ApiResource const CUSTOMER_DISCOUNT_CREATED = 'customer.discount.created'; const CUSTOMER_DISCOUNT_DELETED = 'customer.discount.deleted'; const CUSTOMER_DISCOUNT_UPDATED = 'customer.discount.updated'; + const CUSTOMER_ENTITLEMENT_SUMMARY_UPDATED = 'customer.entitlement_summary.updated'; const CUSTOMER_SOURCE_CREATED = 'customer.source.created'; const CUSTOMER_SOURCE_DELETED = 'customer.source.deleted'; const CUSTOMER_SOURCE_EXPIRING = 'customer.source.expiring'; @@ -384,6 +385,7 @@ class Event extends ApiResource const TYPE_CUSTOMER_DISCOUNT_CREATED = 'customer.discount.created'; const TYPE_CUSTOMER_DISCOUNT_DELETED = 'customer.discount.deleted'; const TYPE_CUSTOMER_DISCOUNT_UPDATED = 'customer.discount.updated'; + const TYPE_CUSTOMER_ENTITLEMENT_SUMMARY_UPDATED = 'customer.entitlement_summary.updated'; const TYPE_CUSTOMER_SOURCE_CREATED = 'customer.source.created'; const TYPE_CUSTOMER_SOURCE_DELETED = 'customer.source.deleted'; const TYPE_CUSTOMER_SOURCE_EXPIRING = 'customer.source.expiring'; diff --git a/lib/PaymentMethod.php b/lib/PaymentMethod.php index c0558b63f..1724496a7 100644 --- a/lib/PaymentMethod.php +++ b/lib/PaymentMethod.php @@ -50,6 +50,7 @@ * @property null|\Stripe\StripeObject $revolut_pay * @property null|\Stripe\StripeObject $sepa_debit * @property null|\Stripe\StripeObject $sofort + * @property null|\Stripe\StripeObject $swish * @property string $type The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. * @property null|\Stripe\StripeObject $us_bank_account * @property null|\Stripe\StripeObject $wechat_pay @@ -95,6 +96,7 @@ class PaymentMethod extends ApiResource const TYPE_REVOLUT_PAY = 'revolut_pay'; const TYPE_SEPA_DEBIT = 'sepa_debit'; const TYPE_SOFORT = 'sofort'; + const TYPE_SWISH = 'swish'; const TYPE_US_BANK_ACCOUNT = 'us_bank_account'; const TYPE_WECHAT_PAY = 'wechat_pay'; const TYPE_ZIP = 'zip'; diff --git a/lib/Product.php b/lib/Product.php index 2dd7eb071..22852b3fe 100644 --- a/lib/Product.php +++ b/lib/Product.php @@ -20,7 +20,7 @@ * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\Price $default_price The ID of the Price object that is the default price for this product. * @property null|string $description The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. - * @property \Stripe\StripeObject[] $features A list of up to 15 features for this product. These are displayed in pricing tables. + * @property \Stripe\StripeObject[] $features A list of up to 15 features for this product. Entries using name are displayed in pricing tables. * @property string[] $images A list of up to 8 URLs of images for this product, meant to be displayable to the customer. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. diff --git a/lib/Service/CoreServiceFactory.php b/lib/Service/CoreServiceFactory.php index 1daf4c347..1d1413477 100644 --- a/lib/Service/CoreServiceFactory.php +++ b/lib/Service/CoreServiceFactory.php @@ -28,6 +28,7 @@ * @property CustomerService $customers * @property CustomerSessionService $customerSessions * @property DisputeService $disputes + * @property Entitlements\EntitlementsServiceFactory $entitlements * @property EphemeralKeyService $ephemeralKeys * @property EventService $events * @property ExchangeRateService $exchangeRates @@ -107,6 +108,7 @@ class CoreServiceFactory extends \Stripe\Service\AbstractServiceFactory 'customers' => CustomerService::class, 'customerSessions' => CustomerSessionService::class, 'disputes' => DisputeService::class, + 'entitlements' => Entitlements\EntitlementsServiceFactory::class, 'ephemeralKeys' => EphemeralKeyService::class, 'events' => EventService::class, 'exchangeRates' => ExchangeRateService::class, diff --git a/lib/Service/CustomerService.php b/lib/Service/CustomerService.php index 34346a1eb..418074147 100644 --- a/lib/Service/CustomerService.php +++ b/lib/Service/CustomerService.php @@ -56,6 +56,22 @@ public function allCashBalanceTransactions($parentId, $params = null, $opts = nu return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/cash_balance_transactions', $parentId), $params, $opts); } + /** + * Retrieve a list of entitlements 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<\Stripe\CustomerEntitlement> + */ + public function allEntitlements($parentId, $params = null, $opts = null) + { + return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/entitlements', $parentId), $params, $opts); + } + /** * Returns a list of PaymentMethods for a given Customer. * @@ -329,6 +345,22 @@ public function retrieveCashBalanceTransaction($parentId, $id, $params = null, $ return $this->request('get', $this->buildPath('/v1/customers/%s/cash_balance_transactions/%s', $parentId, $id), $params, $opts); } + /** + * Retrieve the entitlement summary 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\CustomerEntitlementSummary + */ + public function retrieveEntitlementSummary($parentId, $params = null, $opts = null) + { + return $this->request('get', $this->buildPath('/v1/customers/%s/entitlement_summary', $parentId), $params, $opts); + } + /** * Retrieves a PaymentMethod object for a given Customer. * diff --git a/lib/Service/Entitlements/EntitlementsServiceFactory.php b/lib/Service/Entitlements/EntitlementsServiceFactory.php new file mode 100644 index 000000000..cb17a4cf3 --- /dev/null +++ b/lib/Service/Entitlements/EntitlementsServiceFactory.php @@ -0,0 +1,27 @@ + + */ + private static $classMap = [ + 'events' => EventService::class, + 'features' => FeatureService::class, + ]; + + protected function getServiceClass($name) + { + return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; + } +} diff --git a/lib/Service/Entitlements/EventService.php b/lib/Service/Entitlements/EventService.php new file mode 100644 index 000000000..0837beef6 --- /dev/null +++ b/lib/Service/Entitlements/EventService.php @@ -0,0 +1,24 @@ +request('post', '/v1/entitlements/events', $params, $opts); + } +} diff --git a/lib/Service/Entitlements/FeatureService.php b/lib/Service/Entitlements/FeatureService.php new file mode 100644 index 000000000..3d8ae9022 --- /dev/null +++ b/lib/Service/Entitlements/FeatureService.php @@ -0,0 +1,38 @@ + + */ + public function all($params = null, $opts = null) + { + return $this->requestCollection('get', '/v1/entitlements/features', $params, $opts); + } + + /** + * Creates a feature. + * + * @param null|array $params + * @param null|array|\Stripe\Util\RequestOptions $opts + * + * @throws \Stripe\Exception\ApiErrorException if the request fails + * + * @return \Stripe\Entitlements\Feature + */ + public function create($params = null, $opts = null) + { + return $this->request('post', '/v1/entitlements/features', $params, $opts); + } +} diff --git a/lib/StripeClient.php b/lib/StripeClient.php index 450863b5b..4411bffcd 100644 --- a/lib/StripeClient.php +++ b/lib/StripeClient.php @@ -28,6 +28,7 @@ * @property \Stripe\Service\CustomerService $customers * @property \Stripe\Service\CustomerSessionService $customerSessions * @property \Stripe\Service\DisputeService $disputes + * @property \Stripe\Service\Entitlements\EntitlementsServiceFactory $entitlements * @property \Stripe\Service\EphemeralKeyService $ephemeralKeys * @property \Stripe\Service\EventService $events * @property \Stripe\Service\ExchangeRateService $exchangeRates diff --git a/lib/Tax/CalculationLineItem.php b/lib/Tax/CalculationLineItem.php index 8e25c5ec4..70c711e2e 100644 --- a/lib/Tax/CalculationLineItem.php +++ b/lib/Tax/CalculationLineItem.php @@ -7,8 +7,8 @@ /** * @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 $amount The line item amount in integer cents. If tax_behavior=inclusive, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. - * @property int $amount_tax The amount of tax calculated for this line item, in integer cents. + * @property int $amount The line item amount in the smallest currency unit. If tax_behavior=inclusive, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. + * @property int $amount_tax The amount of tax calculated for this line item, in the smallest currency unit. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $product The ID of an existing Product. * @property int $quantity The number of units of the item being purchased. For reversals, this is the quantity reversed. diff --git a/lib/Tax/TransactionLineItem.php b/lib/Tax/TransactionLineItem.php index 546518a59..a506c6d8e 100644 --- a/lib/Tax/TransactionLineItem.php +++ b/lib/Tax/TransactionLineItem.php @@ -7,8 +7,8 @@ /** * @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 $amount The line item amount in integer cents. If tax_behavior=inclusive, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. - * @property int $amount_tax The amount of tax calculated for this line item, in integer cents. + * @property int $amount The line item amount in the smallest currency unit. If tax_behavior=inclusive, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. + * @property int $amount_tax The amount of tax calculated for this line item, in the smallest currency unit. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $product The ID of an existing Product. diff --git a/lib/TaxId.php b/lib/TaxId.php index 6a87d6913..91f30f23c 100644 --- a/lib/TaxId.php +++ b/lib/TaxId.php @@ -16,6 +16,7 @@ * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\Customer $customer ID of the customer. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. + * @property null|\Stripe\StripeObject $owner The account or customer the tax ID belongs to. * @property string $type Type of the tax ID, one of ad_nrt, ae_trn, ar_cuit, au_abn, au_arn, bg_uic, bo_tin, br_cnpj, br_cpf, ca_bn, ca_gst_hst, ca_pst_bc, ca_pst_mb, ca_pst_sk, ca_qst, ch_vat, cl_tin, cn_tin, co_nit, cr_tin, do_rcn, ec_ruc, eg_tin, es_cif, eu_oss_vat, eu_vat, gb_vat, ge_vat, hk_br, hu_tin, id_npwp, il_vat, in_gst, is_vat, jp_cn, jp_rn, jp_trn, ke_pin, kr_brn, li_uid, mx_rfc, my_frp, my_itn, my_sst, no_vat, nz_gst, pe_ruc, ph_tin, ro_tin, rs_pib, ru_inn, ru_kpp, sa_vat, sg_gst, sg_uen, si_tin, sv_nit, th_vat, tr_tin, tw_vat, ua_vat, us_ein, uy_ruc, ve_rif, vn_tin, or za_vat. Note that some legacy tax IDs have type unknown * @property string $value Value of the tax ID. * @property null|\Stripe\StripeObject $verification Tax ID verification information. diff --git a/lib/TaxRate.php b/lib/TaxRate.php index b210270de..1afc73749 100644 --- a/lib/TaxRate.php +++ b/lib/TaxRate.php @@ -19,6 +19,7 @@ * @property null|float $effective_percentage Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product's taxability and whether the user is registered to collect taxes in the corresponding jurisdiction. * @property bool $inclusive This specifies if the tax rate is inclusive or exclusive. * @property null|string $jurisdiction The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice. + * @property null|string $jurisdiction_level The level of the jurisdiction that imposes this tax rate. Will be null for manually defined tax rates. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property float $percentage Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions. @@ -34,6 +35,13 @@ class TaxRate extends ApiResource use ApiOperations\Retrieve; use ApiOperations\Update; + const JURISDICTION_LEVEL_CITY = 'city'; + const JURISDICTION_LEVEL_COUNTRY = 'country'; + const JURISDICTION_LEVEL_COUNTY = 'county'; + const JURISDICTION_LEVEL_DISTRICT = 'district'; + const JURISDICTION_LEVEL_MULTIPLE = 'multiple'; + const JURISDICTION_LEVEL_STATE = 'state'; + const TAX_TYPE_AMUSEMENT_TAX = 'amusement_tax'; const TAX_TYPE_COMMUNICATIONS_TAX = 'communications_tax'; const TAX_TYPE_GST = 'gst'; diff --git a/lib/Terminal/Reader.php b/lib/Terminal/Reader.php index 44c635414..901dac7db 100644 --- a/lib/Terminal/Reader.php +++ b/lib/Terminal/Reader.php @@ -39,6 +39,9 @@ class Reader extends \Stripe\ApiResource const DEVICE_TYPE_STRIPE_M2 = 'stripe_m2'; const DEVICE_TYPE_VERIFONE_P400 = 'verifone_P400'; + const STATUS_OFFLINE = 'offline'; + const STATUS_ONLINE = 'online'; + /** * @param null|array $params * @param null|array|string $opts diff --git a/lib/Util/ObjectTypes.php b/lib/Util/ObjectTypes.php index cad62c726..a28824c76 100644 --- a/lib/Util/ObjectTypes.php +++ b/lib/Util/ObjectTypes.php @@ -46,9 +46,13 @@ class ObjectTypes \Stripe\Customer::OBJECT_NAME => \Stripe\Customer::class, \Stripe\CustomerBalanceTransaction::OBJECT_NAME => \Stripe\CustomerBalanceTransaction::class, \Stripe\CustomerCashBalanceTransaction::OBJECT_NAME => \Stripe\CustomerCashBalanceTransaction::class, + \Stripe\CustomerEntitlement::OBJECT_NAME => \Stripe\CustomerEntitlement::class, + \Stripe\CustomerEntitlementSummary::OBJECT_NAME => \Stripe\CustomerEntitlementSummary::class, \Stripe\CustomerSession::OBJECT_NAME => \Stripe\CustomerSession::class, \Stripe\Discount::OBJECT_NAME => \Stripe\Discount::class, \Stripe\Dispute::OBJECT_NAME => \Stripe\Dispute::class, + \Stripe\Entitlements\Event::OBJECT_NAME => \Stripe\Entitlements\Event::class, + \Stripe\Entitlements\Feature::OBJECT_NAME => \Stripe\Entitlements\Feature::class, \Stripe\EphemeralKey::OBJECT_NAME => \Stripe\EphemeralKey::class, \Stripe\Event::OBJECT_NAME => \Stripe\Event::class, \Stripe\ExchangeRate::OBJECT_NAME => \Stripe\ExchangeRate::class,