mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-07-07 00:01:20 -04:00
Compare commits
7 Commits
41a5015f3c
...
e03fa884f4
Author | SHA1 | Date | |
---|---|---|---|
|
e03fa884f4 | ||
|
b87cfbec98 | ||
|
a96e6f3b42 | ||
|
24312f9f49 | ||
|
a0935c246d | ||
|
6dc009579d | ||
|
c2bb4dbceb |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -43,7 +43,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, jruby-9.2.16.0, truffleruby-head]
|
ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, jruby-9.4.0.0, truffleruby-head]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Set up Ruby
|
- name: Set up Ruby
|
||||||
|
@ -45,9 +45,7 @@ Style/AccessModifierDeclarations:
|
|||||||
EnforcedStyle: inline
|
EnforcedStyle: inline
|
||||||
|
|
||||||
Style/AsciiComments:
|
Style/AsciiComments:
|
||||||
AllowedChars:
|
Enabled: false
|
||||||
- ’
|
|
||||||
- €
|
|
||||||
|
|
||||||
Style/FrozenStringLiteralComment:
|
Style/FrozenStringLiteralComment:
|
||||||
EnforcedStyle: always
|
EnforcedStyle: always
|
||||||
|
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`
|
||||||
|
@ -1 +1 @@
|
|||||||
v184
|
v217
|
@ -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"
|
||||||
|
@ -64,7 +64,6 @@ module Stripe
|
|||||||
|
|
||||||
nested_resource_class_methods :external_account,
|
nested_resource_class_methods :external_account,
|
||||||
operations: %i[create retrieve update delete list]
|
operations: %i[create retrieve update delete list]
|
||||||
|
|
||||||
nested_resource_class_methods :login_link, operations: %i[create]
|
nested_resource_class_methods :login_link, operations: %i[create]
|
||||||
|
|
||||||
def resource_url
|
def resource_url
|
||||||
|
@ -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
|
|
@ -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
|
|
@ -7,6 +7,10 @@ module Stripe
|
|||||||
# just like a `Card` object: once chargeable, they can be charged, or can be
|
# just like a `Card` object: once chargeable, they can be charged, or can be
|
||||||
# attached to customers.
|
# attached to customers.
|
||||||
#
|
#
|
||||||
|
# Stripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources).
|
||||||
|
# We recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods).
|
||||||
|
# This newer API provides access to our latest features and payment method types.
|
||||||
|
#
|
||||||
# Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).
|
# Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).
|
||||||
class Source < APIResource
|
class Source < APIResource
|
||||||
extend Stripe::APIOperations::Create
|
extend Stripe::APIOperations::Create
|
||||||
|
@ -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
|
||||||
|
@ -314,7 +314,7 @@ module Stripe
|
|||||||
assert_equal c.created, 12_345
|
assert_equal c.created, 12_345
|
||||||
end
|
end
|
||||||
|
|
||||||
should "updating an object should issue a POST request with only the changed properties" do
|
should "saving an object should issue a POST request with only the changed properties" do
|
||||||
stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
|
stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
|
||||||
.with(body: { "description" => "another_mn" })
|
.with(body: { "description" => "another_mn" })
|
||||||
.to_return(body: JSON.generate(customer_fixture))
|
.to_return(body: JSON.generate(customer_fixture))
|
||||||
@ -323,7 +323,15 @@ module Stripe
|
|||||||
c.save
|
c.save
|
||||||
end
|
end
|
||||||
|
|
||||||
should "updating should merge in returned properties" do
|
should "updating an object should issue a POST request with the specified properties" do
|
||||||
|
stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
|
||||||
|
.with(body: { "description" => "another_mn" })
|
||||||
|
.to_return(body: JSON.generate(customer_fixture))
|
||||||
|
Stripe::Customer.construct_from(customer_fixture)
|
||||||
|
Stripe::Customer.update("cus_123", { description: "another_mn" })
|
||||||
|
end
|
||||||
|
|
||||||
|
should "saving should merge in returned properties" do
|
||||||
stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
|
stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
|
||||||
.with(body: { "description" => "another_mn" })
|
.with(body: { "description" => "another_mn" })
|
||||||
.to_return(body: JSON.generate(customer_fixture))
|
.to_return(body: JSON.generate(customer_fixture))
|
||||||
@ -333,14 +341,21 @@ module Stripe
|
|||||||
assert_equal false, c.livemode
|
assert_equal false, c.livemode
|
||||||
end
|
end
|
||||||
|
|
||||||
should "updating should fail if api_key is overwritten with nil" do
|
should "saving should fail if api_key is overwritten with nil" do
|
||||||
c = Stripe::Customer.new
|
c = Stripe::Customer.new
|
||||||
assert_raises TypeError do
|
assert_raises TypeError do
|
||||||
c.save({}, api_key: nil)
|
c.save({}, api_key: nil)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
should "updating should use the supplied api_key" do
|
should "updating should fail if api_key is nil" do
|
||||||
|
Stripe::Customer.new("cus_123")
|
||||||
|
assert_raises TypeError do
|
||||||
|
Stripe::Customer.update("cus_123", {}, { api_key: nil })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
should "saving should use the supplied api_key" do
|
||||||
stub_request(:post, "#{Stripe.api_base}/v1/customers")
|
stub_request(:post, "#{Stripe.api_base}/v1/customers")
|
||||||
.with(headers: { "Authorization" => "Bearer sk_test_local" })
|
.with(headers: { "Authorization" => "Bearer sk_test_local" })
|
||||||
.to_return(body: JSON.generate(customer_fixture))
|
.to_return(body: JSON.generate(customer_fixture))
|
||||||
@ -349,6 +364,14 @@ module Stripe
|
|||||||
assert_equal false, c.livemode
|
assert_equal false, c.livemode
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "updating should use the supplied api_key" do
|
||||||
|
stub_request(:post, "#{Stripe.api_base}/v1/customers")
|
||||||
|
.with(headers: { "Authorization" => "Bearer sk_test_local" })
|
||||||
|
.to_return(body: JSON.generate(customer_fixture))
|
||||||
|
Stripe::Customer.new("cus_123")
|
||||||
|
Stripe::Customer.update("cus_123", {}, api_key: "sk_test_local")
|
||||||
|
end
|
||||||
|
|
||||||
should "deleting should send no props and result in an object that has no props other deleted" do
|
should "deleting should send no props and result in an object that has no props other deleted" do
|
||||||
stub_request(:delete, "#{Stripe.api_base}/v1/customers/cus_123")
|
stub_request(:delete, "#{Stripe.api_base}/v1/customers/cus_123")
|
||||||
.to_return(body: JSON.generate("id" => "cus_123", "deleted" => true))
|
.to_return(body: JSON.generate("id" => "cus_123", "deleted" => true))
|
||||||
@ -385,7 +408,7 @@ module Stripe
|
|||||||
c.save
|
c.save
|
||||||
end
|
end
|
||||||
|
|
||||||
should "add key to nested objects" do
|
should "add key to nested objects on save" do
|
||||||
acct = Stripe::Account.construct_from(id: "myid",
|
acct = Stripe::Account.construct_from(id: "myid",
|
||||||
legal_entity: {
|
legal_entity: {
|
||||||
size: "l",
|
size: "l",
|
||||||
@ -401,6 +424,14 @@ module Stripe
|
|||||||
acct.save
|
acct.save
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "update with a nested object" do
|
||||||
|
stub_request(:post, "#{Stripe.api_base}/v1/accounts/myid")
|
||||||
|
.with(body: { business_profile: { name: "Bob" } })
|
||||||
|
.to_return(body: JSON.generate("id" => "myid"))
|
||||||
|
|
||||||
|
Stripe::Account.update("myid", { business_profile: { name: "Bob" } })
|
||||||
|
end
|
||||||
|
|
||||||
should "save nothing if nothing changes" do
|
should "save nothing if nothing changes" do
|
||||||
acct = Stripe::Account.construct_from(id: "acct_id",
|
acct = Stripe::Account.construct_from(id: "acct_id",
|
||||||
metadata: {
|
metadata: {
|
||||||
@ -429,7 +460,7 @@ module Stripe
|
|||||||
ch.save
|
ch.save
|
||||||
end
|
end
|
||||||
|
|
||||||
should "correctly handle replaced nested objects" do
|
should "correctly handle replaced nested objects on save" do
|
||||||
acct = Stripe::Account.construct_from(
|
acct = Stripe::Account.construct_from(
|
||||||
id: "acct_123",
|
id: "acct_123",
|
||||||
company: {
|
company: {
|
||||||
@ -449,7 +480,7 @@ module Stripe
|
|||||||
acct.save
|
acct.save
|
||||||
end
|
end
|
||||||
|
|
||||||
should "correctly handle array setting" do
|
should "correctly handle array setting on save" do
|
||||||
acct = Stripe::Account.construct_from(id: "myid",
|
acct = Stripe::Account.construct_from(id: "myid",
|
||||||
legal_entity: {})
|
legal_entity: {})
|
||||||
|
|
||||||
@ -461,7 +492,7 @@ module Stripe
|
|||||||
acct.save
|
acct.save
|
||||||
end
|
end
|
||||||
|
|
||||||
should "correctly handle array insertion" do
|
should "correctly handle array insertion on save" do
|
||||||
acct = Stripe::Account.construct_from(id: "myid",
|
acct = Stripe::Account.construct_from(id: "myid",
|
||||||
legal_entity: {
|
legal_entity: {
|
||||||
additional_owners: [],
|
additional_owners: [],
|
||||||
@ -478,7 +509,7 @@ module Stripe
|
|||||||
acct.save
|
acct.save
|
||||||
end
|
end
|
||||||
|
|
||||||
should "correctly handle array updates" do
|
should "correctly handle array updates on save" do
|
||||||
acct = Stripe::Account.construct_from(id: "myid",
|
acct = Stripe::Account.construct_from(id: "myid",
|
||||||
legal_entity: {
|
legal_entity: {
|
||||||
additional_owners: [{ first_name: "Bob" }, { first_name: "Jane" }],
|
additional_owners: [{ first_name: "Bob" }, { first_name: "Jane" }],
|
||||||
@ -495,7 +526,7 @@ module Stripe
|
|||||||
acct.save
|
acct.save
|
||||||
end
|
end
|
||||||
|
|
||||||
should "correctly handle array noops" do
|
should "correctly handle array noops on save" do
|
||||||
acct = Stripe::Account.construct_from(id: "myid",
|
acct = Stripe::Account.construct_from(id: "myid",
|
||||||
legal_entity: {
|
legal_entity: {
|
||||||
additional_owners: [{ first_name: "Bob" }],
|
additional_owners: [{ first_name: "Bob" }],
|
||||||
@ -509,7 +540,7 @@ module Stripe
|
|||||||
acct.save
|
acct.save
|
||||||
end
|
end
|
||||||
|
|
||||||
should "correctly handle hash noops" do
|
should "correctly handle hash noops on save" do
|
||||||
acct = Stripe::Account.construct_from(id: "myid",
|
acct = Stripe::Account.construct_from(id: "myid",
|
||||||
legal_entity: {
|
legal_entity: {
|
||||||
address: { line1: "1 Two Three" },
|
address: { line1: "1 Two Three" },
|
||||||
|
@ -32,6 +32,12 @@ module Stripe
|
|||||||
assert_requested :get, "#{Stripe.api_base}/v1/accounts?limit=3"
|
assert_requested :get, "#{Stripe.api_base}/v1/accounts?limit=3"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
context "Account.persons" do
|
||||||
|
should "support requests with args: limit, parent_id" do
|
||||||
|
Stripe::Account.persons("acct_xxxxxxxxxxxxx", { limit: 3 })
|
||||||
|
assert_requested :get, "#{Stripe.api_base}/v1/accounts/acct_xxxxxxxxxxxxx/persons?limit=3"
|
||||||
|
end
|
||||||
|
end
|
||||||
context "Account.reject" do
|
context "Account.reject" do
|
||||||
should "support requests with args: reason, id" do
|
should "support requests with args: reason, id" do
|
||||||
Stripe::Account.reject("acct_xxxxxxxxxxxxx", { reason: "fraud" })
|
Stripe::Account.reject("acct_xxxxxxxxxxxxx", { reason: "fraud" })
|
||||||
@ -78,6 +84,31 @@ module Stripe
|
|||||||
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx?"
|
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx?"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
context "ApplicationFeeRefund.list" do
|
||||||
|
should "support requests with args: limit, parent_id" do
|
||||||
|
Stripe::ApplicationFee.list_refunds("fee_xxxxxxxxxxxxx", { limit: 3 })
|
||||||
|
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds?limit=3"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
context "ApplicationFeeRefund.retrieve" do
|
||||||
|
should "support requests with args: parent_id, id" do
|
||||||
|
Stripe::ApplicationFee.retrieve_refund(
|
||||||
|
"fee_xxxxxxxxxxxxx",
|
||||||
|
"fr_xxxxxxxxxxxxx"
|
||||||
|
)
|
||||||
|
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx?"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
context "ApplicationFeeRefund.update" do
|
||||||
|
should "support requests with args: metadata, parent_id, id" do
|
||||||
|
Stripe::ApplicationFee.update_refund(
|
||||||
|
"fee_xxxxxxxxxxxxx",
|
||||||
|
"fr_xxxxxxxxxxxxx",
|
||||||
|
{ metadata: { order_id: "6735" } }
|
||||||
|
)
|
||||||
|
assert_requested :post, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx"
|
||||||
|
end
|
||||||
|
end
|
||||||
context "Apps.Secret.create" do
|
context "Apps.Secret.create" do
|
||||||
should "support requests with args: name, payload, scope" do
|
should "support requests with args: name, payload, scope" do
|
||||||
Stripe::Apps::Secret.create(
|
Stripe::Apps::Secret.create(
|
||||||
@ -571,31 +602,6 @@ module Stripe
|
|||||||
assert_requested :get, "#{Stripe.api_base}/v1/events/evt_xxxxxxxxxxxxx?"
|
assert_requested :get, "#{Stripe.api_base}/v1/events/evt_xxxxxxxxxxxxx?"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
context "FeeRefund.list" do
|
|
||||||
should "support requests with args: limit, parent_id" do
|
|
||||||
Stripe::ApplicationFee.list_refunds("fee_xxxxxxxxxxxxx", { limit: 3 })
|
|
||||||
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds?limit=3"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context "FeeRefund.retrieve" do
|
|
||||||
should "support requests with args: parent_id, id" do
|
|
||||||
Stripe::ApplicationFee.retrieve_refund(
|
|
||||||
"fee_xxxxxxxxxxxxx",
|
|
||||||
"fr_xxxxxxxxxxxxx"
|
|
||||||
)
|
|
||||||
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx?"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context "FeeRefund.update" do
|
|
||||||
should "support requests with args: metadata, parent_id, id" do
|
|
||||||
Stripe::ApplicationFee.update_refund(
|
|
||||||
"fee_xxxxxxxxxxxxx",
|
|
||||||
"fr_xxxxxxxxxxxxx",
|
|
||||||
{ metadata: { order_id: "6735" } }
|
|
||||||
)
|
|
||||||
assert_requested :post, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context "File.list" do
|
context "File.list" do
|
||||||
should "support requests with args: limit" do
|
should "support requests with args: limit" do
|
||||||
Stripe::File.list({ limit: 3 })
|
Stripe::File.list({ limit: 3 })
|
||||||
@ -1294,12 +1300,6 @@ module Stripe
|
|||||||
assert_requested :post, "#{Stripe.api_base}/v1/payouts/po_xxxxxxxxxxxxx"
|
assert_requested :post, "#{Stripe.api_base}/v1/payouts/po_xxxxxxxxxxxxx"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
context "Person.list" do
|
|
||||||
should "support requests with args: limit, parent_id" do
|
|
||||||
Stripe::Account.list_persons("acct_xxxxxxxxxxxxx", { limit: 3 })
|
|
||||||
assert_requested :get, "#{Stripe.api_base}/v1/accounts/acct_xxxxxxxxxxxxx/persons?limit=3"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context "Person.retrieve" do
|
context "Person.retrieve" do
|
||||||
should "support requests with args: parent_id, id" do
|
should "support requests with args: parent_id, id" do
|
||||||
Stripe::Account.retrieve_person(
|
Stripe::Account.retrieve_person(
|
||||||
@ -1684,6 +1684,31 @@ module Stripe
|
|||||||
assert_requested :get, "#{Stripe.api_base}/v1/reporting/report_types/balance.summary.1?"
|
assert_requested :get, "#{Stripe.api_base}/v1/reporting/report_types/balance.summary.1?"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
context "Reversal.list" do
|
||||||
|
should "support requests with args: limit, parent_id" do
|
||||||
|
Stripe::Transfer.list_reversals("tr_xxxxxxxxxxxxx", { limit: 3 })
|
||||||
|
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals?limit=3"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
context "Reversal.retrieve" do
|
||||||
|
should "support requests with args: parent_id, id" do
|
||||||
|
Stripe::Transfer.retrieve_reversal(
|
||||||
|
"tr_xxxxxxxxxxxxx",
|
||||||
|
"trr_xxxxxxxxxxxxx"
|
||||||
|
)
|
||||||
|
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx?"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
context "Reversal.update" do
|
||||||
|
should "support requests with args: metadata, parent_id, id" do
|
||||||
|
Stripe::Transfer.update_reversal(
|
||||||
|
"tr_xxxxxxxxxxxxx",
|
||||||
|
"trr_xxxxxxxxxxxxx",
|
||||||
|
{ metadata: { order_id: "6735" } }
|
||||||
|
)
|
||||||
|
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx"
|
||||||
|
end
|
||||||
|
end
|
||||||
context "Review.approve" do
|
context "Review.approve" do
|
||||||
should "support requests with args: id" do
|
should "support requests with args: id" do
|
||||||
Stripe::Review.approve("prv_xxxxxxxxxxxxx")
|
Stripe::Review.approve("prv_xxxxxxxxxxxxx")
|
||||||
@ -1815,44 +1840,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")
|
||||||
@ -2421,31 +2408,6 @@ module Stripe
|
|||||||
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx"
|
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
context "TransferReversal.list" do
|
|
||||||
should "support requests with args: limit, parent_id" do
|
|
||||||
Stripe::Transfer.list_reversals("tr_xxxxxxxxxxxxx", { limit: 3 })
|
|
||||||
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals?limit=3"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context "TransferReversal.retrieve" do
|
|
||||||
should "support requests with args: parent_id, id" do
|
|
||||||
Stripe::Transfer.retrieve_reversal(
|
|
||||||
"tr_xxxxxxxxxxxxx",
|
|
||||||
"trr_xxxxxxxxxxxxx"
|
|
||||||
)
|
|
||||||
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx?"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context "TransferReversal.update" do
|
|
||||||
should "support requests with args: metadata, parent_id, id" do
|
|
||||||
Stripe::Transfer.update_reversal(
|
|
||||||
"tr_xxxxxxxxxxxxx",
|
|
||||||
"trr_xxxxxxxxxxxxx",
|
|
||||||
{ metadata: { order_id: "6735" } }
|
|
||||||
)
|
|
||||||
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context "Treasury.CreditReversal.create" do
|
context "Treasury.CreditReversal.create" do
|
||||||
should "support requests with args: received_credit" do
|
should "support requests with args: received_credit" do
|
||||||
Stripe::Treasury::CreditReversal.create(
|
Stripe::Treasury::CreditReversal.create(
|
||||||
|
@ -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