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
|
# 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
|
## 7.1.0 - 2022-08-19
|
||||||
* [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
|
* [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
|
||||||
* Add support for new resource `CustomerCashBalanceTransaction`
|
* Add support for new resource `CustomerCashBalanceTransaction`
|
||||||
|
@ -33,6 +33,9 @@ module Stripe
|
|||||||
end
|
end
|
||||||
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.
|
# Creates or updates an API resource.
|
||||||
#
|
#
|
||||||
# If the resource doesn't yet have an assigned ID and the resource is one
|
# 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)
|
resp, opts = execute_resource_request(:post, save_url, values, opts)
|
||||||
initialize_from(resp.data, opts)
|
initialize_from(resp.data, opts)
|
||||||
end
|
end
|
||||||
|
extend Gem::Deprecate
|
||||||
|
deprecate :save, :update, 2022, 11
|
||||||
|
|
||||||
def self.included(base)
|
def self.included(base)
|
||||||
# Set `metadata` as additive so that when it's set directly we remember
|
# Set `metadata` as additive so that when it's set directly we remember
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
|
|
||||||
module Stripe
|
module Stripe
|
||||||
module ApiVersion
|
module ApiVersion
|
||||||
CURRENT = "2022-08-01"
|
CURRENT = "2022-11-15"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -62,7 +62,6 @@ module Stripe
|
|||||||
LineItem::OBJECT_NAME => LineItem,
|
LineItem::OBJECT_NAME => LineItem,
|
||||||
LoginLink::OBJECT_NAME => LoginLink,
|
LoginLink::OBJECT_NAME => LoginLink,
|
||||||
Mandate::OBJECT_NAME => Mandate,
|
Mandate::OBJECT_NAME => Mandate,
|
||||||
Order::OBJECT_NAME => Order,
|
|
||||||
PaymentIntent::OBJECT_NAME => PaymentIntent,
|
PaymentIntent::OBJECT_NAME => PaymentIntent,
|
||||||
PaymentLink::OBJECT_NAME => PaymentLink,
|
PaymentLink::OBJECT_NAME => PaymentLink,
|
||||||
PaymentMethod::OBJECT_NAME => PaymentMethod,
|
PaymentMethod::OBJECT_NAME => PaymentMethod,
|
||||||
@ -85,7 +84,6 @@ module Stripe
|
|||||||
SetupIntent::OBJECT_NAME => SetupIntent,
|
SetupIntent::OBJECT_NAME => SetupIntent,
|
||||||
ShippingRate::OBJECT_NAME => ShippingRate,
|
ShippingRate::OBJECT_NAME => ShippingRate,
|
||||||
Sigma::ScheduledQueryRun::OBJECT_NAME => Sigma::ScheduledQueryRun,
|
Sigma::ScheduledQueryRun::OBJECT_NAME => Sigma::ScheduledQueryRun,
|
||||||
SKU::OBJECT_NAME => SKU,
|
|
||||||
Source::OBJECT_NAME => Source,
|
Source::OBJECT_NAME => Source,
|
||||||
SourceTransaction::OBJECT_NAME => SourceTransaction,
|
SourceTransaction::OBJECT_NAME => SourceTransaction,
|
||||||
Subscription::OBJECT_NAME => Subscription,
|
Subscription::OBJECT_NAME => Subscription,
|
||||||
|
@ -49,7 +49,6 @@ require "stripe/resources/issuing/transaction"
|
|||||||
require "stripe/resources/line_item"
|
require "stripe/resources/line_item"
|
||||||
require "stripe/resources/login_link"
|
require "stripe/resources/login_link"
|
||||||
require "stripe/resources/mandate"
|
require "stripe/resources/mandate"
|
||||||
require "stripe/resources/order"
|
|
||||||
require "stripe/resources/payment_intent"
|
require "stripe/resources/payment_intent"
|
||||||
require "stripe/resources/payment_link"
|
require "stripe/resources/payment_link"
|
||||||
require "stripe/resources/payment_method"
|
require "stripe/resources/payment_method"
|
||||||
@ -72,7 +71,6 @@ require "stripe/resources/setup_attempt"
|
|||||||
require "stripe/resources/setup_intent"
|
require "stripe/resources/setup_intent"
|
||||||
require "stripe/resources/shipping_rate"
|
require "stripe/resources/shipping_rate"
|
||||||
require "stripe/resources/sigma/scheduled_query_run"
|
require "stripe/resources/sigma/scheduled_query_run"
|
||||||
require "stripe/resources/sku"
|
|
||||||
require "stripe/resources/source"
|
require "stripe/resources/source"
|
||||||
require "stripe/resources/source_transaction"
|
require "stripe/resources/source_transaction"
|
||||||
require "stripe/resources/subscription"
|
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
|
# but not yet refunded. Funds will be refunded to the credit or debit card that
|
||||||
# was originally charged.
|
# 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).
|
# Related guide: [Refunds](https://stripe.com/docs/refunds).
|
||||||
class Refund < APIResource
|
class Refund < APIResource
|
||||||
extend Stripe::APIOperations::Create
|
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
|
end
|
||||||
|
|
||||||
save_nested_resource :source
|
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 = {})
|
def self.search(params = {}, opts = {})
|
||||||
_search("/v1/subscriptions/search", params, opts)
|
_search("/v1/subscriptions/search", params, opts)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Stripe
|
module Stripe
|
||||||
VERSION = "7.1.0"
|
VERSION = "8.0.0"
|
||||||
end
|
end
|
||||||
|
@ -1815,44 +1815,6 @@ module Stripe
|
|||||||
assert_requested :get, "#{Stripe.api_base}/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx?"
|
assert_requested :get, "#{Stripe.api_base}/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx?"
|
||||||
end
|
end
|
||||||
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
|
context "Source.retrieve" do
|
||||||
should "support requests with args: id" do
|
should "support requests with args: id" do
|
||||||
Stripe::Source.retrieve("src_xxxxxxxxxxxxx")
|
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