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,