stripe 6.3.0 → 6.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/Makefile +1 -1
- data/OPENAPI_VERSION +1 -1
- data/VERSION +1 -1
- data/lib/stripe/api_operations/create.rb +6 -2
- data/lib/stripe/api_operations/delete.rb +12 -7
- data/lib/stripe/api_operations/list.rb +6 -9
- data/lib/stripe/api_operations/nested_resource.rb +62 -34
- data/lib/stripe/api_operations/request.rb +10 -0
- data/lib/stripe/api_operations/save.rb +6 -3
- data/lib/stripe/api_operations/search.rb +6 -9
- data/lib/stripe/api_resource.rb +1 -1
- data/lib/stripe/resources/account.rb +28 -8
- data/lib/stripe/resources/apps/secret.rb +10 -12
- data/lib/stripe/resources/charge.rb +10 -3
- data/lib/stripe/resources/checkout/session.rb +10 -3
- data/lib/stripe/resources/credit_note.rb +22 -7
- data/lib/stripe/resources/customer.rb +66 -25
- data/lib/stripe/resources/dispute.rb +10 -3
- data/lib/stripe/resources/financial_connections/account.rb +30 -7
- data/lib/stripe/resources/identity/verification_session.rb +20 -5
- data/lib/stripe/resources/invoice.rb +62 -15
- data/lib/stripe/resources/issuing/authorization.rb +20 -5
- data/lib/stripe/resources/issuing/card.rb +10 -3
- data/lib/stripe/resources/issuing/dispute.rb +10 -3
- data/lib/stripe/resources/order.rb +40 -9
- data/lib/stripe/resources/payment_intent.rb +60 -13
- data/lib/stripe/resources/payment_link.rb +10 -3
- data/lib/stripe/resources/payment_method.rb +20 -5
- data/lib/stripe/resources/payout.rb +20 -5
- data/lib/stripe/resources/quote.rb +50 -11
- data/lib/stripe/resources/refund.rb +19 -5
- data/lib/stripe/resources/review.rb +10 -3
- data/lib/stripe/resources/setup_intent.rb +30 -7
- data/lib/stripe/resources/source.rb +16 -6
- data/lib/stripe/resources/subscription.rb +10 -3
- data/lib/stripe/resources/subscription_item.rb +6 -2
- data/lib/stripe/resources/subscription_schedule.rb +20 -5
- data/lib/stripe/resources/terminal/reader.rb +49 -11
- data/lib/stripe/resources/test_helpers/test_clock.rb +10 -3
- data/lib/stripe/resources/topup.rb +10 -3
- data/lib/stripe/resources/transfer.rb +10 -3
- data/lib/stripe/resources/treasury/financial_account.rb +20 -5
- data/lib/stripe/resources/treasury/inbound_transfer.rb +39 -9
- data/lib/stripe/resources/treasury/outbound_payment.rb +39 -9
- data/lib/stripe/resources/treasury/outbound_transfer.rb +43 -9
- data/lib/stripe/resources/treasury/received_credit.rb +5 -6
- data/lib/stripe/resources/treasury/received_debit.rb +5 -6
- data/lib/stripe/util.rb +29 -3
- data/lib/stripe/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8b2647147e752c48286db590da33c49eab3ada2597f747e285aeba1c859285d
|
4
|
+
data.tar.gz: 72ba2a35faae21c340fb7bad6bfb0325fe9d6dbd8862e2f37e10d8e80f8ded51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebafa5766c73b0b3fd13f5a5fcb1e5488b5eb56d5000d184b5f042cdf5dc2906572fd340d0c61f262d027f4a3f3ec7a0df47e1101da47c9b6ad89b7382097a63
|
7
|
+
data.tar.gz: 37fa65a65eaf7af72012db023b1a70a9c753c86e77ac9911eade36f780ab9f0b08ad6dec1846b8fad103051567f75f95771c600a4fc59c5fbbe102626ce7369e
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 6.4.0 - 2022-06-17
|
4
|
+
* [#1073](https://github.com/stripe/stripe-ruby/pull/1073) API Updates
|
5
|
+
* Add support for `fund_cash_balance` test helper method on resource `Customer`
|
6
|
+
* [#1074](https://github.com/stripe/stripe-ruby/pull/1074) Support updating pre-release versions
|
7
|
+
* [#1072](https://github.com/stripe/stripe-ruby/pull/1072) Trigger workflows on beta branches
|
8
|
+
* [#1071](https://github.com/stripe/stripe-ruby/pull/1071) Use request_stripe_object for all requests
|
9
|
+
* [#1070](https://github.com/stripe/stripe-ruby/pull/1070) API Updates
|
10
|
+
|
11
|
+
Switch from using meta-programing to generating explicit methods for custom methods.
|
12
|
+
* [#1069](https://github.com/stripe/stripe-ruby/pull/1069) chore: Stop special implementation of Account.persons method.
|
13
|
+
|
3
14
|
## 6.3.0 - 2022-06-08
|
4
15
|
* [#1063](https://github.com/stripe/stripe-ruby/pull/1063) fix: Update cash balance methods to no longer require nested ID.
|
5
16
|
|
data/Makefile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.PHONY: update-version codegen-format
|
2
2
|
update-version:
|
3
3
|
@echo "$(VERSION)" > VERSION
|
4
|
-
@perl -pi -e 's|VERSION = "[
|
4
|
+
@perl -pi -e 's|VERSION = "[.\-\w\d]+"|VERSION = "$(VERSION)"|' lib/stripe/version.rb
|
5
5
|
|
6
6
|
codegen-format:
|
7
7
|
bundle exec rubocop -o /dev/null --auto-correct
|
data/OPENAPI_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
v157
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
6.
|
1
|
+
6.4.0
|
@@ -4,8 +4,12 @@ module Stripe
|
|
4
4
|
module APIOperations
|
5
5
|
module Create
|
6
6
|
def create(params = {}, opts = {})
|
7
|
-
|
8
|
-
|
7
|
+
request_stripe_object(
|
8
|
+
method: :post,
|
9
|
+
path: resource_url,
|
10
|
+
params: params,
|
11
|
+
opts: opts
|
12
|
+
)
|
9
13
|
end
|
10
14
|
end
|
11
15
|
end
|
@@ -18,17 +18,22 @@ module Stripe
|
|
18
18
|
# api_key to be overwritten. See
|
19
19
|
# {APIOperations::Request.execute_resource_request}.
|
20
20
|
def delete(id, params = {}, opts = {})
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
request_stripe_object(
|
22
|
+
method: :delete,
|
23
|
+
path: "#{resource_url}/#{id}",
|
24
|
+
params: params,
|
25
|
+
opts: opts
|
26
|
+
)
|
25
27
|
end
|
26
28
|
end
|
27
29
|
|
28
30
|
def delete(params = {}, opts = {})
|
29
|
-
|
30
|
-
|
31
|
-
|
31
|
+
request_stripe_object(
|
32
|
+
method: :delete,
|
33
|
+
path: resource_url,
|
34
|
+
params: params,
|
35
|
+
opts: opts
|
36
|
+
)
|
32
37
|
end
|
33
38
|
|
34
39
|
def self.included(base)
|
@@ -4,15 +4,12 @@ module Stripe
|
|
4
4
|
module APIOperations
|
5
5
|
module List
|
6
6
|
def list(filters = {}, opts = {})
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
# predicates when accessing the next and previous pages
|
14
|
-
obj.filters = filters.dup
|
15
|
-
obj
|
7
|
+
request_stripe_object(
|
8
|
+
method: :get,
|
9
|
+
path: resource_url,
|
10
|
+
params: filters,
|
11
|
+
opts: opts
|
12
|
+
)
|
16
13
|
end
|
17
14
|
end
|
18
15
|
end
|
@@ -26,46 +26,74 @@ module Stripe
|
|
26
26
|
end
|
27
27
|
|
28
28
|
operations.each do |operation|
|
29
|
-
|
30
|
-
|
31
|
-
|
29
|
+
define_operation(
|
30
|
+
resource,
|
31
|
+
operation,
|
32
|
+
resource_url_method,
|
33
|
+
resource_plural
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
private def define_operation(
|
39
|
+
resource,
|
40
|
+
operation,
|
41
|
+
resource_url_method,
|
42
|
+
resource_plural
|
43
|
+
)
|
44
|
+
case operation
|
45
|
+
when :create
|
46
|
+
define_singleton_method(:"create_#{resource}") \
|
32
47
|
do |id, params = {}, opts = {}|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
48
|
+
request_stripe_object(
|
49
|
+
method: :post,
|
50
|
+
path: send(resource_url_method, id),
|
51
|
+
params: params,
|
52
|
+
opts: opts
|
53
|
+
)
|
54
|
+
end
|
55
|
+
when :retrieve
|
56
|
+
define_singleton_method(:"retrieve_#{resource}") \
|
39
57
|
do |id, nested_id, opts = {}|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
58
|
+
request_stripe_object(
|
59
|
+
method: :get,
|
60
|
+
path: send(resource_url_method, id, nested_id),
|
61
|
+
params: {},
|
62
|
+
opts: opts
|
63
|
+
)
|
64
|
+
end
|
65
|
+
when :update
|
66
|
+
define_singleton_method(:"update_#{resource}") \
|
46
67
|
do |id, nested_id, params = {}, opts = {}|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
68
|
+
request_stripe_object(
|
69
|
+
method: :post,
|
70
|
+
path: send(resource_url_method, id, nested_id),
|
71
|
+
params: params,
|
72
|
+
opts: opts
|
73
|
+
)
|
74
|
+
end
|
75
|
+
when :delete
|
76
|
+
define_singleton_method(:"delete_#{resource}") \
|
53
77
|
do |id, nested_id, params = {}, opts = {}|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
78
|
+
request_stripe_object(
|
79
|
+
method: :delete,
|
80
|
+
path: send(resource_url_method, id, nested_id),
|
81
|
+
params: params,
|
82
|
+
opts: opts
|
83
|
+
)
|
84
|
+
end
|
85
|
+
when :list
|
86
|
+
define_singleton_method(:"list_#{resource_plural}") \
|
61
87
|
do |id, params = {}, opts = {}|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
88
|
+
request_stripe_object(
|
89
|
+
method: :get,
|
90
|
+
path: send(resource_url_method, id),
|
91
|
+
params: params,
|
92
|
+
opts: opts
|
93
|
+
)
|
68
94
|
end
|
95
|
+
else
|
96
|
+
raise ArgumentError, "Unknown operation: #{operation.inspect}"
|
69
97
|
end
|
70
98
|
end
|
71
99
|
end
|
@@ -24,6 +24,11 @@ module Stripe
|
|
24
24
|
)
|
25
25
|
end
|
26
26
|
|
27
|
+
private def request_stripe_object(method:, path:, params:, opts: {})
|
28
|
+
resp, opts = execute_resource_request(method, path, params, opts)
|
29
|
+
Util.convert_to_stripe_object_with_params(resp.data, params, opts)
|
30
|
+
end
|
31
|
+
|
27
32
|
private def execute_resource_request_internal(client_request_method_sym,
|
28
33
|
method, url,
|
29
34
|
params, opts,
|
@@ -122,6 +127,11 @@ module Stripe
|
|
122
127
|
)
|
123
128
|
end
|
124
129
|
|
130
|
+
private def request_stripe_object(method:, path:, params:, opts: {})
|
131
|
+
resp, opts = execute_resource_request(method, path, params, opts)
|
132
|
+
Util.convert_to_stripe_object_with_params(resp.data, params, opts)
|
133
|
+
end
|
134
|
+
|
125
135
|
# See notes on `alias` above.
|
126
136
|
alias request execute_resource_request
|
127
137
|
end
|
@@ -24,9 +24,12 @@ module Stripe
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
request_stripe_object(
|
28
|
+
method: :post,
|
29
|
+
path: "#{resource_url}/#{id}",
|
30
|
+
params: params,
|
31
|
+
opts: opts
|
32
|
+
)
|
30
33
|
end
|
31
34
|
end
|
32
35
|
|
@@ -4,15 +4,12 @@ module Stripe
|
|
4
4
|
module APIOperations
|
5
5
|
module Search
|
6
6
|
def _search(search_url, filters = {}, opts = {})
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
# when accessing the next page
|
14
|
-
obj.filters = filters.dup
|
15
|
-
obj
|
7
|
+
request_stripe_object(
|
8
|
+
method: :get,
|
9
|
+
path: search_url,
|
10
|
+
params: filters,
|
11
|
+
opts: opts
|
12
|
+
)
|
16
13
|
end
|
17
14
|
end
|
18
15
|
end
|
data/lib/stripe/api_resource.rb
CHANGED
@@ -97,7 +97,7 @@ module Stripe
|
|
97
97
|
if Util.object_name_matches_class?(resp.data[:object], self.class)
|
98
98
|
initialize_from(resp.data, opts)
|
99
99
|
else
|
100
|
-
Util.
|
100
|
+
Util.convert_to_stripe_object_with_params(resp.data, params, opts)
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
@@ -12,18 +12,43 @@ module Stripe
|
|
12
12
|
|
13
13
|
OBJECT_NAME = "account"
|
14
14
|
|
15
|
-
custom_method :reject, http_verb: :post
|
16
|
-
|
17
15
|
nested_resource_class_methods :capability,
|
18
16
|
operations: %i[retrieve update list],
|
19
17
|
resource_plural: "capabilities"
|
20
18
|
nested_resource_class_methods :person,
|
21
19
|
operations: %i[create retrieve update delete list]
|
22
20
|
|
21
|
+
def persons(params = {}, opts = {})
|
22
|
+
request_stripe_object(
|
23
|
+
method: :get,
|
24
|
+
path: format("/v1/accounts/%<account>s/persons", { account: CGI.escape(self["id"]) }),
|
25
|
+
params: params,
|
26
|
+
opts: opts
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
23
30
|
def reject(params = {}, opts = {})
|
24
31
|
request_stripe_object(
|
25
32
|
method: :post,
|
26
|
-
path:
|
33
|
+
path: format("/v1/accounts/%<account>s/reject", { account: CGI.escape(self["id"]) }),
|
34
|
+
params: params,
|
35
|
+
opts: opts
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.persons(account, params = {}, opts = {})
|
40
|
+
request_stripe_object(
|
41
|
+
method: :get,
|
42
|
+
path: format("/v1/accounts/%<account>s/persons", { account: CGI.escape(account) }),
|
43
|
+
params: params,
|
44
|
+
opts: opts
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.reject(account, params = {}, opts = {})
|
49
|
+
request_stripe_object(
|
50
|
+
method: :post,
|
51
|
+
path: format("/v1/accounts/%<account>s/reject", { account: CGI.escape(account) }),
|
27
52
|
params: params,
|
28
53
|
opts: opts
|
29
54
|
)
|
@@ -60,11 +85,6 @@ module Stripe
|
|
60
85
|
super(id, opts)
|
61
86
|
end
|
62
87
|
|
63
|
-
def persons(params = {}, opts = {})
|
64
|
-
resp, opts = execute_resource_request(:get, resource_url + "/persons", params, opts)
|
65
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
66
|
-
end
|
67
|
-
|
68
88
|
# We are not adding a helper for capabilities here as the Account object
|
69
89
|
# already has a capabilities property which is a hash and not the sub-list
|
70
90
|
# of capabilities.
|
@@ -10,23 +10,21 @@ module Stripe
|
|
10
10
|
OBJECT_NAME = "apps.secret"
|
11
11
|
|
12
12
|
def self.delete_where(params = {}, opts = {})
|
13
|
-
|
14
|
-
:post,
|
15
|
-
|
16
|
-
params,
|
17
|
-
opts
|
13
|
+
request_stripe_object(
|
14
|
+
method: :post,
|
15
|
+
path: "/v1/apps/secrets/delete",
|
16
|
+
params: params,
|
17
|
+
opts: opts
|
18
18
|
)
|
19
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
20
19
|
end
|
21
20
|
|
22
21
|
def self.find(params = {}, opts = {})
|
23
|
-
|
24
|
-
:get,
|
25
|
-
|
26
|
-
params,
|
27
|
-
opts
|
22
|
+
request_stripe_object(
|
23
|
+
method: :get,
|
24
|
+
path: "/v1/apps/secrets/find",
|
25
|
+
params: params,
|
26
|
+
opts: opts
|
28
27
|
)
|
29
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
30
28
|
end
|
31
29
|
end
|
32
30
|
end
|
@@ -10,12 +10,19 @@ module Stripe
|
|
10
10
|
|
11
11
|
OBJECT_NAME = "charge"
|
12
12
|
|
13
|
-
custom_method :capture, http_verb: :post
|
14
|
-
|
15
13
|
def capture(params = {}, opts = {})
|
16
14
|
request_stripe_object(
|
17
15
|
method: :post,
|
18
|
-
path:
|
16
|
+
path: format("/v1/charges/%<charge>s/capture", { charge: CGI.escape(self["id"]) }),
|
17
|
+
params: params,
|
18
|
+
opts: opts
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.capture(charge, params = {}, opts = {})
|
23
|
+
request_stripe_object(
|
24
|
+
method: :post,
|
25
|
+
path: format("/v1/charges/%<charge>s/capture", { charge: CGI.escape(charge) }),
|
19
26
|
params: params,
|
20
27
|
opts: opts
|
21
28
|
)
|
@@ -10,14 +10,21 @@ module Stripe
|
|
10
10
|
|
11
11
|
OBJECT_NAME = "checkout.session"
|
12
12
|
|
13
|
-
custom_method :expire, http_verb: :post
|
14
|
-
|
15
13
|
nested_resource_class_methods :line_item, operations: %i[list]
|
16
14
|
|
17
15
|
def expire(params = {}, opts = {})
|
18
16
|
request_stripe_object(
|
19
17
|
method: :post,
|
20
|
-
path:
|
18
|
+
path: format("/v1/checkout/sessions/%<session>s/expire", { session: CGI.escape(self["id"]) }),
|
19
|
+
params: params,
|
20
|
+
opts: opts
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.expire(session, params = {}, opts = {})
|
25
|
+
request_stripe_object(
|
26
|
+
method: :post,
|
27
|
+
path: format("/v1/checkout/sessions/%<session>s/expire", { session: CGI.escape(session) }),
|
21
28
|
params: params,
|
22
29
|
opts: opts
|
23
30
|
)
|
@@ -9,25 +9,40 @@ module Stripe
|
|
9
9
|
|
10
10
|
OBJECT_NAME = "credit_note"
|
11
11
|
|
12
|
-
custom_method :void_credit_note, http_verb: :post, http_path: "void"
|
13
|
-
|
14
12
|
def void_credit_note(params = {}, opts = {})
|
15
13
|
request_stripe_object(
|
16
14
|
method: :post,
|
17
|
-
path:
|
15
|
+
path: format("/v1/credit_notes/%<id>s/void", { id: CGI.escape(self["id"]) }),
|
16
|
+
params: params,
|
17
|
+
opts: opts
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.void_credit_note(id, params = {}, opts = {})
|
22
|
+
request_stripe_object(
|
23
|
+
method: :post,
|
24
|
+
path: format("/v1/credit_notes/%<id>s/void", { id: CGI.escape(id) }),
|
18
25
|
params: params,
|
19
26
|
opts: opts
|
20
27
|
)
|
21
28
|
end
|
22
29
|
|
23
30
|
def self.preview(params, opts = {})
|
24
|
-
|
25
|
-
|
31
|
+
request_stripe_object(
|
32
|
+
method: :get,
|
33
|
+
path: resource_url + "/preview",
|
34
|
+
params: params,
|
35
|
+
opts: opts
|
36
|
+
)
|
26
37
|
end
|
27
38
|
|
28
39
|
def self.list_preview_line_items(params, opts = {})
|
29
|
-
|
30
|
-
|
40
|
+
request_stripe_object(
|
41
|
+
method: :get,
|
42
|
+
path: resource_url + "/preview/lines",
|
43
|
+
params: params,
|
44
|
+
opts: opts
|
45
|
+
)
|
31
46
|
end
|
32
47
|
end
|
33
48
|
end
|
@@ -12,9 +12,6 @@ module Stripe
|
|
12
12
|
|
13
13
|
OBJECT_NAME = "customer"
|
14
14
|
|
15
|
-
custom_method :create_funding_instructions, http_verb: :post, http_path: "funding_instructions"
|
16
|
-
custom_method :list_payment_methods, http_verb: :get, http_path: "payment_methods"
|
17
|
-
|
18
15
|
nested_resource_class_methods :balance_transaction,
|
19
16
|
operations: %i[create retrieve update list]
|
20
17
|
nested_resource_class_methods :tax_id,
|
@@ -23,7 +20,7 @@ module Stripe
|
|
23
20
|
def create_funding_instructions(params = {}, opts = {})
|
24
21
|
request_stripe_object(
|
25
22
|
method: :post,
|
26
|
-
path:
|
23
|
+
path: format("/v1/customers/%<customer>s/funding_instructions", { customer: CGI.escape(self["id"]) }),
|
27
24
|
params: params,
|
28
25
|
opts: opts
|
29
26
|
)
|
@@ -32,7 +29,7 @@ module Stripe
|
|
32
29
|
def list_payment_methods(params = {}, opts = {})
|
33
30
|
request_stripe_object(
|
34
31
|
method: :get,
|
35
|
-
path:
|
32
|
+
path: format("/v1/customers/%<customer>s/payment_methods", { customer: CGI.escape(self["id"]) }),
|
36
33
|
params: params,
|
37
34
|
opts: opts
|
38
35
|
)
|
@@ -47,19 +44,36 @@ module Stripe
|
|
47
44
|
)
|
48
45
|
end
|
49
46
|
|
47
|
+
def self.create_funding_instructions(customer, params = {}, opts = {})
|
48
|
+
request_stripe_object(
|
49
|
+
method: :post,
|
50
|
+
path: format("/v1/customers/%<customer>s/funding_instructions", { customer: CGI.escape(customer) }),
|
51
|
+
params: params,
|
52
|
+
opts: opts
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.list_payment_methods(customer, params = {}, opts = {})
|
57
|
+
request_stripe_object(
|
58
|
+
method: :get,
|
59
|
+
path: format("/v1/customers/%<customer>s/payment_methods", { customer: CGI.escape(customer) }),
|
60
|
+
params: params,
|
61
|
+
opts: opts
|
62
|
+
)
|
63
|
+
end
|
64
|
+
|
50
65
|
def self.retrieve_payment_method(
|
51
66
|
customer,
|
52
67
|
payment_method,
|
53
68
|
params = {},
|
54
69
|
opts = {}
|
55
70
|
)
|
56
|
-
|
57
|
-
:get,
|
58
|
-
format("/v1/customers/%<customer>s/payment_methods/%<payment_method>s", { customer: CGI.escape(customer), payment_method: CGI.escape(payment_method) }),
|
59
|
-
params,
|
60
|
-
opts
|
71
|
+
request_stripe_object(
|
72
|
+
method: :get,
|
73
|
+
path: format("/v1/customers/%<customer>s/payment_methods/%<payment_method>s", { customer: CGI.escape(customer), payment_method: CGI.escape(payment_method) }),
|
74
|
+
params: params,
|
75
|
+
opts: opts
|
61
76
|
)
|
62
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
63
77
|
end
|
64
78
|
|
65
79
|
custom_method :delete_discount, http_verb: :delete, http_path: "discount"
|
@@ -80,8 +94,11 @@ module Stripe
|
|
80
94
|
# so you must call `refresh` on it to get a new version with the
|
81
95
|
# discount removed.
|
82
96
|
def delete_discount
|
83
|
-
|
84
|
-
|
97
|
+
request_stripe_object(
|
98
|
+
method: :delete,
|
99
|
+
path: resource_url + "/discount",
|
100
|
+
params: {}
|
101
|
+
)
|
85
102
|
end
|
86
103
|
|
87
104
|
def self.search(params = {}, opts = {})
|
@@ -103,13 +120,12 @@ module Stripe
|
|
103
120
|
if !opts_or_unused_nested_id.nil? && opts_or_unused_nested_id.class == Hash && opts.empty?
|
104
121
|
opts = opts_or_unused_nested_id
|
105
122
|
end
|
106
|
-
|
107
|
-
:get,
|
108
|
-
format("/v1/customers/%<customer>s/cash_balance", { customer: CGI.escape(customer) }),
|
109
|
-
{},
|
110
|
-
opts
|
123
|
+
request_stripe_object(
|
124
|
+
method: :get,
|
125
|
+
path: format("/v1/customers/%<customer>s/cash_balance", { customer: CGI.escape(customer) }),
|
126
|
+
params: {},
|
127
|
+
opts: opts
|
111
128
|
)
|
112
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
113
129
|
end
|
114
130
|
|
115
131
|
def self.update_cash_balance(
|
@@ -123,13 +139,38 @@ module Stripe
|
|
123
139
|
raise ArgumentError, "update_cash_balance requires the second argument always be nil for legacy reasons."
|
124
140
|
end
|
125
141
|
|
126
|
-
|
127
|
-
:post,
|
128
|
-
format("/v1/customers/%<customer>s/cash_balance", { customer: CGI.escape(customer) }),
|
129
|
-
params,
|
130
|
-
opts
|
142
|
+
request_stripe_object(
|
143
|
+
method: :post,
|
144
|
+
path: format("/v1/customers/%<customer>s/cash_balance", { customer: CGI.escape(customer) }),
|
145
|
+
params: params,
|
146
|
+
opts: opts
|
131
147
|
)
|
132
|
-
|
148
|
+
end
|
149
|
+
|
150
|
+
def test_helpers
|
151
|
+
TestHelpers.new(self)
|
152
|
+
end
|
153
|
+
|
154
|
+
class TestHelpers < APIResourceTestHelpers
|
155
|
+
RESOURCE_CLASS = Customer
|
156
|
+
|
157
|
+
def self.fund_cash_balance(customer, params = {}, opts = {})
|
158
|
+
request_stripe_object(
|
159
|
+
method: :post,
|
160
|
+
path: format("/v1/test_helpers/customers/%<customer>s/fund_cash_balance", { customer: CGI.escape(customer) }),
|
161
|
+
params: params,
|
162
|
+
opts: opts
|
163
|
+
)
|
164
|
+
end
|
165
|
+
|
166
|
+
def fund_cash_balance(params = {}, opts = {})
|
167
|
+
@resource.request_stripe_object(
|
168
|
+
method: :post,
|
169
|
+
path: format("/v1/test_helpers/customers/%<customer>s/fund_cash_balance", { customer: CGI.escape(@resource["id"]) }),
|
170
|
+
params: params,
|
171
|
+
opts: opts
|
172
|
+
)
|
173
|
+
end
|
133
174
|
end
|
134
175
|
end
|
135
176
|
end
|
@@ -8,12 +8,19 @@ module Stripe
|
|
8
8
|
|
9
9
|
OBJECT_NAME = "dispute"
|
10
10
|
|
11
|
-
custom_method :close, http_verb: :post
|
12
|
-
|
13
11
|
def close(params = {}, opts = {})
|
14
12
|
request_stripe_object(
|
15
13
|
method: :post,
|
16
|
-
path:
|
14
|
+
path: format("/v1/disputes/%<dispute>s/close", { dispute: CGI.escape(self["id"]) }),
|
15
|
+
params: params,
|
16
|
+
opts: opts
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.close(dispute, params = {}, opts = {})
|
21
|
+
request_stripe_object(
|
22
|
+
method: :post,
|
23
|
+
path: format("/v1/disputes/%<dispute>s/close", { dispute: CGI.escape(dispute) }),
|
17
24
|
params: params,
|
18
25
|
opts: opts
|
19
26
|
)
|