stripe 12.7.0.pre.beta.1 → 13.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +725 -1354
- data/OPENAPI_VERSION +1 -1
- data/README.md +4 -3
- data/VERSION +1 -1
- data/examples/README.md +11 -0
- data/examples/meter_event_stream.rb +47 -0
- data/examples/new_example.rb +24 -0
- data/examples/stripe_webhook_handler.rb +28 -0
- data/lib/stripe/api_operations/nested_resource.rb +1 -21
- data/lib/stripe/api_operations/request.rb +19 -70
- data/lib/stripe/api_operations/save.rb +4 -3
- data/lib/stripe/api_operations/singleton_save.rb +5 -2
- data/lib/stripe/api_requestor.rb +1131 -0
- data/lib/stripe/api_resource.rb +22 -14
- data/lib/stripe/api_version.rb +1 -2
- data/lib/stripe/connection_manager.rb +1 -1
- data/lib/stripe/errors.rb +8 -2
- data/lib/stripe/event_types.rb +14 -0
- data/lib/stripe/events/v1_billing_meter_error_report_triggered_event.rb +23 -0
- data/lib/stripe/events/v1_billing_meter_no_meter_found_event.rb +13 -0
- data/lib/stripe/list_object.rb +2 -3
- data/lib/stripe/oauth.rb +8 -15
- data/lib/stripe/object_types.rb +16 -21
- data/lib/stripe/request_options.rb +128 -0
- data/lib/stripe/resources/billing/credit_balance_summary.rb +14 -0
- data/lib/stripe/resources/billing/credit_balance_transaction.rb +26 -0
- data/lib/stripe/resources/billing/credit_grant.rb +88 -0
- data/lib/stripe/resources/customer.rb +2 -3
- data/lib/stripe/resources/file.rb +7 -5
- data/lib/stripe/resources/financial_connections/account.rb +0 -3
- data/lib/stripe/resources/invoice.rb +0 -81
- data/lib/stripe/resources/invoice_rendering_template.rb +2 -0
- data/lib/stripe/resources/payment_intent.rb +0 -50
- data/lib/stripe/resources/quote.rb +4 -108
- data/lib/stripe/resources/source.rb +3 -2
- data/lib/stripe/resources/subscription.rb +6 -6
- data/lib/stripe/resources/subscription_schedule.rb +0 -20
- data/lib/stripe/resources/terminal/reader.rb +0 -60
- data/lib/stripe/resources/v2/billing/meter_event.rb +16 -0
- data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +15 -0
- data/lib/stripe/resources/v2/billing/meter_event_session.rb +15 -0
- data/lib/stripe/resources/v2/event.rb +13 -0
- data/lib/stripe/resources.rb +9 -19
- data/lib/stripe/search_result_object.rb +1 -1
- data/lib/stripe/services/account_capability_service.rb +39 -0
- data/lib/stripe/services/account_external_account_service.rb +68 -0
- data/lib/stripe/services/account_link_service.rb +17 -0
- data/lib/stripe/services/account_login_link_service.rb +19 -0
- data/lib/stripe/services/account_person_service.rb +61 -0
- data/lib/stripe/services/account_service.rb +100 -0
- data/lib/stripe/services/account_session_service.rb +17 -0
- data/lib/stripe/services/apple_pay_domain_service.rb +50 -0
- data/lib/stripe/services/application_fee_refund_service.rb +60 -0
- data/lib/stripe/services/application_fee_service.rb +35 -0
- data/lib/stripe/services/apps/secret_service.rb +52 -0
- data/lib/stripe/services/apps_service.rb +13 -0
- data/lib/stripe/services/balance_service.rb +12 -0
- data/lib/stripe/services/balance_transaction_service.rb +32 -0
- data/lib/stripe/services/billing/alert_service.rb +74 -0
- data/lib/stripe/services/billing/credit_balance_summary_service.rb +19 -0
- data/lib/stripe/services/billing/credit_balance_transaction_service.rb +30 -0
- data/lib/stripe/services/billing/credit_grant_service.rb +74 -0
- data/lib/stripe/services/billing/meter_event_adjustment_service.rb +19 -0
- data/lib/stripe/services/billing/meter_event_service.rb +19 -0
- data/lib/stripe/services/billing/meter_event_summary_service.rb +19 -0
- data/lib/stripe/services/billing/meter_service.rb +81 -0
- data/lib/stripe/services/billing_portal/configuration_service.rb +52 -0
- data/lib/stripe/services/billing_portal/session_service.rb +19 -0
- data/lib/stripe/services/billing_portal_service.rb +14 -0
- data/lib/stripe/services/billing_service.rb +20 -0
- data/lib/stripe/services/charge_service.rb +69 -0
- data/lib/stripe/services/checkout/session_line_item_service.rb +19 -0
- data/lib/stripe/services/checkout/session_service.rb +72 -0
- data/lib/stripe/services/checkout_service.rb +13 -0
- data/lib/stripe/services/climate/order_service.rb +68 -0
- data/lib/stripe/services/climate/product_service.rb +30 -0
- data/lib/stripe/services/climate/supplier_service.rb +30 -0
- data/lib/stripe/services/climate_service.rb +15 -0
- data/lib/stripe/services/confirmation_token_service.rb +17 -0
- data/lib/stripe/services/country_spec_service.rb +28 -0
- data/lib/stripe/services/coupon_service.rb +51 -0
- data/lib/stripe/services/credit_note_line_item_service.rb +17 -0
- data/lib/stripe/services/credit_note_preview_lines_service.rb +17 -0
- data/lib/stripe/services/credit_note_service.rb +93 -0
- data/lib/stripe/services/customer_balance_transaction_service.rb +50 -0
- data/lib/stripe/services/customer_cash_balance_service.rb +28 -0
- data/lib/stripe/services/customer_cash_balance_transaction_service.rb +28 -0
- data/lib/stripe/services/customer_funding_instructions_service.rb +19 -0
- data/lib/stripe/services/customer_payment_method_service.rb +28 -0
- data/lib/stripe/services/customer_payment_source_service.rb +76 -0
- data/lib/stripe/services/customer_service.rb +89 -0
- data/lib/stripe/services/customer_session_service.rb +17 -0
- data/lib/stripe/services/customer_tax_id_service.rb +50 -0
- data/lib/stripe/services/dispute_service.rb +48 -0
- data/lib/stripe/services/entitlements/active_entitlement_service.rb +30 -0
- data/lib/stripe/services/entitlements/feature_service.rb +52 -0
- data/lib/stripe/services/entitlements_service.rb +14 -0
- data/lib/stripe/services/ephemeral_key_service.rb +28 -0
- data/lib/stripe/services/event_service.rb +22 -0
- data/lib/stripe/services/exchange_rate_service.rb +28 -0
- data/lib/stripe/services/file_link_service.rb +38 -0
- data/lib/stripe/services/file_service.rb +35 -0
- data/lib/stripe/services/financial_connections/account_owner_service.rb +19 -0
- data/lib/stripe/services/financial_connections/account_service.rb +81 -0
- data/lib/stripe/services/financial_connections/session_service.rb +30 -0
- data/lib/stripe/services/financial_connections/transaction_service.rb +30 -0
- data/lib/stripe/services/financial_connections_service.rb +15 -0
- data/lib/stripe/services/forwarding/request_service.rb +41 -0
- data/lib/stripe/services/forwarding_service.rb +13 -0
- data/lib/stripe/services/identity/verification_report_service.rb +30 -0
- data/lib/stripe/services/identity/verification_session_service.rb +106 -0
- data/lib/stripe/services/identity_service.rb +14 -0
- data/lib/stripe/services/invoice_item_service.rb +61 -0
- data/lib/stripe/services/invoice_line_item_service.rb +31 -0
- data/lib/stripe/services/invoice_rendering_template_service.rb +50 -0
- data/lib/stripe/services/invoice_service.rb +202 -0
- data/lib/stripe/services/invoice_upcoming_lines_service.rb +17 -0
- data/lib/stripe/services/issuing/authorization_service.rb +65 -0
- data/lib/stripe/services/issuing/card_service.rb +52 -0
- data/lib/stripe/services/issuing/cardholder_service.rb +52 -0
- data/lib/stripe/services/issuing/dispute_service.rb +63 -0
- data/lib/stripe/services/issuing/personalization_design_service.rb +52 -0
- data/lib/stripe/services/issuing/physical_bundle_service.rb +30 -0
- data/lib/stripe/services/issuing/token_service.rb +41 -0
- data/lib/stripe/services/issuing/transaction_service.rb +41 -0
- data/lib/stripe/services/issuing_service.rb +20 -0
- data/lib/stripe/services/mandate_service.rb +17 -0
- data/lib/stripe/services/oauth_service.rb +63 -0
- data/lib/stripe/services/payment_intent_service.rb +204 -0
- data/lib/stripe/services/payment_link_line_item_service.rb +17 -0
- data/lib/stripe/services/payment_link_service.rb +57 -0
- data/lib/stripe/services/payment_method_configuration_service.rb +50 -0
- data/lib/stripe/services/payment_method_domain_service.rb +66 -0
- data/lib/stripe/services/payment_method_service.rb +86 -0
- data/lib/stripe/services/payout_service.rb +66 -0
- data/lib/stripe/services/plan_service.rb +49 -0
- data/lib/stripe/services/price_service.rb +52 -0
- data/lib/stripe/services/product_feature_service.rb +50 -0
- data/lib/stripe/services/product_service.rb +70 -0
- data/lib/stripe/services/promotion_code_service.rb +50 -0
- data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +17 -0
- data/lib/stripe/services/quote_line_item_service.rb +17 -0
- data/lib/stripe/services/quote_service.rb +92 -0
- data/lib/stripe/services/radar/early_fraud_warning_service.rb +32 -0
- data/lib/stripe/services/radar/value_list_item_service.rb +52 -0
- data/lib/stripe/services/radar/value_list_service.rb +63 -0
- data/lib/stripe/services/radar_service.rb +15 -0
- data/lib/stripe/services/refund_service.rb +63 -0
- data/lib/stripe/services/reporting/report_run_service.rb +41 -0
- data/lib/stripe/services/reporting/report_type_service.rb +30 -0
- data/lib/stripe/services/reporting_service.rb +14 -0
- data/lib/stripe/services/review_service.rb +33 -0
- data/lib/stripe/services/setup_attempt_service.rb +17 -0
- data/lib/stripe/services/setup_intent_service.rb +105 -0
- data/lib/stripe/services/shipping_rate_service.rb +50 -0
- data/lib/stripe/services/sigma/scheduled_query_run_service.rb +30 -0
- data/lib/stripe/services/sigma_service.rb +13 -0
- data/lib/stripe/services/source_service.rb +64 -0
- data/lib/stripe/services/source_transaction_service.rb +17 -0
- data/lib/stripe/services/subscription_item_service.rb +69 -0
- data/lib/stripe/services/subscription_item_usage_record_service.rb +23 -0
- data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +19 -0
- data/lib/stripe/services/subscription_schedule_service.rb +72 -0
- data/lib/stripe/services/subscription_service.rb +127 -0
- data/lib/stripe/services/tax/calculation_line_item_service.rb +19 -0
- data/lib/stripe/services/tax/calculation_service.rb +37 -0
- data/lib/stripe/services/tax/registration_service.rb +54 -0
- data/lib/stripe/services/tax/settings_service.rb +30 -0
- data/lib/stripe/services/tax/transaction_line_item_service.rb +19 -0
- data/lib/stripe/services/tax/transaction_service.rb +48 -0
- data/lib/stripe/services/tax_code_service.rb +22 -0
- data/lib/stripe/services/tax_id_service.rb +38 -0
- data/lib/stripe/services/tax_rate_service.rb +38 -0
- data/lib/stripe/services/tax_service.rb +16 -0
- data/lib/stripe/services/terminal/configuration_service.rb +63 -0
- data/lib/stripe/services/terminal/connection_token_service.rb +19 -0
- data/lib/stripe/services/terminal/location_service.rb +64 -0
- data/lib/stripe/services/terminal/reader_service.rb +118 -0
- data/lib/stripe/services/terminal_service.rb +16 -0
- data/lib/stripe/services/test_helpers/confirmation_token_service.rb +19 -0
- data/lib/stripe/services/test_helpers/customer_service.rb +19 -0
- data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +76 -0
- data/lib/stripe/services/test_helpers/issuing/card_service.rb +54 -0
- data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +43 -0
- data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +43 -0
- data/lib/stripe/services/test_helpers/issuing_service.rb +19 -0
- data/lib/stripe/services/test_helpers/refund_service.rb +19 -0
- data/lib/stripe/services/test_helpers/terminal/reader_service.rb +21 -0
- data/lib/stripe/services/test_helpers/terminal_service.rb +15 -0
- data/lib/stripe/services/test_helpers/test_clock_service.rb +63 -0
- data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +43 -0
- data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +54 -0
- data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +54 -0
- data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +21 -0
- data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +21 -0
- data/lib/stripe/services/test_helpers/treasury_service.rb +19 -0
- data/lib/stripe/services/test_helpers_service.rb +19 -0
- data/lib/stripe/services/token_service.rb +23 -0
- data/lib/stripe/services/topup_service.rb +49 -0
- data/lib/stripe/services/transfer_reversal_service.rb +56 -0
- data/lib/stripe/services/transfer_service.rb +47 -0
- data/lib/stripe/services/treasury/credit_reversal_service.rb +41 -0
- data/lib/stripe/services/treasury/debit_reversal_service.rb +41 -0
- data/lib/stripe/services/treasury/financial_account_features_service.rb +30 -0
- data/lib/stripe/services/treasury/financial_account_service.rb +59 -0
- data/lib/stripe/services/treasury/inbound_transfer_service.rb +52 -0
- data/lib/stripe/services/treasury/outbound_payment_service.rb +52 -0
- data/lib/stripe/services/treasury/outbound_transfer_service.rb +52 -0
- data/lib/stripe/services/treasury/received_credit_service.rb +30 -0
- data/lib/stripe/services/treasury/received_debit_service.rb +30 -0
- data/lib/stripe/services/treasury/transaction_entry_service.rb +30 -0
- data/lib/stripe/services/treasury/transaction_service.rb +30 -0
- data/lib/stripe/services/treasury_service.rb +22 -0
- data/lib/stripe/services/v1_services.rb +89 -0
- data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +21 -0
- data/lib/stripe/services/v2/billing/meter_event_service.rb +21 -0
- data/lib/stripe/services/v2/billing/meter_event_session_service.rb +21 -0
- data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +23 -0
- data/lib/stripe/services/v2/billing_service.rb +18 -0
- data/lib/stripe/services/v2/core/event_service.rb +32 -0
- data/lib/stripe/services/v2/core_service.rb +15 -0
- data/lib/stripe/services/v2_services.rb +14 -0
- data/lib/stripe/services/webhook_endpoint_service.rb +61 -0
- data/lib/stripe/services.rb +181 -0
- data/lib/stripe/singleton_api_resource.rb +1 -18
- data/lib/stripe/stripe_client.rb +51 -1067
- data/lib/stripe/stripe_configuration.rb +32 -20
- data/lib/stripe/stripe_object.rb +37 -18
- data/lib/stripe/stripe_service.rb +32 -0
- data/lib/stripe/thin_event.rb +17 -0
- data/lib/stripe/util.rb +69 -46
- data/lib/stripe/v2_list_object.rb +84 -0
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe/webhook.rb +1 -1
- data/lib/stripe.rb +15 -54
- metadata +203 -24
- data/lib/stripe/request_signing_authenticator.rb +0 -79
- data/lib/stripe/resources/account_notice.rb +0 -32
- data/lib/stripe/resources/capital/financing_offer.rb +0 -49
- data/lib/stripe/resources/capital/financing_summary.rb +0 -15
- data/lib/stripe/resources/capital/financing_transaction.rb +0 -27
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -14
- data/lib/stripe/resources/financial_connections/institution.rb +0 -26
- data/lib/stripe/resources/gift_cards/card.rb +0 -59
- data/lib/stripe/resources/gift_cards/transaction.rb +0 -93
- data/lib/stripe/resources/invoice_payment.rb +0 -12
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -88
- data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +0 -26
- data/lib/stripe/resources/margin.rb +0 -37
- data/lib/stripe/resources/order.rb +0 -120
- data/lib/stripe/resources/quote_phase.rb +0 -32
- data/lib/stripe/resources/quote_preview_invoice.rb +0 -43
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -11
- data/lib/stripe/resources/tax/association.rb +0 -24
- data/lib/stripe/resources/tax/form.rb +0 -49
- data/lib/stripe/resources/terminal/reader_collected_data.rb +0 -14
@@ -0,0 +1,30 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Issuing
|
6
|
+
class PhysicalBundleService < StripeService
|
7
|
+
# Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
|
8
|
+
def list(params = {}, opts = {})
|
9
|
+
request(
|
10
|
+
method: :get,
|
11
|
+
path: "/v1/issuing/physical_bundles",
|
12
|
+
params: params,
|
13
|
+
opts: opts,
|
14
|
+
base_address: :api
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
# Retrieves a physical bundle object.
|
19
|
+
def retrieve(physical_bundle, params = {}, opts = {})
|
20
|
+
request(
|
21
|
+
method: :get,
|
22
|
+
path: format("/v1/issuing/physical_bundles/%<physical_bundle>s", { physical_bundle: CGI.escape(physical_bundle) }),
|
23
|
+
params: params,
|
24
|
+
opts: opts,
|
25
|
+
base_address: :api
|
26
|
+
)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Issuing
|
6
|
+
class TokenService < StripeService
|
7
|
+
# Lists all Issuing Token objects for a given card.
|
8
|
+
def list(params = {}, opts = {})
|
9
|
+
request(
|
10
|
+
method: :get,
|
11
|
+
path: "/v1/issuing/tokens",
|
12
|
+
params: params,
|
13
|
+
opts: opts,
|
14
|
+
base_address: :api
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
# Retrieves an Issuing Token object.
|
19
|
+
def retrieve(token, params = {}, opts = {})
|
20
|
+
request(
|
21
|
+
method: :get,
|
22
|
+
path: format("/v1/issuing/tokens/%<token>s", { token: CGI.escape(token) }),
|
23
|
+
params: params,
|
24
|
+
opts: opts,
|
25
|
+
base_address: :api
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
# Attempts to update the specified Issuing Token object to the status specified.
|
30
|
+
def update(token, params = {}, opts = {})
|
31
|
+
request(
|
32
|
+
method: :post,
|
33
|
+
path: format("/v1/issuing/tokens/%<token>s", { token: CGI.escape(token) }),
|
34
|
+
params: params,
|
35
|
+
opts: opts,
|
36
|
+
base_address: :api
|
37
|
+
)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Issuing
|
6
|
+
class TransactionService < StripeService
|
7
|
+
# Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
|
8
|
+
def list(params = {}, opts = {})
|
9
|
+
request(
|
10
|
+
method: :get,
|
11
|
+
path: "/v1/issuing/transactions",
|
12
|
+
params: params,
|
13
|
+
opts: opts,
|
14
|
+
base_address: :api
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
# Retrieves an Issuing Transaction object.
|
19
|
+
def retrieve(transaction, params = {}, opts = {})
|
20
|
+
request(
|
21
|
+
method: :get,
|
22
|
+
path: format("/v1/issuing/transactions/%<transaction>s", { transaction: CGI.escape(transaction) }),
|
23
|
+
params: params,
|
24
|
+
opts: opts,
|
25
|
+
base_address: :api
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
# Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
|
30
|
+
def update(transaction, params = {}, opts = {})
|
31
|
+
request(
|
32
|
+
method: :post,
|
33
|
+
path: format("/v1/issuing/transactions/%<transaction>s", { transaction: CGI.escape(transaction) }),
|
34
|
+
params: params,
|
35
|
+
opts: opts,
|
36
|
+
base_address: :api
|
37
|
+
)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
class IssuingService < StripeService
|
6
|
+
attr_reader :authorizations, :cards, :cardholders, :disputes, :personalization_designs, :physical_bundles, :tokens, :transactions
|
7
|
+
|
8
|
+
def initialize(requestor)
|
9
|
+
super(requestor)
|
10
|
+
@authorizations = Stripe::Issuing::AuthorizationService.new(@requestor)
|
11
|
+
@cards = Stripe::Issuing::CardService.new(@requestor)
|
12
|
+
@cardholders = Stripe::Issuing::CardholderService.new(@requestor)
|
13
|
+
@disputes = Stripe::Issuing::DisputeService.new(@requestor)
|
14
|
+
@personalization_designs = Stripe::Issuing::PersonalizationDesignService.new(@requestor)
|
15
|
+
@physical_bundles = Stripe::Issuing::PhysicalBundleService.new(@requestor)
|
16
|
+
@tokens = Stripe::Issuing::TokenService.new(@requestor)
|
17
|
+
@transactions = Stripe::Issuing::TransactionService.new(@requestor)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
class MandateService < StripeService
|
6
|
+
# Retrieves a Mandate object.
|
7
|
+
def retrieve(mandate, params = {}, opts = {})
|
8
|
+
request(
|
9
|
+
method: :get,
|
10
|
+
path: format("/v1/mandates/%<mandate>s", { mandate: CGI.escape(mandate) }),
|
11
|
+
params: params,
|
12
|
+
opts: opts,
|
13
|
+
base_address: :api
|
14
|
+
)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Stripe
|
4
|
+
class OAuthService < StripeService
|
5
|
+
def authorize_url(params = {}, opts = {})
|
6
|
+
path = if opts[:express]
|
7
|
+
"/express/oauth/authorize"
|
8
|
+
else
|
9
|
+
"/oauth/authorize"
|
10
|
+
end
|
11
|
+
|
12
|
+
params[:client_id] = client_id(params)
|
13
|
+
|
14
|
+
params[:response_type] = "code" if params.include?(:response_type)
|
15
|
+
|
16
|
+
query = Util.encode_parameters(params, :v1)
|
17
|
+
|
18
|
+
connect_api_base = @requestor.config.base_addresses[:connect]
|
19
|
+
raise ArgumentError, "connect_api_base cannot be empty" if connect_api_base.nil? || connect_api_base.empty?
|
20
|
+
|
21
|
+
"#{connect_api_base}#{path}?#{query}"
|
22
|
+
end
|
23
|
+
|
24
|
+
def token(params = {}, opts = {})
|
25
|
+
opts = Util.normalize_opts(opts)
|
26
|
+
opts[:api_key] = params[:client_secret] if params[:client_secret]
|
27
|
+
|
28
|
+
request(
|
29
|
+
method: :post,
|
30
|
+
path: "/oauth/token",
|
31
|
+
params: params,
|
32
|
+
opts: opts,
|
33
|
+
base_address: :connect
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
def deauthorize(params = {}, opts = {})
|
38
|
+
params[:client_id] = client_id(params)
|
39
|
+
|
40
|
+
request(
|
41
|
+
method: :post,
|
42
|
+
path: "/oauth/deauthorize",
|
43
|
+
params: params,
|
44
|
+
opts: opts,
|
45
|
+
base_address: :connect
|
46
|
+
)
|
47
|
+
end
|
48
|
+
|
49
|
+
private def client_id(params = {})
|
50
|
+
return params[:client_id] if params.include?(:client_id)
|
51
|
+
|
52
|
+
return @requestor.config.client_id if !@requestor.config.client_id.nil? && !@requestor.config.client_id.empty?
|
53
|
+
|
54
|
+
raise AuthenticationError, "No client_id provided. (HINT: set your client_id when configuring " \
|
55
|
+
"your StripeClient: \"Stripe::StripeClient.new(..., client_id: <CLIENT_ID>)\"). " \
|
56
|
+
"You can find your client_ids in your Stripe dashboard at " \
|
57
|
+
"https://dashboard.stripe.com/account/applications/settings, " \
|
58
|
+
"after registering your account as a platform. See " \
|
59
|
+
"https://stripe.com/docs/connect/standalone-accounts for details, " \
|
60
|
+
"or email support@stripe.com if you have any questions." \
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,204 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
class PaymentIntentService < StripeService
|
6
|
+
# Manually reconcile the remaining amount for a customer_balance PaymentIntent.
|
7
|
+
def apply_customer_balance(intent, params = {}, opts = {})
|
8
|
+
request(
|
9
|
+
method: :post,
|
10
|
+
path: format("/v1/payment_intents/%<intent>s/apply_customer_balance", { intent: CGI.escape(intent) }),
|
11
|
+
params: params,
|
12
|
+
opts: opts,
|
13
|
+
base_address: :api
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
# You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://stripe.com/docs/payments/intents), processing.
|
18
|
+
#
|
19
|
+
# After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded.
|
20
|
+
#
|
21
|
+
# You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead.
|
22
|
+
def cancel(intent, params = {}, opts = {})
|
23
|
+
request(
|
24
|
+
method: :post,
|
25
|
+
path: format("/v1/payment_intents/%<intent>s/cancel", { intent: CGI.escape(intent) }),
|
26
|
+
params: params,
|
27
|
+
opts: opts,
|
28
|
+
base_address: :api
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture.
|
33
|
+
#
|
34
|
+
# Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation.
|
35
|
+
#
|
36
|
+
# Learn more about [separate authorization and capture](https://stripe.com/docs/payments/capture-later).
|
37
|
+
def capture(intent, params = {}, opts = {})
|
38
|
+
request(
|
39
|
+
method: :post,
|
40
|
+
path: format("/v1/payment_intents/%<intent>s/capture", { intent: CGI.escape(intent) }),
|
41
|
+
params: params,
|
42
|
+
opts: opts,
|
43
|
+
base_address: :api
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Confirm that your customer intends to pay with current or provided
|
48
|
+
# payment method. Upon confirmation, the PaymentIntent will attempt to initiate
|
49
|
+
# a payment.
|
50
|
+
# If the selected payment method requires additional authentication steps, the
|
51
|
+
# PaymentIntent will transition to the requires_action status and
|
52
|
+
# suggest additional actions via next_action. If payment fails,
|
53
|
+
# the PaymentIntent transitions to the requires_payment_method status or the
|
54
|
+
# canceled status if the confirmation limit is reached. If
|
55
|
+
# payment succeeds, the PaymentIntent will transition to the succeeded
|
56
|
+
# status (or requires_capture, if capture_method is set to manual).
|
57
|
+
# If the confirmation_method is automatic, payment may be attempted
|
58
|
+
# using our [client SDKs](https://stripe.com/docs/stripe-js/reference#stripe-handle-card-payment)
|
59
|
+
# and the PaymentIntent's [client_secret](https://stripe.com/docs/api#payment_intent_object-client_secret).
|
60
|
+
# After next_actions are handled by the client, no additional
|
61
|
+
# confirmation is required to complete the payment.
|
62
|
+
# If the confirmation_method is manual, all payment attempts must be
|
63
|
+
# initiated using a secret key.
|
64
|
+
# If any actions are required for the payment, the PaymentIntent will
|
65
|
+
# return to the requires_confirmation state
|
66
|
+
# after those actions are completed. Your server needs to then
|
67
|
+
# explicitly re-confirm the PaymentIntent to initiate the next payment
|
68
|
+
# attempt.
|
69
|
+
# There is a variable upper limit on how many times a PaymentIntent can be confirmed.
|
70
|
+
# After this limit is reached, any further calls to this endpoint will
|
71
|
+
# transition the PaymentIntent to the canceled state.
|
72
|
+
def confirm(intent, params = {}, opts = {})
|
73
|
+
request(
|
74
|
+
method: :post,
|
75
|
+
path: format("/v1/payment_intents/%<intent>s/confirm", { intent: CGI.escape(intent) }),
|
76
|
+
params: params,
|
77
|
+
opts: opts,
|
78
|
+
base_address: :api
|
79
|
+
)
|
80
|
+
end
|
81
|
+
|
82
|
+
# Creates a PaymentIntent object.
|
83
|
+
#
|
84
|
+
# After the PaymentIntent is created, attach a payment method and [confirm](https://stripe.com/docs/api/payment_intents/confirm)
|
85
|
+
# to continue the payment. Learn more about <a href="/docs/payments/payment-intents">the available payment flows
|
86
|
+
# with the Payment Intents API.
|
87
|
+
#
|
88
|
+
# When you use confirm=true during creation, it's equivalent to creating
|
89
|
+
# and confirming the PaymentIntent in the same call. You can use any parameters
|
90
|
+
# available in the [confirm API](https://stripe.com/docs/api/payment_intents/confirm) when you supply
|
91
|
+
# confirm=true.
|
92
|
+
def create(params = {}, opts = {})
|
93
|
+
request(
|
94
|
+
method: :post,
|
95
|
+
path: "/v1/payment_intents",
|
96
|
+
params: params,
|
97
|
+
opts: opts,
|
98
|
+
base_address: :api
|
99
|
+
)
|
100
|
+
end
|
101
|
+
|
102
|
+
# Perform an incremental authorization on an eligible
|
103
|
+
# [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
|
104
|
+
# PaymentIntent's status must be requires_capture and
|
105
|
+
# [incremental_authorization_supported](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported)
|
106
|
+
# must be true.
|
107
|
+
#
|
108
|
+
# Incremental authorizations attempt to increase the authorized amount on
|
109
|
+
# your customer's card to the new, higher amount provided. Similar to the
|
110
|
+
# initial authorization, incremental authorizations can be declined. A
|
111
|
+
# single PaymentIntent can call this endpoint multiple times to further
|
112
|
+
# increase the authorized amount.
|
113
|
+
#
|
114
|
+
# If the incremental authorization succeeds, the PaymentIntent object
|
115
|
+
# returns with the updated
|
116
|
+
# [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount).
|
117
|
+
# If the incremental authorization fails, a
|
118
|
+
# [card_declined](https://stripe.com/docs/error-codes#card-declined) error returns, and no other
|
119
|
+
# fields on the PaymentIntent or Charge update. The PaymentIntent
|
120
|
+
# object remains capturable for the previously authorized amount.
|
121
|
+
#
|
122
|
+
# Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines.
|
123
|
+
# After it's captured, a PaymentIntent can no longer be incremented.
|
124
|
+
#
|
125
|
+
# Learn more about [incremental authorizations](https://stripe.com/docs/terminal/features/incremental-authorizations).
|
126
|
+
def increment_authorization(intent, params = {}, opts = {})
|
127
|
+
request(
|
128
|
+
method: :post,
|
129
|
+
path: format("/v1/payment_intents/%<intent>s/increment_authorization", { intent: CGI.escape(intent) }),
|
130
|
+
params: params,
|
131
|
+
opts: opts,
|
132
|
+
base_address: :api
|
133
|
+
)
|
134
|
+
end
|
135
|
+
|
136
|
+
# Returns a list of PaymentIntents.
|
137
|
+
def list(params = {}, opts = {})
|
138
|
+
request(
|
139
|
+
method: :get,
|
140
|
+
path: "/v1/payment_intents",
|
141
|
+
params: params,
|
142
|
+
opts: opts,
|
143
|
+
base_address: :api
|
144
|
+
)
|
145
|
+
end
|
146
|
+
|
147
|
+
# Retrieves the details of a PaymentIntent that has previously been created.
|
148
|
+
#
|
149
|
+
# You can retrieve a PaymentIntent client-side using a publishable key when the client_secret is in the query string.
|
150
|
+
#
|
151
|
+
# If you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the [payment intent](https://stripe.com/docs/api#payment_intent_object) object reference for more details.
|
152
|
+
def retrieve(intent, params = {}, opts = {})
|
153
|
+
request(
|
154
|
+
method: :get,
|
155
|
+
path: format("/v1/payment_intents/%<intent>s", { intent: CGI.escape(intent) }),
|
156
|
+
params: params,
|
157
|
+
opts: opts,
|
158
|
+
base_address: :api
|
159
|
+
)
|
160
|
+
end
|
161
|
+
|
162
|
+
# Search for PaymentIntents you've previously created using Stripe's [Search Query Language](https://stripe.com/docs/search#search-query-language).
|
163
|
+
# Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating
|
164
|
+
# conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
|
165
|
+
# to an hour behind during outages. Search functionality is not available to merchants in India.
|
166
|
+
def search(params = {}, opts = {})
|
167
|
+
request(
|
168
|
+
method: :get,
|
169
|
+
path: "/v1/payment_intents/search",
|
170
|
+
params: params,
|
171
|
+
opts: opts,
|
172
|
+
base_address: :api
|
173
|
+
)
|
174
|
+
end
|
175
|
+
|
176
|
+
# Updates properties on a PaymentIntent object without confirming.
|
177
|
+
#
|
178
|
+
# Depending on which properties you update, you might need to confirm the
|
179
|
+
# PaymentIntent again. For example, updating the payment_method
|
180
|
+
# always requires you to confirm the PaymentIntent again. If you prefer to
|
181
|
+
# update and confirm at the same time, we recommend updating properties through
|
182
|
+
# the [confirm API](https://stripe.com/docs/api/payment_intents/confirm) instead.
|
183
|
+
def update(intent, params = {}, opts = {})
|
184
|
+
request(
|
185
|
+
method: :post,
|
186
|
+
path: format("/v1/payment_intents/%<intent>s", { intent: CGI.escape(intent) }),
|
187
|
+
params: params,
|
188
|
+
opts: opts,
|
189
|
+
base_address: :api
|
190
|
+
)
|
191
|
+
end
|
192
|
+
|
193
|
+
# Verifies microdeposits on a PaymentIntent object.
|
194
|
+
def verify_microdeposits(intent, params = {}, opts = {})
|
195
|
+
request(
|
196
|
+
method: :post,
|
197
|
+
path: format("/v1/payment_intents/%<intent>s/verify_microdeposits", { intent: CGI.escape(intent) }),
|
198
|
+
params: params,
|
199
|
+
opts: opts,
|
200
|
+
base_address: :api
|
201
|
+
)
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
class PaymentLinkLineItemService < StripeService
|
6
|
+
# When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
|
7
|
+
def list(payment_link, params = {}, opts = {})
|
8
|
+
request(
|
9
|
+
method: :get,
|
10
|
+
path: format("/v1/payment_links/%<payment_link>s/line_items", { payment_link: CGI.escape(payment_link) }),
|
11
|
+
params: params,
|
12
|
+
opts: opts,
|
13
|
+
base_address: :api
|
14
|
+
)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
class PaymentLinkService < StripeService
|
6
|
+
attr_reader :line_items
|
7
|
+
|
8
|
+
def initialize(requestor)
|
9
|
+
super(requestor)
|
10
|
+
@line_items = Stripe::PaymentLinkLineItemService.new(@requestor)
|
11
|
+
end
|
12
|
+
|
13
|
+
# Creates a payment link.
|
14
|
+
def create(params = {}, opts = {})
|
15
|
+
request(
|
16
|
+
method: :post,
|
17
|
+
path: "/v1/payment_links",
|
18
|
+
params: params,
|
19
|
+
opts: opts,
|
20
|
+
base_address: :api
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Returns a list of your payment links.
|
25
|
+
def list(params = {}, opts = {})
|
26
|
+
request(
|
27
|
+
method: :get,
|
28
|
+
path: "/v1/payment_links",
|
29
|
+
params: params,
|
30
|
+
opts: opts,
|
31
|
+
base_address: :api
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
35
|
+
# Retrieve a payment link.
|
36
|
+
def retrieve(payment_link, params = {}, opts = {})
|
37
|
+
request(
|
38
|
+
method: :get,
|
39
|
+
path: format("/v1/payment_links/%<payment_link>s", { payment_link: CGI.escape(payment_link) }),
|
40
|
+
params: params,
|
41
|
+
opts: opts,
|
42
|
+
base_address: :api
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Updates a payment link.
|
47
|
+
def update(payment_link, params = {}, opts = {})
|
48
|
+
request(
|
49
|
+
method: :post,
|
50
|
+
path: format("/v1/payment_links/%<payment_link>s", { payment_link: CGI.escape(payment_link) }),
|
51
|
+
params: params,
|
52
|
+
opts: opts,
|
53
|
+
base_address: :api
|
54
|
+
)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
class PaymentMethodConfigurationService < StripeService
|
6
|
+
# Creates a payment method configuration
|
7
|
+
def create(params = {}, opts = {})
|
8
|
+
request(
|
9
|
+
method: :post,
|
10
|
+
path: "/v1/payment_method_configurations",
|
11
|
+
params: params,
|
12
|
+
opts: opts,
|
13
|
+
base_address: :api
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
# List payment method configurations
|
18
|
+
def list(params = {}, opts = {})
|
19
|
+
request(
|
20
|
+
method: :get,
|
21
|
+
path: "/v1/payment_method_configurations",
|
22
|
+
params: params,
|
23
|
+
opts: opts,
|
24
|
+
base_address: :api
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Retrieve payment method configuration
|
29
|
+
def retrieve(configuration, params = {}, opts = {})
|
30
|
+
request(
|
31
|
+
method: :get,
|
32
|
+
path: format("/v1/payment_method_configurations/%<configuration>s", { configuration: CGI.escape(configuration) }),
|
33
|
+
params: params,
|
34
|
+
opts: opts,
|
35
|
+
base_address: :api
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Update payment method configuration
|
40
|
+
def update(configuration, params = {}, opts = {})
|
41
|
+
request(
|
42
|
+
method: :post,
|
43
|
+
path: format("/v1/payment_method_configurations/%<configuration>s", { configuration: CGI.escape(configuration) }),
|
44
|
+
params: params,
|
45
|
+
opts: opts,
|
46
|
+
base_address: :api
|
47
|
+
)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
class PaymentMethodDomainService < StripeService
|
6
|
+
# Creates a payment method domain.
|
7
|
+
def create(params = {}, opts = {})
|
8
|
+
request(
|
9
|
+
method: :post,
|
10
|
+
path: "/v1/payment_method_domains",
|
11
|
+
params: params,
|
12
|
+
opts: opts,
|
13
|
+
base_address: :api
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
# Lists the details of existing payment method domains.
|
18
|
+
def list(params = {}, opts = {})
|
19
|
+
request(
|
20
|
+
method: :get,
|
21
|
+
path: "/v1/payment_method_domains",
|
22
|
+
params: params,
|
23
|
+
opts: opts,
|
24
|
+
base_address: :api
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Retrieves the details of an existing payment method domain.
|
29
|
+
def retrieve(payment_method_domain, params = {}, opts = {})
|
30
|
+
request(
|
31
|
+
method: :get,
|
32
|
+
path: format("/v1/payment_method_domains/%<payment_method_domain>s", { payment_method_domain: CGI.escape(payment_method_domain) }),
|
33
|
+
params: params,
|
34
|
+
opts: opts,
|
35
|
+
base_address: :api
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Updates an existing payment method domain.
|
40
|
+
def update(payment_method_domain, params = {}, opts = {})
|
41
|
+
request(
|
42
|
+
method: :post,
|
43
|
+
path: format("/v1/payment_method_domains/%<payment_method_domain>s", { payment_method_domain: CGI.escape(payment_method_domain) }),
|
44
|
+
params: params,
|
45
|
+
opts: opts,
|
46
|
+
base_address: :api
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
# Some payment methods such as Apple Pay require additional steps to verify a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain.
|
51
|
+
# The payment method doesn't appear in Elements for this domain until it is active.
|
52
|
+
#
|
53
|
+
# To activate a payment method on an existing payment method domain, complete the required validation steps specific to the payment method, and then validate the payment method domain with this endpoint.
|
54
|
+
#
|
55
|
+
# Related guides: [Payment method domains](https://stripe.com/docs/payments/payment-methods/pmd-registration).
|
56
|
+
def validate(payment_method_domain, params = {}, opts = {})
|
57
|
+
request(
|
58
|
+
method: :post,
|
59
|
+
path: format("/v1/payment_method_domains/%<payment_method_domain>s/validate", { payment_method_domain: CGI.escape(payment_method_domain) }),
|
60
|
+
params: params,
|
61
|
+
opts: opts,
|
62
|
+
base_address: :api
|
63
|
+
)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|