Compare commits

...

6 Commits

Author SHA1 Message Date
Stripe OpenAPI
7f9a370236 Update generated code for v495 2023-08-30 21:00:54 +00:00
Paul Padier
79463b2efa
Explicitly format timestamp in SignatureVerificationError message (#1262)
When interpolating a Time object in a String, Ruby calls `to_s` under the hood.

For Rails applications defining a `default` string format, this triggers deprecation warnings as of v7.0.7: https://github.com/rails/rails/pull/48555

This change fixes that by explicitly formatting the timestamp (using the same `YYYY-MM-DD HH:mm:ss` format currently implicitly used).
2023-08-21 18:14:56 -07:00
Richard Marmorstein
011f3121a5
Update CHANGELOG.md 2023-08-17 03:49:25 -07:00
Richard Marmorstein
4af7ea944c
Update CHANGELOG.md 2023-08-16 16:44:14 -07:00
Richard Marmorstein
31f300c16d Bump version to 9.0.0 2023-08-16 16:08:04 -07:00
stripe-openapi[bot]
d1d4b6e83c
Update generated code for v461 (#1260)
Co-authored-by: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com>
Co-authored-by: anniel-stripe <97691964+anniel-stripe@users.noreply.github.com>
2023-08-16 22:09:20 +00:00
9 changed files with 1257 additions and 1205 deletions

View File

@ -1,5 +1,37 @@
# Changelog # Changelog
## 9.0.0 - 2023-08-16
**⚠️ ACTION REQUIRED: the breaking change in this release likely affects you ⚠️**
* [#1253](https://github.com/stripe/stripe-ruby/pull/1253) [#1260](https://github.com/stripe/stripe-ruby/pull/1260) Pin latest API version as the default
In this release, Stripe API Version `2023-08-16` (the latest at time of release) will be sent by default on all requests. This is a significant change with wide ramifications. The API version affects the properties you see on responses, the parameters you are allowed to send on requests, and so on. The previous default was to use your [Stripe account's default API version](https://stripe.com/docs/development/dashboard/request-logs#view-your-default-api-version).
To successfully upgrade to stripe-ruby v9, you must either
1. **(Recommended) Upgrade your integration to be compatible with API Version `2023-08-16`.**
Please read the API Changelog carefully for each API Version from `2023-08-16` back to your [Stripe account's default API version](https://stripe.com/docs/development/dashboard/request-logs#view-your-default-api-version). Determine if you are using any of the APIs that have changed in a breaking way, and adjust your integration accordingly. Carefully test your changes with Stripe [Test Mode](https://stripe.com/docs/keys#test-live-modes) before deploying them to production.
You can read the [v9 migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v9) for more detailed instructions.
2. **(Alternative option) Specify a version other than `2023-08-16` when initializing `stripe-ruby`.**
If you were previously initializing stripe-ruby without an explicit API Version, you can postpone modifying your integration by specifying a version equal to your [Stripe account's default API version](https://stripe.com/docs/development/dashboard/request-logs#view-your-default-api-version). For example:
```diff
require 'stripe'
Stripe.api_key = "sk_test_..."
+ Stripe.api_version = '2020-08-27'
```
If you were already initializing stripe-ruby with an explicit API Version, upgrading to v9 will not affect your integration.
Read the [v9 migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v9) for more details.
Going forward, each major release of this library will be *pinned* by default to the latest Stripe API Version at the time of release.
That is, instead of upgrading stripe-ruby and separately upgrading your Stripe API Version through the Stripe Dashboard. whenever you upgrade major versions of stripe-ruby, you should also upgrade your integration to be compatible with the latest Stripe API version.
## 8.7.0 - 2023-08-10 ## 8.7.0 - 2023-08-10
* [#1256](https://github.com/stripe/stripe-ruby/pull/1256) Update generated code * [#1256](https://github.com/stripe/stripe-ruby/pull/1256) Update generated code
Add resources `Tax::CalculationLineItem`, `Tax::TransactionLineItem`, and `Treasury::FinancialAccountFeatures`. These resources have no methods on them, but do represent the return type of methods elsewhere. Add resources `Tax::CalculationLineItem`, `Tax::TransactionLineItem`, and `Treasury::FinancialAccountFeatures`. These resources have no methods on them, but do represent the return type of methods elsewhere.

View File

@ -1 +1 @@
v457 v495

View File

@ -1 +1 @@
8.7.0 9.0.0

View File

@ -3,6 +3,6 @@
module Stripe module Stripe
module ApiVersion module ApiVersion
CURRENT = "2022-11-15" CURRENT = "2023-08-16"
end end
end end

View File

@ -14,6 +14,7 @@ module Stripe
# business objects # business objects
Account::OBJECT_NAME => Account, Account::OBJECT_NAME => Account,
AccountLink::OBJECT_NAME => AccountLink, AccountLink::OBJECT_NAME => AccountLink,
AccountSession::OBJECT_NAME => AccountSession,
ApplePayDomain::OBJECT_NAME => ApplePayDomain, ApplePayDomain::OBJECT_NAME => ApplePayDomain,
ApplicationFee::OBJECT_NAME => ApplicationFee, ApplicationFee::OBJECT_NAME => ApplicationFee,
ApplicationFeeRefund::OBJECT_NAME => ApplicationFeeRefund, ApplicationFeeRefund::OBJECT_NAME => ApplicationFeeRefund,

View File

@ -3,6 +3,7 @@
require "stripe/resources/account" require "stripe/resources/account"
require "stripe/resources/account_link" require "stripe/resources/account_link"
require "stripe/resources/account_session"
require "stripe/resources/apple_pay_domain" require "stripe/resources/apple_pay_domain"
require "stripe/resources/application_fee" require "stripe/resources/application_fee"
require "stripe/resources/application_fee_refund" require "stripe/resources/application_fee_refund"

View File

@ -0,0 +1,17 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true
module Stripe
# An AccountSession allows a Connect platform to grant access to a connected account in Connect embedded components.
#
# We recommend that you create an AccountSession each time you need to display an embedded component
# to your user. Do not save AccountSessions to your database as they expire relatively
# quickly, and cannot be used more than once.
#
# Related guide: [Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components)
class AccountSession < APIResource
extend Stripe::APIOperations::Create
OBJECT_NAME = "account_session"
end
end

View File

@ -1,5 +1,5 @@
# frozen_string_literal: true # frozen_string_literal: true
module Stripe module Stripe
VERSION = "8.7.0" VERSION = "9.0.0"
end end

View File

@ -108,8 +108,9 @@ module Stripe
end end
if tolerance && timestamp < Time.now - tolerance if tolerance && timestamp < Time.now - tolerance
formatted_timestamp = Time.at(timestamp).strftime("%F %T")
raise SignatureVerificationError.new( raise SignatureVerificationError.new(
"Timestamp outside the tolerance zone (#{Time.at(timestamp)})", "Timestamp outside the tolerance zone (#{formatted_timestamp})",
header, http_body: payload header, http_body: payload
) )
end end