stripe 4.9.0 → 5.1.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/.editorconfig +10 -0
- data/.rubocop.yml +28 -4
- data/.rubocop_todo.yml +11 -22
- data/.travis.yml +3 -6
- data/.vscode/extensions.json +7 -0
- data/.vscode/settings.json +8 -0
- data/CHANGELOG.md +102 -2
- data/Gemfile +2 -10
- data/README.md +96 -40
- data/Rakefile +8 -7
- data/VERSION +1 -1
- data/lib/stripe.rb +64 -85
- data/lib/stripe/api_operations/delete.rb +23 -1
- data/lib/stripe/api_operations/list.rb +0 -6
- data/lib/stripe/api_operations/nested_resource.rb +14 -7
- data/lib/stripe/api_operations/request.rb +3 -7
- data/lib/stripe/api_operations/save.rb +1 -3
- data/lib/stripe/api_resource.rb +50 -2
- data/lib/stripe/connection_manager.rb +141 -0
- data/lib/stripe/error_object.rb +94 -0
- data/lib/stripe/errors.rb +22 -9
- data/lib/stripe/list_object.rb +11 -5
- data/lib/stripe/multipart_encoder.rb +131 -0
- data/lib/stripe/object_types.rb +94 -0
- data/lib/stripe/resources.rb +77 -0
- data/lib/stripe/{account.rb → resources/account.rb} +49 -27
- data/lib/stripe/{account_link.rb → resources/account_link.rb} +1 -1
- data/lib/stripe/resources/alipay_account.rb +34 -0
- data/lib/stripe/{apple_pay_domain.rb → resources/apple_pay_domain.rb} +1 -1
- data/lib/stripe/resources/application_fee.rb +13 -0
- data/lib/stripe/resources/application_fee_refund.rb +30 -0
- data/lib/stripe/{balance.rb → resources/balance.rb} +1 -1
- data/lib/stripe/{balance_transaction.rb → resources/balance_transaction.rb} +1 -5
- data/lib/stripe/{bank_account.rb → resources/bank_account.rb} +14 -4
- data/lib/stripe/{bitcoin_receiver.rb → resources/bitcoin_receiver.rb} +3 -3
- data/lib/stripe/{bitcoin_transaction.rb → resources/bitcoin_transaction.rb} +1 -1
- data/lib/stripe/resources/capability.rb +33 -0
- data/lib/stripe/{card.rb → resources/card.rb} +12 -4
- data/lib/stripe/resources/charge.rb +22 -0
- data/lib/stripe/{checkout → resources/checkout}/session.rb +2 -2
- data/lib/stripe/{country_spec.rb → resources/country_spec.rb} +1 -1
- data/lib/stripe/{coupon.rb → resources/coupon.rb} +2 -2
- data/lib/stripe/resources/credit_note.rb +22 -0
- data/lib/stripe/resources/customer.rb +35 -0
- data/lib/stripe/resources/customer_balance_transaction.rb +30 -0
- data/lib/stripe/resources/discount.rb +7 -0
- data/lib/stripe/{dispute.rb → resources/dispute.rb} +9 -7
- data/lib/stripe/{ephemeral_key.rb → resources/ephemeral_key.rb} +5 -2
- data/lib/stripe/{event.rb → resources/event.rb} +1 -1
- data/lib/stripe/{exchange_rate.rb → resources/exchange_rate.rb} +1 -1
- data/lib/stripe/{file.rb → resources/file.rb} +8 -11
- data/lib/stripe/{file_link.rb → resources/file_link.rb} +2 -2
- data/lib/stripe/resources/invoice.rb +73 -0
- data/lib/stripe/{invoice_item.rb → resources/invoice_item.rb} +2 -2
- data/lib/stripe/{invoice_line_item.rb → resources/invoice_line_item.rb} +1 -1
- data/lib/stripe/resources/issuing/authorization.rb +33 -0
- data/lib/stripe/resources/issuing/card.rb +24 -0
- data/lib/stripe/{issuing → resources/issuing}/card_details.rb +1 -1
- data/lib/stripe/{issuing → resources/issuing}/cardholder.rb +2 -2
- data/lib/stripe/{issuing → resources/issuing}/dispute.rb +2 -2
- data/lib/stripe/{issuing → resources/issuing}/transaction.rb +2 -2
- data/lib/stripe/resources/login_link.rb +14 -0
- data/lib/stripe/resources/order.rb +32 -0
- data/lib/stripe/{order_return.rb → resources/order_return.rb} +1 -1
- data/lib/stripe/resources/payment_intent.rb +42 -0
- data/lib/stripe/resources/payment_method.rb +32 -0
- data/lib/stripe/resources/payout.rb +22 -0
- data/lib/stripe/{person.rb → resources/person.rb} +8 -3
- data/lib/stripe/{plan.rb → resources/plan.rb} +1 -1
- data/lib/stripe/{product.rb → resources/product.rb} +3 -3
- data/lib/stripe/resources/radar/early_fraud_warning.rb +11 -0
- data/lib/stripe/{radar → resources/radar}/value_list.rb +2 -2
- data/lib/stripe/{radar → resources/radar}/value_list_item.rb +2 -2
- data/lib/stripe/{recipient.rb → resources/recipient.rb} +2 -6
- data/lib/stripe/{recipient_transfer.rb → resources/recipient_transfer.rb} +1 -1
- data/lib/stripe/{refund.rb → resources/refund.rb} +1 -1
- data/lib/stripe/{reporting → resources/reporting}/report_run.rb +2 -2
- data/lib/stripe/{reporting → resources/reporting}/report_type.rb +2 -2
- data/lib/stripe/resources/reversal.rb +29 -0
- data/lib/stripe/resources/review.rb +20 -0
- data/lib/stripe/resources/setup_intent.rb +32 -0
- data/lib/stripe/{sigma → resources/sigma}/scheduled_query_run.rb +2 -2
- data/lib/stripe/{sku.rb → resources/sku.rb} +3 -3
- data/lib/stripe/{source.rb → resources/source.rb} +17 -15
- data/lib/stripe/{source_transaction.rb → resources/source_transaction.rb} +1 -1
- data/lib/stripe/resources/subscription.rb +25 -0
- data/lib/stripe/{subscription_item.rb → resources/subscription_item.rb} +5 -2
- data/lib/stripe/resources/subscription_schedule.rb +32 -0
- data/lib/stripe/resources/tax_id.rb +26 -0
- data/lib/stripe/resources/tax_rate.rb +11 -0
- data/lib/stripe/{terminal → resources/terminal}/connection_token.rb +2 -2
- data/lib/stripe/{terminal → resources/terminal}/location.rb +3 -2
- data/lib/stripe/{terminal → resources/terminal}/reader.rb +3 -2
- data/lib/stripe/{three_d_secure.rb → resources/three_d_secure.rb} +1 -1
- data/lib/stripe/{token.rb → resources/token.rb} +1 -1
- data/lib/stripe/resources/topup.rb +22 -0
- data/lib/stripe/resources/transfer.rb +26 -0
- data/lib/stripe/resources/usage_record.rb +7 -0
- data/lib/stripe/{usage_record_summary.rb → resources/usage_record_summary.rb} +1 -1
- data/lib/stripe/{webhook_endpoint.rb → resources/webhook_endpoint.rb} +2 -2
- data/lib/stripe/singleton_api_resource.rb +3 -1
- data/lib/stripe/stripe_client.rb +347 -218
- data/lib/stripe/stripe_object.rb +72 -59
- data/lib/stripe/stripe_response.rb +53 -21
- data/lib/stripe/util.rb +54 -109
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe/webhook.rb +5 -3
- data/stripe.gemspec +14 -5
- data/test/stripe/account_link_test.rb +1 -1
- data/test/stripe/account_test.rb +193 -32
- data/test/stripe/alipay_account_test.rb +1 -1
- data/test/stripe/api_operations_test.rb +3 -4
- data/test/stripe/api_resource_test.rb +119 -30
- data/test/stripe/apple_pay_domain_test.rb +18 -5
- data/test/stripe/application_fee_refund_test.rb +1 -1
- data/test/stripe/application_fee_test.rb +45 -1
- data/test/stripe/balance_test.rb +1 -1
- data/test/stripe/balance_transaction_test.rb +20 -0
- data/test/stripe/bank_account_test.rb +1 -1
- data/test/stripe/capability_test.rb +45 -0
- data/test/stripe/charge_test.rb +13 -8
- data/test/stripe/checkout/session_test.rb +7 -1
- data/test/stripe/connection_manager_test.rb +138 -0
- data/test/stripe/country_spec_test.rb +1 -1
- data/test/stripe/coupon_test.rb +16 -6
- data/test/stripe/credit_note_test.rb +61 -0
- data/test/stripe/customer_balance_transaction_test.rb +37 -0
- data/test/stripe/customer_card_test.rb +1 -1
- data/test/stripe/customer_test.rb +151 -40
- data/test/stripe/dispute_test.rb +10 -1
- data/test/stripe/ephemeral_key_test.rb +8 -1
- data/test/stripe/errors_test.rb +30 -9
- data/test/stripe/exchange_rate_test.rb +1 -1
- data/test/stripe/file_link_test.rb +1 -1
- data/test/stripe/file_test.rb +19 -5
- data/test/stripe/invoice_item_test.rb +18 -7
- data/test/stripe/invoice_line_item_test.rb +1 -1
- data/test/stripe/invoice_test.rb +77 -9
- data/test/stripe/issuing/authorization_test.rb +33 -11
- data/test/stripe/issuing/card_test.rb +15 -6
- data/test/stripe/issuing/cardholder_test.rb +1 -1
- data/test/stripe/issuing/dispute_test.rb +1 -1
- data/test/stripe/issuing/transaction_test.rb +1 -1
- data/test/stripe/list_object_test.rb +1 -17
- data/test/stripe/login_link_test.rb +2 -2
- data/test/stripe/multipart_encoder_test.rb +130 -0
- data/test/stripe/oauth_test.rb +1 -1
- data/test/stripe/order_return_test.rb +1 -1
- data/test/stripe/order_test.rb +28 -3
- data/test/stripe/payment_intent_test.rb +31 -4
- data/test/stripe/payment_method_test.rb +84 -0
- data/test/stripe/payout_test.rb +8 -1
- data/test/stripe/person_test.rb +1 -1
- data/test/stripe/plan_test.rb +26 -20
- data/test/stripe/product_test.rb +16 -6
- data/test/stripe/radar/early_fraud_warning_test.rb +22 -0
- data/test/stripe/radar/value_list_item_test.rb +16 -6
- data/test/stripe/radar/value_list_test.rb +16 -6
- data/test/stripe/recipient_test.rb +18 -5
- data/test/stripe/refund_test.rb +1 -1
- data/test/stripe/reporting/report_run_test.rb +1 -1
- data/test/stripe/reporting/report_type_test.rb +1 -1
- data/test/stripe/reversal_test.rb +1 -1
- data/test/stripe/review_test.rb +1 -1
- data/test/stripe/setup_intent_test.rb +84 -0
- data/test/stripe/sigma/scheduled_query_run_test.rb +1 -1
- data/test/stripe/sku_test.rb +16 -6
- data/test/stripe/source_test.rb +14 -19
- data/test/stripe/source_transaction_test.rb +1 -1
- data/test/stripe/stripe_client_test.rb +242 -26
- data/test/stripe/stripe_object_test.rb +8 -36
- data/test/stripe/stripe_response_test.rb +71 -25
- data/test/stripe/subscription_item_test.rb +28 -6
- data/test/stripe/subscription_schedule_test.rb +19 -1
- data/test/stripe/subscription_test.rb +29 -9
- data/test/stripe/tax_id_test.rb +31 -0
- data/test/stripe/tax_rate_test.rb +43 -0
- data/test/stripe/terminal/connection_token_test.rb +1 -1
- data/test/stripe/terminal/location_test.rb +18 -1
- data/test/stripe/terminal/reader_test.rb +18 -1
- data/test/stripe/three_d_secure_test.rb +1 -1
- data/test/stripe/topup_test.rb +9 -1
- data/test/stripe/transfer_test.rb +46 -1
- data/test/stripe/usage_record_summary_test.rb +1 -1
- data/test/stripe/util_test.rb +1 -1
- data/test/stripe/webhook_endpoint_test.rb +18 -1
- data/test/stripe/webhook_test.rb +4 -4
- data/test/stripe_mock.rb +4 -3
- data/test/stripe_test.rb +1 -14
- data/test/test_helper.rb +14 -11
- metadata +117 -125
- data/lib/stripe/alipay_account.rb +0 -27
- data/lib/stripe/application_fee.rb +0 -23
- data/lib/stripe/application_fee_refund.rb +0 -22
- data/lib/stripe/charge.rb +0 -84
- data/lib/stripe/customer.rb +0 -90
- data/lib/stripe/invoice.rb +0 -48
- data/lib/stripe/issuer_fraud_record.rb +0 -9
- data/lib/stripe/issuing/authorization.rb +0 -22
- data/lib/stripe/issuing/card.rb +0 -18
- data/lib/stripe/login_link.rb +0 -11
- data/lib/stripe/order.rb +0 -31
- data/lib/stripe/payment_intent.rb +0 -26
- data/lib/stripe/payout.rb +0 -20
- data/lib/stripe/reversal.rb +0 -22
- data/lib/stripe/review.rb +0 -14
- data/lib/stripe/subscription.rb +0 -25
- data/lib/stripe/subscription_schedule.rb +0 -32
- data/lib/stripe/subscription_schedule_revision.rb +0 -25
- data/lib/stripe/topup.rb +0 -16
- data/lib/stripe/transfer.rb +0 -23
- data/lib/stripe/usage_record.rb +0 -14
- data/test/stripe/account_external_accounts_operations_test.rb +0 -69
- data/test/stripe/account_login_links_operations_test.rb +0 -21
- data/test/stripe/account_persons_operations_test.rb +0 -70
- data/test/stripe/application_fee_refunds_operations_test.rb +0 -56
- data/test/stripe/customer_sources_operations_test.rb +0 -64
- data/test/stripe/file_upload_test.rb +0 -76
- data/test/stripe/issuer_fraud_record_test.rb +0 -20
- data/test/stripe/subscription_schedule_revision_test.rb +0 -37
- data/test/stripe/subscription_schedule_revisions_operations_test.rb +0 -35
- data/test/stripe/transfer_reversals_operations_test.rb +0 -57
- data/test/stripe/usage_record_test.rb +0 -28
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class AlipayAccount < APIResource
|
5
|
-
include Stripe::APIOperations::Save
|
6
|
-
include Stripe::APIOperations::Delete
|
7
|
-
|
8
|
-
OBJECT_NAME = "alipay_account".freeze
|
9
|
-
|
10
|
-
def resource_url
|
11
|
-
if !respond_to?(:customer) || customer.nil?
|
12
|
-
raise NotImplementedError,
|
13
|
-
"Alipay accounts cannot be accessed without a customer ID."
|
14
|
-
end
|
15
|
-
|
16
|
-
"#{Customer.resource_url}/#{CGI.escape(customer)}/sources/#{CGI.escape(id)}"
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.update(_id, _params = nil, _opts = nil)
|
20
|
-
raise NotImplementedError, "Alipay accounts cannot be updated without a customer ID. Update an Alipay account by `a = customer.sources.retrieve('alipay_account_id'); a.save`"
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.retrieve(_id, _opts = nil)
|
24
|
-
raise NotImplementedError, "Alipay accounts cannot be retrieved without a customer ID. Retrieve an Alipay account using customer.sources.retrieve('alipay_account_id')"
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class ApplicationFee < APIResource
|
5
|
-
extend Stripe::APIOperations::List
|
6
|
-
extend Stripe::APIOperations::NestedResource
|
7
|
-
|
8
|
-
OBJECT_NAME = "application_fee".freeze
|
9
|
-
|
10
|
-
nested_resource_class_methods :refund, operations: %i[create retrieve update list]
|
11
|
-
|
12
|
-
# If you don't need access to an updated fee object after the refund, it's
|
13
|
-
# more performant to just call `fee.refunds.create` directly.
|
14
|
-
def refund(params = {}, opts = {})
|
15
|
-
refunds.create(params, opts)
|
16
|
-
|
17
|
-
# now that a refund has been created, we expect the state of this object
|
18
|
-
# to change as well (i.e. `refunded` will now be `true`) so refresh it
|
19
|
-
# from the server
|
20
|
-
refresh
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class ApplicationFeeRefund < APIResource
|
5
|
-
include Stripe::APIOperations::Save
|
6
|
-
extend Stripe::APIOperations::List
|
7
|
-
|
8
|
-
OBJECT_NAME = "fee_refund".freeze
|
9
|
-
|
10
|
-
def resource_url
|
11
|
-
"#{ApplicationFee.resource_url}/#{CGI.escape(fee)}/refunds/#{CGI.escape(id)}"
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.update(_id, _params = nil, _opts = nil)
|
15
|
-
raise NotImplementedError, "Refunds cannot be updated without an application fee ID. Update a refund by using `a = appfee.refunds.retrieve('refund_id'); a.save`"
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.retrieve(_id, _api_key = nil)
|
19
|
-
raise NotImplementedError, "Refunds cannot be retrieved without an application fee ID. Retrieve a refund using appfee.refunds.retrieve('refund_id')"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/lib/stripe/charge.rb
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class Charge < APIResource
|
5
|
-
extend Stripe::APIOperations::List
|
6
|
-
extend Stripe::APIOperations::Create
|
7
|
-
include Stripe::APIOperations::Save
|
8
|
-
|
9
|
-
OBJECT_NAME = "charge".freeze
|
10
|
-
|
11
|
-
def refund(params = {}, opts = {})
|
12
|
-
# Old versions of charge objects included a `refunds` field that was just
|
13
|
-
# a vanilla array instead of a Stripe list object.
|
14
|
-
#
|
15
|
-
# Where possible, we'd still like to use the new refund endpoint (thus
|
16
|
-
# `self.refunds.create`), but detect the old API version by looking for
|
17
|
-
# an `Array` and fall back to the old refund URL if necessary so as to
|
18
|
-
# maintain internal compatibility.
|
19
|
-
if refunds.is_a?(Array)
|
20
|
-
resp, opts = request(:post, refund_url, params, opts)
|
21
|
-
initialize_from(resp.data, opts)
|
22
|
-
else
|
23
|
-
refunds.create(params, opts)
|
24
|
-
|
25
|
-
# now that a refund has been created, we expect the state of this object
|
26
|
-
# to change as well (i.e. `refunded` will now be `true`) so refresh it
|
27
|
-
# from the server
|
28
|
-
refresh
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def capture(params = {}, opts = {})
|
33
|
-
resp, opts = request(:post, capture_url, params, opts)
|
34
|
-
initialize_from(resp.data, opts)
|
35
|
-
end
|
36
|
-
|
37
|
-
def update_dispute(params = {}, opts = {})
|
38
|
-
resp, opts = request(:post, dispute_url, params, opts)
|
39
|
-
initialize_from({ dispute: resp.data }, opts, true)
|
40
|
-
dispute
|
41
|
-
end
|
42
|
-
|
43
|
-
def close_dispute(params = {}, opts = {})
|
44
|
-
resp, opts = request(:post, close_dispute_url, params, opts)
|
45
|
-
initialize_from(resp.data, opts)
|
46
|
-
end
|
47
|
-
|
48
|
-
def mark_as_fraudulent
|
49
|
-
params = {
|
50
|
-
fraud_details: { user_report: "fraudulent" },
|
51
|
-
}
|
52
|
-
resp, opts = request(:post, resource_url, params)
|
53
|
-
initialize_from(resp.data, opts)
|
54
|
-
end
|
55
|
-
|
56
|
-
def mark_as_safe
|
57
|
-
params = {
|
58
|
-
fraud_details: { user_report: "safe" },
|
59
|
-
}
|
60
|
-
resp, opts = request(:post, resource_url, params)
|
61
|
-
initialize_from(resp.data, opts)
|
62
|
-
end
|
63
|
-
|
64
|
-
private
|
65
|
-
|
66
|
-
def capture_url
|
67
|
-
resource_url + "/capture"
|
68
|
-
end
|
69
|
-
|
70
|
-
def dispute_url
|
71
|
-
resource_url + "/dispute"
|
72
|
-
end
|
73
|
-
|
74
|
-
def close_dispute_url
|
75
|
-
resource_url + "/dispute/close"
|
76
|
-
end
|
77
|
-
|
78
|
-
# Note that this is actually the *old* refund URL and its use is no longer
|
79
|
-
# preferred.
|
80
|
-
def refund_url
|
81
|
-
resource_url + "/refund"
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
data/lib/stripe/customer.rb
DELETED
@@ -1,90 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class Customer < APIResource
|
5
|
-
extend Stripe::APIOperations::Create
|
6
|
-
include Stripe::APIOperations::Delete
|
7
|
-
include Stripe::APIOperations::Save
|
8
|
-
extend Stripe::APIOperations::List
|
9
|
-
extend Stripe::APIOperations::NestedResource
|
10
|
-
|
11
|
-
OBJECT_NAME = "customer".freeze
|
12
|
-
|
13
|
-
save_nested_resource :source
|
14
|
-
nested_resource_class_methods :source,
|
15
|
-
operations: %i[create retrieve update delete list]
|
16
|
-
|
17
|
-
# The API request for deleting a card or bank account and for detaching a
|
18
|
-
# source object are the same.
|
19
|
-
class << self
|
20
|
-
alias detach_source delete_source
|
21
|
-
end
|
22
|
-
|
23
|
-
def add_invoice_item(params, opts = {})
|
24
|
-
opts = @opts.merge(Util.normalize_opts(opts))
|
25
|
-
InvoiceItem.create(params.merge(customer: id), opts)
|
26
|
-
end
|
27
|
-
|
28
|
-
def invoices(params = {}, opts = {})
|
29
|
-
opts = @opts.merge(Util.normalize_opts(opts))
|
30
|
-
Invoice.all(params.merge(customer: id), opts)
|
31
|
-
end
|
32
|
-
|
33
|
-
def invoice_items(params = {}, opts = {})
|
34
|
-
opts = @opts.merge(Util.normalize_opts(opts))
|
35
|
-
InvoiceItem.all(params.merge(customer: id), opts)
|
36
|
-
end
|
37
|
-
|
38
|
-
def upcoming_invoice(params = {}, opts = {})
|
39
|
-
opts = @opts.merge(Util.normalize_opts(opts))
|
40
|
-
Invoice.upcoming(params.merge(customer: id), opts)
|
41
|
-
end
|
42
|
-
|
43
|
-
def charges(params = {}, opts = {})
|
44
|
-
opts = @opts.merge(Util.normalize_opts(opts))
|
45
|
-
Charge.all(params.merge(customer: id), opts)
|
46
|
-
end
|
47
|
-
|
48
|
-
def create_upcoming_invoice(params = {}, opts = {})
|
49
|
-
opts = @opts.merge(Util.normalize_opts(opts))
|
50
|
-
Invoice.create(params.merge(customer: id), opts)
|
51
|
-
end
|
52
|
-
|
53
|
-
def cancel_subscription(params = {}, opts = {})
|
54
|
-
resp, opts = request(:delete, subscription_url, params, opts)
|
55
|
-
initialize_from({ subscription: resp.data }, opts, true)
|
56
|
-
subscription
|
57
|
-
end
|
58
|
-
|
59
|
-
def update_subscription(params = {}, opts = {})
|
60
|
-
resp, opts = request(:post, subscription_url, params, opts)
|
61
|
-
initialize_from({ subscription: resp.data }, opts, true)
|
62
|
-
subscription
|
63
|
-
end
|
64
|
-
|
65
|
-
def create_subscription(params = {}, opts = {})
|
66
|
-
resp, opts = request(:post, subscriptions_url, params, opts)
|
67
|
-
initialize_from({ subscription: resp.data }, opts, true)
|
68
|
-
subscription
|
69
|
-
end
|
70
|
-
|
71
|
-
def delete_discount
|
72
|
-
_, opts = request(:delete, discount_url)
|
73
|
-
initialize_from({ discount: nil }, opts, true)
|
74
|
-
end
|
75
|
-
|
76
|
-
private
|
77
|
-
|
78
|
-
def discount_url
|
79
|
-
resource_url + "/discount"
|
80
|
-
end
|
81
|
-
|
82
|
-
def subscription_url
|
83
|
-
resource_url + "/subscription"
|
84
|
-
end
|
85
|
-
|
86
|
-
def subscriptions_url
|
87
|
-
resource_url + "/subscriptions"
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
data/lib/stripe/invoice.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class Invoice < APIResource
|
5
|
-
extend Stripe::APIOperations::List
|
6
|
-
include Stripe::APIOperations::Save
|
7
|
-
include Stripe::APIOperations::Delete
|
8
|
-
extend Stripe::APIOperations::Create
|
9
|
-
|
10
|
-
OBJECT_NAME = "invoice".freeze
|
11
|
-
|
12
|
-
def finalize_invoice(params = {}, opts = {})
|
13
|
-
url = resource_url + "/finalize"
|
14
|
-
resp, opts = request(:post, url, params, opts)
|
15
|
-
initialize_from(resp.data, opts)
|
16
|
-
end
|
17
|
-
|
18
|
-
def mark_uncollectible(params = {}, opts = {})
|
19
|
-
url = resource_url + "/mark_uncollectible"
|
20
|
-
resp, opts = request(:post, url, params, opts)
|
21
|
-
initialize_from(resp.data, opts)
|
22
|
-
end
|
23
|
-
|
24
|
-
def pay(params = {}, opts = {})
|
25
|
-
url = resource_url + "/pay"
|
26
|
-
resp, opts = request(:post, url, params, opts)
|
27
|
-
initialize_from(resp.data, opts)
|
28
|
-
end
|
29
|
-
|
30
|
-
def send_invoice(params = {}, opts = {})
|
31
|
-
url = resource_url + "/send"
|
32
|
-
resp, opts = request(:post, url, params, opts)
|
33
|
-
initialize_from(resp.data, opts)
|
34
|
-
end
|
35
|
-
|
36
|
-
def self.upcoming(params, opts = {})
|
37
|
-
url = resource_url + "/upcoming"
|
38
|
-
resp, opts = request(:get, url, params, opts)
|
39
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
40
|
-
end
|
41
|
-
|
42
|
-
def void_invoice(params = {}, opts = {})
|
43
|
-
url = resource_url + "/void"
|
44
|
-
resp, opts = request(:post, url, params, opts)
|
45
|
-
initialize_from(resp.data, opts)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
module Issuing
|
5
|
-
class Authorization < Stripe::APIResource
|
6
|
-
extend Stripe::APIOperations::List
|
7
|
-
include Stripe::APIOperations::Save
|
8
|
-
|
9
|
-
OBJECT_NAME = "issuing.authorization".freeze
|
10
|
-
|
11
|
-
def approve(params = {}, opts = {})
|
12
|
-
resp, opts = request(:post, resource_url + "/approve", params, opts)
|
13
|
-
initialize_from(resp.data, opts)
|
14
|
-
end
|
15
|
-
|
16
|
-
def decline(params = {}, opts = {})
|
17
|
-
resp, opts = request(:post, resource_url + "/decline", params, opts)
|
18
|
-
initialize_from(resp.data, opts)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/lib/stripe/issuing/card.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
module Issuing
|
5
|
-
class Card < Stripe::APIResource
|
6
|
-
extend Stripe::APIOperations::Create
|
7
|
-
extend Stripe::APIOperations::List
|
8
|
-
include Stripe::APIOperations::Save
|
9
|
-
|
10
|
-
OBJECT_NAME = "issuing.card".freeze
|
11
|
-
|
12
|
-
def details(params = {}, opts = {})
|
13
|
-
resp, opts = request(:get, resource_url + "/details", params, opts)
|
14
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
data/lib/stripe/login_link.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class LoginLink < APIResource
|
5
|
-
OBJECT_NAME = "login_link".freeze
|
6
|
-
|
7
|
-
def self.retrieve(_id, _opts = nil)
|
8
|
-
raise NotImplementedError, "Login links do not have IDs and cannot be retrieved. They can only be created using accounts.login_links.create"
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
data/lib/stripe/order.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class Order < APIResource
|
5
|
-
extend Stripe::APIOperations::List
|
6
|
-
extend Stripe::APIOperations::Create
|
7
|
-
include Stripe::APIOperations::Save
|
8
|
-
|
9
|
-
OBJECT_NAME = "order".freeze
|
10
|
-
|
11
|
-
def pay(params, opts = {})
|
12
|
-
resp, opts = request(:post, pay_url, params, opts)
|
13
|
-
initialize_from(resp.data, opts)
|
14
|
-
end
|
15
|
-
|
16
|
-
def return_order(params, opts = {})
|
17
|
-
resp, opts = request(:post, returns_url, params, opts)
|
18
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
19
|
-
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def pay_url
|
24
|
-
resource_url + "/pay"
|
25
|
-
end
|
26
|
-
|
27
|
-
def returns_url
|
28
|
-
resource_url + "/returns"
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class PaymentIntent < APIResource
|
5
|
-
extend Stripe::APIOperations::Create
|
6
|
-
extend Stripe::APIOperations::List
|
7
|
-
include Stripe::APIOperations::Save
|
8
|
-
|
9
|
-
OBJECT_NAME = "payment_intent".freeze
|
10
|
-
|
11
|
-
def cancel(params = {}, opts = {})
|
12
|
-
resp, opts = request(:post, resource_url + "/cancel", params, opts)
|
13
|
-
initialize_from(resp.data, opts)
|
14
|
-
end
|
15
|
-
|
16
|
-
def capture(params = {}, opts = {})
|
17
|
-
resp, opts = request(:post, resource_url + "/capture", params, opts)
|
18
|
-
initialize_from(resp.data, opts)
|
19
|
-
end
|
20
|
-
|
21
|
-
def confirm(params = {}, opts = {})
|
22
|
-
resp, opts = request(:post, resource_url + "/confirm", params, opts)
|
23
|
-
initialize_from(resp.data, opts)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
data/lib/stripe/payout.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Stripe
|
4
|
-
class Payout < APIResource
|
5
|
-
extend Stripe::APIOperations::List
|
6
|
-
extend Stripe::APIOperations::Create
|
7
|
-
include Stripe::APIOperations::Save
|
8
|
-
|
9
|
-
OBJECT_NAME = "payout".freeze
|
10
|
-
|
11
|
-
def cancel
|
12
|
-
resp, api_key = request(:post, cancel_url)
|
13
|
-
initialize_from(resp.data, api_key)
|
14
|
-
end
|
15
|
-
|
16
|
-
def cancel_url
|
17
|
-
resource_url + "/cancel"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|