diff --git a/CHANGELOG.md b/CHANGELOG.md
index edb407815..833f9736c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,9 +1,18 @@
# Changelog
+## 15.8.0 - 2024-08-29
+* [#1742](https://github.com/stripe/stripe-php/pull/1742) Generate SDK for OpenAPI spec version 1230
+ * Add support for new value `issuing_regulatory_reporting` on enum `File.purpose`
+ * Add support for new value `hr_oib` on enum `TaxId.type`
+ * Add support for `status_details` on `TestHelpers.TestClock`
+
## 15.8.0-beta.1 - 2024-08-15
* [#1735](https://github.com/stripe/stripe-php/pull/1735) Update generated code for beta
* Add support for `collected_information` and `permissions` on `Checkout.Session`
+## 15.7.0 - 2024-08-15
+* [#1736](https://github.com/stripe/stripe-php/pull/1736) Update generated code
+
## 15.7.0-beta.1 - 2024-08-12
* [#1730](https://github.com/stripe/stripe-php/pull/1730) Update generated code for beta
* Add support for new value `custom` on enum `Checkout.Session.ui_mode`
diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index 82e4a49f9..b7ea530db 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1 +1 @@
-v1201
\ No newline at end of file
+v1247
\ No newline at end of file
diff --git a/init.php b/init.php
index 8b12bca38..214a3ae25 100644
--- a/init.php
+++ b/init.php
@@ -97,6 +97,7 @@
require __DIR__ . '/lib/Billing/Alert.php';
require __DIR__ . '/lib/Billing/AlertTriggered.php';
require __DIR__ . '/lib/Billing/Meter.php';
+require __DIR__ . '/lib/Billing/MeterErrorReport.php';
require __DIR__ . '/lib/Billing/MeterEvent.php';
require __DIR__ . '/lib/Billing/MeterEventAdjustment.php';
require __DIR__ . '/lib/Billing/MeterEventSummary.php';
@@ -305,6 +306,7 @@
require __DIR__ . '/lib/Service/Terminal/ConfigurationService.php';
require __DIR__ . '/lib/Service/Terminal/ConnectionTokenService.php';
require __DIR__ . '/lib/Service/Terminal/LocationService.php';
+require __DIR__ . '/lib/Service/Terminal/ReaderCollectedDataService.php';
require __DIR__ . '/lib/Service/Terminal/ReaderService.php';
require __DIR__ . '/lib/Service/Terminal/TerminalServiceFactory.php';
require __DIR__ . '/lib/Service/TestHelpers/ConfirmationTokenService.php';
@@ -366,6 +368,7 @@
require __DIR__ . '/lib/Terminal/ConnectionToken.php';
require __DIR__ . '/lib/Terminal/Location.php';
require __DIR__ . '/lib/Terminal/Reader.php';
+require __DIR__ . '/lib/Terminal/ReaderCollectedData.php';
require __DIR__ . '/lib/TestHelpers/TestClock.php';
require __DIR__ . '/lib/Token.php';
require __DIR__ . '/lib/Topup.php';
diff --git a/lib/Billing/MeterErrorReport.php b/lib/Billing/MeterErrorReport.php
new file mode 100644
index 000000000..23da46ef9
--- /dev/null
+++ b/lib/Billing/MeterErrorReport.php
@@ -0,0 +1,19 @@
+payment_method or payment_method_details
instead.
* @property null|string|\Stripe\Transfer $source_transfer The transfer ID which created this charge. Only present if the charge came from another Stripe account. See the Connect documentation for details.
- * @property null|string $statement_descriptor For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For a card charge, this value is ignored unless you don't specify a statement_descriptor_suffix
, in which case this value is used as the suffix.
+ * @property null|string $statement_descriptor
For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see the Statement Descriptor docs.
For a card charge, this value is ignored unless you don't specify a statement_descriptor_suffix
, in which case this value is used as the suffix.
succeeded
, pending
, or failed
.
* @property null|string|\Stripe\Transfer $transfer ID of the transfer to the destination
account (only applicable if the charge was created using the destination
parameter).
diff --git a/lib/Checkout/Session.php b/lib/Checkout/Session.php
index 33ccd023f..204ec4977 100644
--- a/lib/Checkout/Session.php
+++ b/lib/Checkout/Session.php
@@ -61,7 +61,7 @@
* @property null|\Stripe\StripeObject $permissions This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.
For specific permissions, please refer to their dedicated subsections, such as permissions.update.shipping_details
.
ui_mode: embedded
. Learn more about the redirect behavior of embedded sessions. Defaults to always
.
+ * @property null|string $redirect_on_completion This parameter applies to ui_mode: embedded
. Learn more about the redirect behavior of embedded sessions. Defaults to always
.
* @property null|string $return_url Applies to Checkout Sessions with ui_mode: embedded
or ui_mode: custom
. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.
* @property null|\Stripe\StripeObject $saved_payment_method_options Controls saved payment method settings for the session. Only available in payment
and subscription
mode.
* @property null|string|\Stripe\SetupIntent $setup_intent The ID of the SetupIntent for Checkout Sessions in setup
mode. You can't confirm or cancel the SetupIntent for a Checkout Session. To cancel, expire the Checkout Session instead.
diff --git a/lib/CustomerSession.php b/lib/CustomerSession.php
index 52ffe1814..e84bb8c97 100644
--- a/lib/CustomerSession.php
+++ b/lib/CustomerSession.php
@@ -8,6 +8,10 @@
* A Customer Session allows you to grant Stripe's frontend SDKs (like Stripe.js) client-side access
* control over a Customer.
*
+ * Related guides: Customer Session with the Payment Element,
+ * Customer Session with the Pricing Table,
+ * Customer Session with the Buy Button.
+ *
* @property string $object String representing the object's type. Objects of the same type share the same value.
* @property string $client_secret The client secret of this Customer Session. Used on the client to set up secure access to the given customer
.
The client secret can be used to provide access to customer
from your frontend. It should not be stored, logged, or exposed to anyone other than the relevant customer. Make sure that you have TLS enabled on any page that includes the client secret.
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 $regulatory_reporting_file File containing regulatory reporting data for the decision. Required if you are subject to this reporting requirement.
* @property null|\Stripe\StripeObject $underwriting_exception If an exception to the usual underwriting criteria was made for this application, details about the exception must be provided. Exceptions should only be granted in rare circumstances, in consultation with Stripe Compliance.
*/
class CreditUnderwritingRecord extends \Stripe\ApiResource
diff --git a/lib/LineItem.php b/lib/LineItem.php
index e84788c06..2404b60f1 100644
--- a/lib/LineItem.php
+++ b/lib/LineItem.php
@@ -14,7 +14,7 @@
* @property int $amount_tax Total tax amount applied. If no tax was applied, defaults to 0.
* @property int $amount_total Total after discounts and taxes.
* @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency.
- * @property string $description An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name.
+ * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name.
* @property null|\Stripe\StripeObject[] $discounts The discounts applied to the line item.
* @property null|\Stripe\Price $price The price used to generate the line item.
* @property null|string|\Stripe\Product $product The ID of the product for this line item.
This will always be the same as price.product
.
Indicates that you intend to make future payments with this PaymentIntent's payment method.
If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still attach the payment method to a Customer after the transaction completes.
If the payment method is card_present
and isn't a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.
When processing card payments, Stripe uses setup_future_usage
to help you comply with regional legislation and network rules, such as SCA.
Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see the Statement Descriptor docs.
Setting this value for a card charge returns an error. For card charges, set the statement_descriptor_suffix instead.
* @property null|string $statement_descriptor_suffix Provides information about a card charge. Concatenated to the account's statement descriptor prefix to form the complete statement descriptor that appears on the customer's statement. * @property string $status Status of this PaymentIntent, one ofrequires_payment_method
, requires_confirmation
, requires_action
, processing
, requires_capture
, canceled
, or succeeded
. Read more about each PaymentIntent status.
* @property null|\Stripe\StripeObject $transfer_data The data that automatically creates a Transfer after the payment finalizes. Learn more about the use case for connected accounts.
diff --git a/lib/PaymentMethod.php b/lib/PaymentMethod.php
index 4736aed39..17e015a46 100644
--- a/lib/PaymentMethod.php
+++ b/lib/PaymentMethod.php
@@ -41,6 +41,7 @@
* @property null|\Stripe\StripeObject $konbini
* @property null|\Stripe\StripeObject $link
* @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 $mb_way
* @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|\Stripe\StripeObject $mobilepay
* @property null|\Stripe\StripeObject $multibanco
@@ -96,6 +97,7 @@ class PaymentMethod extends ApiResource
const TYPE_KLARNA = 'klarna';
const TYPE_KONBINI = 'konbini';
const TYPE_LINK = 'link';
+ const TYPE_MB_WAY = 'mb_way';
const TYPE_MOBILEPAY = 'mobilepay';
const TYPE_MULTIBANCO = 'multibanco';
const TYPE_OXXO = 'oxxo';
diff --git a/lib/Service/PaymentIntentService.php b/lib/Service/PaymentIntentService.php
index afc4ea53d..787992177 100644
--- a/lib/Service/PaymentIntentService.php
+++ b/lib/Service/PaymentIntentService.php
@@ -115,7 +115,10 @@ public function capture($id, $params = null, $opts = null)
* If any actions are required for the payment, the PaymentIntent will return to
* the requires_confirmation
state after those actions are completed.
* Your server needs to then explicitly re-confirm the PaymentIntent to initiate
- * the next payment attempt.
+ * the next payment attempt. There is a variable upper limit on how many times a
+ * PaymentIntent can be confirmed. After this limit is reached, any further calls
+ * to this endpoint will transition the PaymentIntent to the canceled
+ * state.
*
* @param string $id
* @param null|array $params
diff --git a/lib/Service/Terminal/ReaderCollectedDataService.php b/lib/Service/Terminal/ReaderCollectedDataService.php
new file mode 100644
index 000000000..45c9b5fbe
--- /dev/null
+++ b/lib/Service/Terminal/ReaderCollectedDataService.php
@@ -0,0 +1,28 @@
+request('get', $this->buildPath('/v1/terminal/reader_collected_data/%s', $id), $params, $opts);
+ }
+}
diff --git a/lib/Service/Terminal/TerminalServiceFactory.php b/lib/Service/Terminal/TerminalServiceFactory.php
index f095124c0..ffbfb9c7c 100644
--- a/lib/Service/Terminal/TerminalServiceFactory.php
+++ b/lib/Service/Terminal/TerminalServiceFactory.php
@@ -10,6 +10,7 @@
* @property ConfigurationService $configurations
* @property ConnectionTokenService $connectionTokens
* @property LocationService $locations
+ * @property ReaderCollectedDataService $readerCollectedData
* @property ReaderService $readers
*/
class TerminalServiceFactory extends \Stripe\Service\AbstractServiceFactory
@@ -21,6 +22,7 @@ class TerminalServiceFactory extends \Stripe\Service\AbstractServiceFactory
'configurations' => ConfigurationService::class,
'connectionTokens' => ConnectionTokenService::class,
'locations' => LocationService::class,
+ 'readerCollectedData' => ReaderCollectedDataService::class,
'readers' => ReaderService::class,
];
diff --git a/lib/TaxId.php b/lib/TaxId.php
index e69a22a88..e0b491178 100644
--- a/lib/TaxId.php
+++ b/lib/TaxId.php
@@ -17,7 +17,7 @@
* @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
, bh_vat
, bo_tin
, br_cnpj
, br_cpf
, ca_bn
, ca_gst_hst
, ca_pst_bc
, ca_pst_mb
, ca_pst_sk
, ca_qst
, ch_uid
, ch_vat
, cl_tin
, cn_tin
, co_nit
, cr_tin
, de_stn
, 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
, kz_bin
, li_uid
, mx_rfc
, my_frp
, my_itn
, my_sst
, ng_tin
, no_vat
, no_voec
, nz_gst
, om_vat
, 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 $type Type of the tax ID, one of ad_nrt
, ae_trn
, ar_cuit
, au_abn
, au_arn
, bg_uic
, bh_vat
, bo_tin
, br_cnpj
, br_cpf
, ca_bn
, ca_gst_hst
, ca_pst_bc
, ca_pst_mb
, ca_pst_sk
, ca_qst
, ch_uid
, ch_vat
, cl_tin
, cn_tin
, co_nit
, cr_tin
, de_stn
, do_rcn
, ec_ruc
, eg_tin
, es_cif
, eu_oss_vat
, eu_vat
, gb_vat
, ge_vat
, hk_br
, hr_oib
, hu_tin
, id_npwp
, il_vat
, in_gst
, is_vat
, jp_cn
, jp_rn
, jp_trn
, ke_pin
, kr_brn
, kz_bin
, li_uid
, mx_rfc
, my_frp
, my_itn
, my_sst
, ng_tin
, no_vat
, no_voec
, nz_gst
, om_vat
, 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.
*/
@@ -57,6 +57,7 @@ class TaxId extends ApiResource
const TYPE_GB_VAT = 'gb_vat';
const TYPE_GE_VAT = 'ge_vat';
const TYPE_HK_BR = 'hk_br';
+ const TYPE_HR_OIB = 'hr_oib';
const TYPE_HU_TIN = 'hu_tin';
const TYPE_ID_NPWP = 'id_npwp';
const TYPE_IL_VAT = 'il_vat';
diff --git a/lib/Terminal/ReaderCollectedData.php b/lib/Terminal/ReaderCollectedData.php
new file mode 100644
index 000000000..a48237f25
--- /dev/null
+++ b/lib/Terminal/ReaderCollectedData.php
@@ -0,0 +1,39 @@
+true if the object exists in live mode or the value false
if the object exists in test mode.
+ * @property null|\Stripe\StripeObject $magstripe The magstripe data collected by the reader.
+ * @property string $type The type of data collected by the reader.
+ */
+class ReaderCollectedData extends \Stripe\ApiResource
+{
+ const OBJECT_NAME = 'terminal.reader_collected_data';
+
+ /**
+ * Retrieve data collected using Reader hardware.
+ *
+ * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key
+ * @param null|array|string $opts
+ *
+ * @throws \Stripe\Exception\ApiErrorException if the request fails
+ *
+ * @return \Stripe\Terminal\ReaderCollectedData
+ */
+ public static function retrieve($id, $opts = null)
+ {
+ $opts = \Stripe\Util\RequestOptions::parse($opts);
+ $instance = new static($id, $opts);
+ $instance->refresh();
+
+ return $instance;
+ }
+}
diff --git a/lib/TestHelpers/TestClock.php b/lib/TestHelpers/TestClock.php
index 8a8cf2644..cd9fc4456 100644
--- a/lib/TestHelpers/TestClock.php
+++ b/lib/TestHelpers/TestClock.php
@@ -17,6 +17,7 @@
* @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 $name The custom name supplied at creation.
* @property string $status The status of the Test Clock.
+ * @property null|\Stripe\StripeObject $status_details
*/
class TestClock extends \Stripe\ApiResource
{
diff --git a/lib/Transfer.php b/lib/Transfer.php
index d0b766db8..16c7b1b28 100644
--- a/lib/Transfer.php
+++ b/lib/Transfer.php
@@ -30,7 +30,7 @@
* @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.
* @property \Stripe\Collection<\Stripe\TransferReversal> $reversals A list of reversals that have been applied to the transfer.
* @property bool $reversed Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false.
- * @property null|string|\Stripe\Charge $source_transaction ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance.
+ * @property null|string|\Stripe\Charge $source_transaction ID of the charge that was used to fund the transfer. If null, the transfer was funded from the available balance.
* @property null|string $source_type The source balance this transfer came from. One of card
, fpx
, or bank_account
.
* @property null|string $transfer_group A string that identifies this transaction as part of a group. See the Connect documentation for details.
*/
diff --git a/lib/Treasury/InboundTransfer.php b/lib/Treasury/InboundTransfer.php
index beb1dc19d..d39a14a43 100644
--- a/lib/Treasury/InboundTransfer.php
+++ b/lib/Treasury/InboundTransfer.php
@@ -5,7 +5,9 @@
namespace Stripe\Treasury;
/**
- * Use InboundTransfers to add funds to your FinancialAccount via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit.
+ * Use InboundTransfers to add funds to your FinancialAccount via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit.
+ *
+ * Related guide: Moving money with Treasury using InboundTransfer objects
*
* @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.
diff --git a/lib/Treasury/OutboundPayment.php b/lib/Treasury/OutboundPayment.php
index 808c5d473..5d3b541fa 100644
--- a/lib/Treasury/OutboundPayment.php
+++ b/lib/Treasury/OutboundPayment.php
@@ -5,10 +5,12 @@
namespace Stripe\Treasury;
/**
- * Use OutboundPayments to send funds to another party's external bank account or FinancialAccount. To send money to an account belonging to the same user, use an OutboundTransfer.
+ * Use OutboundPayments to send funds to another party's external bank account or FinancialAccount. To send money to an account belonging to the same user, use an OutboundTransfer.
*
* Simulate OutboundPayment state changes with the /v1/test_helpers/treasury/outbound_payments
endpoints. These methods can only be called on test mode objects.
*
+ * Related guide: Moving money with Treasury using OutboundPayment objects
+ *
* @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 Amount (in cents) transferred.
diff --git a/lib/Treasury/OutboundTransfer.php b/lib/Treasury/OutboundTransfer.php
index 80a6d5677..8aa7a87b1 100644
--- a/lib/Treasury/OutboundTransfer.php
+++ b/lib/Treasury/OutboundTransfer.php
@@ -5,10 +5,12 @@
namespace Stripe\Treasury;
/**
- * Use OutboundTransfers to transfer funds from a FinancialAccount to a PaymentMethod belonging to the same entity. To send funds to a different party, use OutboundPayments instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account.
+ * Use OutboundTransfers to transfer funds from a FinancialAccount to a PaymentMethod belonging to the same entity. To send funds to a different party, use OutboundPayments instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account.
*
* Simulate OutboundTransfer state changes with the /v1/test_helpers/treasury/outbound_transfers
endpoints. These methods can only be called on test mode objects.
*
+ * Related guide: Moving money with Treasury using OutboundTransfer objects
+ *
* @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 Amount (in cents) transferred.
diff --git a/lib/Util/ApiVersion.php b/lib/Util/ApiVersion.php
index 59fc3e38e..3ce96c91d 100644
--- a/lib/Util/ApiVersion.php
+++ b/lib/Util/ApiVersion.php
@@ -7,5 +7,5 @@
class ApiVersion
{
const CURRENT = '2024-06-20';
- const PREVIEW = '2024-07-16.preview-v2';
+ const PREVIEW = '2024-09-05.preview-v2';
}
diff --git a/lib/Util/ObjectTypes.php b/lib/Util/ObjectTypes.php
index d679a96db..3a70e2cde 100644
--- a/lib/Util/ObjectTypes.php
+++ b/lib/Util/ObjectTypes.php
@@ -29,6 +29,7 @@ class ObjectTypes
\Stripe\Billing\Alert::OBJECT_NAME => \Stripe\Billing\Alert::class,
\Stripe\Billing\AlertTriggered::OBJECT_NAME => \Stripe\Billing\AlertTriggered::class,
\Stripe\Billing\Meter::OBJECT_NAME => \Stripe\Billing\Meter::class,
+ \Stripe\Billing\MeterErrorReport::OBJECT_NAME => \Stripe\Billing\MeterErrorReport::class,
\Stripe\Billing\MeterEvent::OBJECT_NAME => \Stripe\Billing\MeterEvent::class,
\Stripe\Billing\MeterEventAdjustment::OBJECT_NAME => \Stripe\Billing\MeterEventAdjustment::class,
\Stripe\Billing\MeterEventSummary::OBJECT_NAME => \Stripe\Billing\MeterEventSummary::class,
@@ -147,6 +148,7 @@ class ObjectTypes
\Stripe\Terminal\ConnectionToken::OBJECT_NAME => \Stripe\Terminal\ConnectionToken::class,
\Stripe\Terminal\Location::OBJECT_NAME => \Stripe\Terminal\Location::class,
\Stripe\Terminal\Reader::OBJECT_NAME => \Stripe\Terminal\Reader::class,
+ \Stripe\Terminal\ReaderCollectedData::OBJECT_NAME => \Stripe\Terminal\ReaderCollectedData::class,
\Stripe\TestHelpers\TestClock::OBJECT_NAME => \Stripe\TestHelpers\TestClock::class,
\Stripe\Token::OBJECT_NAME => \Stripe\Token::class,
\Stripe\Topup::OBJECT_NAME => \Stripe\Topup::class,