mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-07-16 00:00:46 -04:00
Compare commits
2 Commits
6dc009579d
...
24312f9f49
Author | SHA1 | Date | |
---|---|---|---|
|
24312f9f49 | ||
|
a0935c246d |
32
CHANGELOG.md
32
CHANGELOG.md
@ -1,5 +1,37 @@
|
||||
# Changelog
|
||||
|
||||
## 8.0.0 - 2022-11-16
|
||||
* [#1144](https://github.com/stripe/stripe-ruby/pull/1144) Next major release changes
|
||||
|
||||
Breaking changes that arose during code generation of the library that we postponed for the next major version. For changes to the Stripe products, read more at https://stripe.com/docs/upgrades#2022-11-15.
|
||||
|
||||
"⚠️" symbol highlights breaking changes.
|
||||
|
||||
### Deprecated
|
||||
- The `save` method is deprecated. Prefer the static `update` method that doesn't require retrieval of the resource to update it.
|
||||
``` ruby
|
||||
# before
|
||||
refund = Stripe::Refund.retrieve("re_123")
|
||||
refund.description = "Refund description"
|
||||
refund.save
|
||||
|
||||
# after
|
||||
Stripe::Refund.update("re_123", description: "Refund description")
|
||||
```
|
||||
|
||||
### ⚠️ Removed
|
||||
- Removed deprecated `Sku` resource.
|
||||
- Removed deprecated `Orders` resource.
|
||||
- Removed deprecated `delete` method on `Subscription` resource. Please use `cancel` method instead.
|
||||
```ruby
|
||||
# before
|
||||
Stripe::Subscription::delete("sub_12345")
|
||||
|
||||
# after
|
||||
Stripe::Subscription::cancel("sub_12345")
|
||||
```
|
||||
|
||||
|
||||
## 7.1.0 - 2022-08-19
|
||||
* [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
|
||||
* Add support for new resource `CustomerCashBalanceTransaction`
|
||||
|
@ -33,6 +33,9 @@ module Stripe
|
||||
end
|
||||
end
|
||||
|
||||
# The `save` method is DEPRECATED and will be removed in a future major
|
||||
# version of the library. Use the `update` method on the resource instead.
|
||||
#
|
||||
# Creates or updates an API resource.
|
||||
#
|
||||
# If the resource doesn't yet have an assigned ID and the resource is one
|
||||
@ -68,6 +71,8 @@ module Stripe
|
||||
resp, opts = execute_resource_request(:post, save_url, values, opts)
|
||||
initialize_from(resp.data, opts)
|
||||
end
|
||||
extend Gem::Deprecate
|
||||
deprecate :save, :update, 2022, 11
|
||||
|
||||
def self.included(base)
|
||||
# Set `metadata` as additive so that when it's set directly we remember
|
||||
|
@ -3,6 +3,6 @@
|
||||
|
||||
module Stripe
|
||||
module ApiVersion
|
||||
CURRENT = "2022-08-01"
|
||||
CURRENT = "2022-11-15"
|
||||
end
|
||||
end
|
||||
|
@ -62,7 +62,6 @@ module Stripe
|
||||
LineItem::OBJECT_NAME => LineItem,
|
||||
LoginLink::OBJECT_NAME => LoginLink,
|
||||
Mandate::OBJECT_NAME => Mandate,
|
||||
Order::OBJECT_NAME => Order,
|
||||
PaymentIntent::OBJECT_NAME => PaymentIntent,
|
||||
PaymentLink::OBJECT_NAME => PaymentLink,
|
||||
PaymentMethod::OBJECT_NAME => PaymentMethod,
|
||||
@ -85,7 +84,6 @@ module Stripe
|
||||
SetupIntent::OBJECT_NAME => SetupIntent,
|
||||
ShippingRate::OBJECT_NAME => ShippingRate,
|
||||
Sigma::ScheduledQueryRun::OBJECT_NAME => Sigma::ScheduledQueryRun,
|
||||
SKU::OBJECT_NAME => SKU,
|
||||
Source::OBJECT_NAME => Source,
|
||||
SourceTransaction::OBJECT_NAME => SourceTransaction,
|
||||
Subscription::OBJECT_NAME => Subscription,
|
||||
|
@ -49,7 +49,6 @@ require "stripe/resources/issuing/transaction"
|
||||
require "stripe/resources/line_item"
|
||||
require "stripe/resources/login_link"
|
||||
require "stripe/resources/mandate"
|
||||
require "stripe/resources/order"
|
||||
require "stripe/resources/payment_intent"
|
||||
require "stripe/resources/payment_link"
|
||||
require "stripe/resources/payment_method"
|
||||
@ -72,7 +71,6 @@ require "stripe/resources/setup_attempt"
|
||||
require "stripe/resources/setup_intent"
|
||||
require "stripe/resources/shipping_rate"
|
||||
require "stripe/resources/sigma/scheduled_query_run"
|
||||
require "stripe/resources/sku"
|
||||
require "stripe/resources/source"
|
||||
require "stripe/resources/source_transaction"
|
||||
require "stripe/resources/subscription"
|
||||
|
@ -1,89 +0,0 @@
|
||||
# File generated from our OpenAPI spec
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Stripe
|
||||
# An Order describes a purchase being made by a customer, including the
|
||||
# products & quantities being purchased, the order status, the payment information,
|
||||
# and the billing/shipping details.
|
||||
#
|
||||
# Related guide: [Orders overview](https://stripe.com/docs/orders)
|
||||
class Order < APIResource
|
||||
extend Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Save
|
||||
|
||||
OBJECT_NAME = "order"
|
||||
|
||||
def cancel(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def list_line_items(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :get,
|
||||
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def reopen(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def submit(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.cancel(id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.list_line_items(id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :get,
|
||||
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.reopen(id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.submit(id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
@ -6,10 +6,6 @@ module Stripe
|
||||
# but not yet refunded. Funds will be refunded to the credit or debit card that
|
||||
# was originally charged.
|
||||
#
|
||||
# Stripe Tax users with recurring payments and invoices can create [Credit Notes](https://stripe.com/docs/api/credit_notes),
|
||||
# which reduce overall tax liability because tax is correctly recalculated and
|
||||
# apportioned to the related invoice.
|
||||
#
|
||||
# Related guide: [Refunds](https://stripe.com/docs/refunds).
|
||||
class Refund < APIResource
|
||||
extend Stripe::APIOperations::Create
|
||||
|
@ -1,19 +0,0 @@
|
||||
# File generated from our OpenAPI spec
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Stripe
|
||||
# Stores representations of [stock keeping units](http://en.wikipedia.org/wiki/Stock_keeping_unit).
|
||||
# SKUs describe specific product variations, taking into account any combination of: attributes,
|
||||
# currency, and cost. For example, a product may be a T-shirt, whereas a specific SKU represents
|
||||
# the `size: large`, `color: red` version of that shirt.
|
||||
#
|
||||
# Can also be used to manage inventory.
|
||||
class SKU < APIResource
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Delete
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Save
|
||||
|
||||
OBJECT_NAME = "sku"
|
||||
end
|
||||
end
|
@ -50,31 +50,6 @@ module Stripe
|
||||
end
|
||||
|
||||
save_nested_resource :source
|
||||
def delete(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :delete,
|
||||
path: format("/v1/subscriptions/%<subscription_exposed_id>s", { subscription_exposed_id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.delete(subscription_exposed_id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :delete,
|
||||
path: format("/v1/subscriptions/%<subscription_exposed_id>s", { subscription_exposed_id: CGI.escape(subscription_exposed_id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
extend Gem::Deprecate
|
||||
deprecate :delete, "Stripe::Subscription.cancel", 2022, 7
|
||||
|
||||
class << self
|
||||
extend Gem::Deprecate
|
||||
deprecate :delete, "Stripe::Subscription#cancel", 2022, 7
|
||||
end
|
||||
|
||||
def self.search(params = {}, opts = {})
|
||||
_search("/v1/subscriptions/search", params, opts)
|
||||
|
@ -1,5 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Stripe
|
||||
VERSION = "7.1.0"
|
||||
VERSION = "8.0.0"
|
||||
end
|
||||
|
@ -1815,44 +1815,6 @@ module Stripe
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "SKU.create" do
|
||||
should "support requests with args: attributes, price, currency, inventory, product" do
|
||||
Stripe::SKU.create(
|
||||
{
|
||||
attributes: { size: "Medium", gender: "Unisex" },
|
||||
price: 1500,
|
||||
currency: "usd",
|
||||
inventory: { type: "finite", quantity: 500 },
|
||||
product: "prod_xxxxxxxxxxxxx",
|
||||
}
|
||||
)
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus"
|
||||
end
|
||||
end
|
||||
context "SKU.delete" do
|
||||
should "support requests with args: id" do
|
||||
Stripe::SKU.delete("sku_xxxxxxxxxxxxx")
|
||||
assert_requested :delete, "#{Stripe.api_base}/v1/skus/sku_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "SKU.list" do
|
||||
should "support requests with args: limit" do
|
||||
Stripe::SKU.list({ limit: 3 })
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/skus?limit=3"
|
||||
end
|
||||
end
|
||||
context "SKU.retrieve" do
|
||||
should "support requests with args: id" do
|
||||
Stripe::SKU.retrieve("sku_xxxxxxxxxxxxx")
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/skus/sku_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "SKU.update" do
|
||||
should "support requests with args: metadata, id" do
|
||||
Stripe::SKU.update("sku_xxxxxxxxxxxxx", { metadata: { order_id: "6735" } })
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus/sku_xxxxxxxxxxxxx"
|
||||
end
|
||||
end
|
||||
context "Source.retrieve" do
|
||||
should "support requests with args: id" do
|
||||
Stripe::Source.retrieve("src_xxxxxxxxxxxxx")
|
||||
|
@ -1,60 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require ::File.expand_path("../test_helper", __dir__)
|
||||
|
||||
module Stripe
|
||||
class SKUTest < Test::Unit::TestCase
|
||||
should "be listable" do
|
||||
skus = Stripe::SKU.list
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/skus"
|
||||
assert skus.data.is_a?(Array)
|
||||
assert skus.data[0].is_a?(Stripe::SKU)
|
||||
end
|
||||
|
||||
should "be retrievable" do
|
||||
sku = Stripe::SKU.retrieve("sku_123")
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/skus/sku_123"
|
||||
assert sku.is_a?(Stripe::SKU)
|
||||
end
|
||||
|
||||
should "be creatable" do
|
||||
_ = Stripe::SKU.create(
|
||||
currency: "USD",
|
||||
inventory: { type: "finite", quantity: 500 },
|
||||
price: 100,
|
||||
product: "prod_123"
|
||||
)
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus"
|
||||
end
|
||||
|
||||
should "be saveable" do
|
||||
sku = Stripe::SKU.retrieve("sku_123")
|
||||
sku.metadata["key"] = "value"
|
||||
sku.save
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus/#{sku.id}"
|
||||
end
|
||||
|
||||
should "be updateable" do
|
||||
sku = Stripe::SKU.update("sku_123", metadata: { foo: "bar" })
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus/sku_123"
|
||||
assert sku.is_a?(Stripe::SKU)
|
||||
end
|
||||
|
||||
context "#delete" do
|
||||
should "be deletable" do
|
||||
sku = Stripe::SKU.retrieve("sku_123")
|
||||
sku = sku.delete
|
||||
assert_requested :delete, "#{Stripe.api_base}/v1/skus/#{sku.id}"
|
||||
assert sku.is_a?(Stripe::SKU)
|
||||
end
|
||||
end
|
||||
|
||||
context ".delete" do
|
||||
should "be deletable" do
|
||||
sku = Stripe::SKU.delete("sku_123")
|
||||
assert_requested :delete, "#{Stripe.api_base}/v1/skus/sku_123"
|
||||
assert sku.is_a?(Stripe::SKU)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user