stripe 12.5.0 → 15.0.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 +197 -9
- data/Gemfile +4 -0
- data/Makefile +2 -0
- data/OPENAPI_VERSION +1 -1
- data/README.md +48 -13
- data/Rakefile +0 -5
- data/VERSION +1 -1
- data/examples/README.md +16 -0
- data/examples/example_template.rb +36 -0
- data/examples/meter_event_stream.rb +57 -0
- data/examples/thinevent_webhook_handler.rb +39 -0
- data/justfile +43 -0
- data/lib/stripe/api_operations/nested_resource.rb +1 -21
- data/lib/stripe/api_operations/request.rb +20 -69
- data/lib/stripe/api_operations/save.rb +5 -3
- data/lib/stripe/api_operations/singleton_save.rb +6 -2
- data/lib/stripe/api_requestor.rb +1136 -0
- data/lib/stripe/api_resource.rb +38 -17
- data/lib/stripe/api_version.rb +1 -1
- data/lib/stripe/connection_manager.rb +1 -1
- data/lib/stripe/errors.rb +8 -9
- 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 +26 -3
- data/lib/stripe/request_options.rb +129 -0
- data/lib/stripe/request_params.rb +24 -0
- data/lib/stripe/resources/account.rb +4642 -8
- data/lib/stripe/resources/account_link.rb +54 -0
- data/lib/stripe/resources/account_session.rb +739 -0
- data/lib/stripe/resources/apple_pay_domain.rb +58 -9
- data/lib/stripe/resources/application.rb +20 -0
- data/lib/stripe/resources/application_fee.rb +89 -2
- data/lib/stripe/resources/application_fee_refund.rb +17 -0
- data/lib/stripe/resources/apps/secret.rb +143 -2
- data/lib/stripe/resources/balance.rb +122 -0
- data/lib/stripe/resources/balance_transaction.rb +105 -2
- data/lib/stripe/resources/bank_account.rb +85 -3
- data/lib/stripe/resources/billing/alert.rb +137 -2
- data/lib/stripe/resources/billing/alert_triggered.rb +26 -0
- data/lib/stripe/resources/billing/credit_balance_summary.rb +54 -0
- data/lib/stripe/resources/billing/credit_balance_transaction.rb +133 -0
- data/lib/stripe/resources/billing/credit_grant.rb +307 -0
- data/lib/stripe/resources/billing/meter.rb +180 -9
- data/lib/stripe/resources/billing/meter_event.rb +37 -3
- data/lib/stripe/resources/billing/meter_event_adjustment.rb +44 -1
- data/lib/stripe/resources/billing/meter_event_summary.rb +17 -0
- data/lib/stripe/resources/billing_portal/configuration.rb +557 -4
- data/lib/stripe/resources/billing_portal/session.rb +271 -0
- data/lib/stripe/resources/capability.rb +84 -0
- data/lib/stripe/resources/card.rb +78 -1
- data/lib/stripe/resources/cash_balance.rb +17 -0
- data/lib/stripe/resources/charge.rb +1616 -4
- data/lib/stripe/resources/checkout/session.rb +3534 -10
- data/lib/stripe/resources/climate/order.rb +171 -4
- data/lib/stripe/resources/climate/product.rb +49 -2
- data/lib/stripe/resources/climate/supplier.rb +47 -2
- data/lib/stripe/resources/confirmation_token.rb +1448 -0
- data/lib/stripe/resources/connect_collection_transfer.rb +24 -0
- data/lib/stripe/resources/country_spec.rb +56 -2
- data/lib/stripe/resources/coupon.rb +195 -6
- data/lib/stripe/resources/credit_note.rb +641 -2
- data/lib/stripe/resources/credit_note_line_item.rb +67 -0
- data/lib/stripe/resources/customer.rb +832 -9
- data/lib/stripe/resources/customer_balance_transaction.rb +29 -0
- data/lib/stripe/resources/customer_cash_balance_transaction.rb +109 -0
- data/lib/stripe/resources/customer_session.rb +163 -0
- data/lib/stripe/resources/discount.rb +29 -0
- data/lib/stripe/resources/dispute.rb +614 -4
- data/lib/stripe/resources/entitlements/active_entitlement.rb +39 -2
- data/lib/stripe/resources/entitlements/active_entitlement_summary.rb +23 -0
- data/lib/stripe/resources/entitlements/feature.rb +83 -2
- data/lib/stripe/resources/ephemeral_key.rb +23 -2
- data/lib/stripe/resources/event.rb +92 -2
- data/lib/stripe/resources/exchange_rate.rb +26 -2
- data/lib/stripe/resources/file.rb +123 -15
- data/lib/stripe/resources/file_link.rb +107 -4
- data/lib/stripe/resources/financial_connections/account.rb +239 -2
- data/lib/stripe/resources/financial_connections/account_owner.rb +17 -0
- data/lib/stripe/resources/financial_connections/account_ownership.rb +9 -0
- data/lib/stripe/resources/financial_connections/session.rb +95 -0
- data/lib/stripe/resources/financial_connections/transaction.rb +94 -2
- data/lib/stripe/resources/forwarding/request.rb +158 -2
- data/lib/stripe/resources/funding_instructions.rb +308 -0
- data/lib/stripe/resources/identity/verification_report.rb +259 -2
- data/lib/stripe/resources/identity/verification_session.rb +356 -4
- data/lib/stripe/resources/invoice.rb +3210 -27
- data/lib/stripe/resources/invoice_item.rb +406 -6
- data/lib/stripe/resources/invoice_line_item.rb +356 -3
- data/lib/stripe/resources/invoice_payment.rb +105 -0
- data/lib/stripe/resources/invoice_rendering_template.rb +120 -0
- data/lib/stripe/resources/issuing/authorization.rb +1132 -6
- data/lib/stripe/resources/issuing/card.rb +682 -5
- data/lib/stripe/resources/issuing/cardholder.rb +653 -5
- data/lib/stripe/resources/issuing/dispute.rb +785 -4
- data/lib/stripe/resources/issuing/personalization_design.rb +280 -4
- data/lib/stripe/resources/issuing/physical_bundle.rb +56 -2
- data/lib/stripe/resources/issuing/token.rb +170 -4
- data/lib/stripe/resources/issuing/transaction.rb +916 -4
- data/lib/stripe/resources/line_item.rb +47 -0
- data/lib/stripe/resources/login_link.rb +7 -0
- data/lib/stripe/resources/mandate.rb +142 -0
- data/lib/stripe/resources/payment_intent.rb +8660 -4
- data/lib/stripe/resources/payment_link.rb +1636 -4
- data/lib/stripe/resources/payment_method.rb +1546 -4
- data/lib/stripe/resources/payment_method_configuration.rb +2780 -4
- data/lib/stripe/resources/payment_method_domain.rb +154 -10
- data/lib/stripe/resources/payout.rb +213 -4
- data/lib/stripe/resources/person.rb +264 -1
- data/lib/stripe/resources/plan.rb +308 -6
- data/lib/stripe/resources/price.rb +609 -5
- data/lib/stripe/resources/product.rb +474 -2
- data/lib/stripe/resources/product_feature.rb +12 -0
- data/lib/stripe/resources/promotion_code.rb +216 -4
- data/lib/stripe/resources/quote.rb +927 -10
- data/lib/stripe/resources/radar/early_fraud_warning.rb +70 -2
- data/lib/stripe/resources/radar/value_list.rb +122 -6
- data/lib/stripe/resources/radar/value_list_item.rb +90 -4
- data/lib/stripe/resources/refund.rb +396 -4
- data/lib/stripe/resources/reporting/report_run.rb +143 -2
- data/lib/stripe/resources/reporting/report_type.rb +29 -2
- data/lib/stripe/resources/reserve_transaction.rb +22 -0
- data/lib/stripe/resources/reversal.rb +21 -0
- data/lib/stripe/resources/review.rb +101 -2
- data/lib/stripe/resources/setup_attempt.rb +370 -2
- data/lib/stripe/resources/setup_intent.rb +3477 -4
- data/lib/stripe/resources/shipping_rate.rb +254 -4
- data/lib/stripe/resources/sigma/scheduled_query_run.rb +47 -2
- data/lib/stripe/resources/source.rb +1203 -4
- data/lib/stripe/resources/source_mandate_notification.rb +66 -0
- data/lib/stripe/resources/source_transaction.rb +85 -0
- data/lib/stripe/resources/subscription.rb +1697 -11
- data/lib/stripe/resources/subscription_item.rb +319 -11
- data/lib/stripe/resources/subscription_schedule.rb +1285 -4
- data/lib/stripe/resources/tax/calculation.rb +378 -0
- data/lib/stripe/resources/tax/calculation_line_item.rb +56 -0
- data/lib/stripe/resources/tax/registration.rb +2375 -2
- data/lib/stripe/resources/tax/settings.rb +117 -0
- data/lib/stripe/resources/tax/transaction.rb +258 -0
- data/lib/stripe/resources/tax/transaction_line_item.rb +31 -0
- data/lib/stripe/resources/tax_code.rb +28 -2
- data/lib/stripe/resources/tax_deducted_at_source.rb +22 -0
- data/lib/stripe/resources/tax_id.rb +114 -2
- data/lib/stripe/resources/tax_rate.rb +197 -6
- data/lib/stripe/resources/terminal/configuration.rb +1266 -6
- data/lib/stripe/resources/terminal/connection_token.rb +18 -0
- data/lib/stripe/resources/terminal/location.rb +172 -6
- data/lib/stripe/resources/terminal/reader.rb +433 -6
- data/lib/stripe/resources/test_helpers/test_clock.rb +81 -4
- data/lib/stripe/resources/token.rb +1160 -1
- data/lib/stripe/resources/topup.rb +169 -4
- data/lib/stripe/resources/transfer.rb +148 -4
- data/lib/stripe/resources/treasury/credit_reversal.rb +85 -2
- data/lib/stripe/resources/treasury/debit_reversal.rb +96 -2
- data/lib/stripe/resources/treasury/financial_account.rb +749 -5
- data/lib/stripe/resources/treasury/financial_account_features.rb +189 -0
- data/lib/stripe/resources/treasury/inbound_transfer.rb +231 -3
- data/lib/stripe/resources/treasury/outbound_payment.rb +491 -3
- data/lib/stripe/resources/treasury/outbound_transfer.rb +346 -3
- data/lib/stripe/resources/treasury/received_credit.rb +239 -2
- data/lib/stripe/resources/treasury/received_debit.rb +198 -2
- data/lib/stripe/resources/treasury/transaction.rb +169 -2
- data/lib/stripe/resources/treasury/transaction_entry.rb +150 -2
- data/lib/stripe/resources/v2/amount.rb +9 -0
- data/lib/stripe/resources/v2/billing/meter_event.rb +34 -0
- data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +36 -0
- data/lib/stripe/resources/v2/billing/meter_event_session.rb +29 -0
- data/lib/stripe/resources/v2/event.rb +41 -0
- data/lib/stripe/resources/v2/event_destination.rb +73 -0
- data/lib/stripe/resources/webhook_endpoint.rb +119 -11
- data/lib/stripe/resources.rb +19 -2
- data/lib/stripe/search_result_object.rb +1 -1
- data/lib/stripe/services/account_capability_service.rb +71 -0
- data/lib/stripe/services/account_external_account_service.rb +318 -0
- data/lib/stripe/services/account_link_service.rb +63 -0
- data/lib/stripe/services/account_login_link_service.rb +28 -0
- data/lib/stripe/services/account_person_service.rb +936 -0
- data/lib/stripe/services/account_service.rb +4100 -0
- data/lib/stripe/services/account_session_service.rb +501 -0
- data/lib/stripe/services/apple_pay_domain_service.rb +101 -0
- data/lib/stripe/services/application_fee_refund_service.rb +114 -0
- data/lib/stripe/services/application_fee_service.rb +92 -0
- data/lib/stripe/services/apps/secret_service.rb +168 -0
- data/lib/stripe/services/apps_service.rb +13 -0
- data/lib/stripe/services/balance_service.rb +21 -0
- data/lib/stripe/services/balance_transaction_service.rb +101 -0
- data/lib/stripe/services/billing/alert_service.rb +187 -0
- data/lib/stripe/services/billing/credit_balance_summary_service.rb +67 -0
- data/lib/stripe/services/billing/credit_balance_transaction_service.rb +70 -0
- data/lib/stripe/services/billing/credit_grant_service.rb +240 -0
- data/lib/stripe/services/billing/meter_event_adjustment_service.rb +45 -0
- data/lib/stripe/services/billing/meter_event_service.rb +40 -0
- data/lib/stripe/services/billing/meter_event_summary_service.rb +58 -0
- data/lib/stripe/services/billing/meter_service.rb +211 -0
- data/lib/stripe/services/billing_portal/configuration_service.rb +496 -0
- data/lib/stripe/services/billing_portal/session_service.rb +192 -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 +471 -0
- data/lib/stripe/services/checkout/session_line_item_service.rb +37 -0
- data/lib/stripe/services/checkout/session_service.rb +2466 -0
- data/lib/stripe/services/checkout_service.rb +13 -0
- data/lib/stripe/services/climate/order_service.rb +170 -0
- data/lib/stripe/services/climate/product_service.rb +57 -0
- data/lib/stripe/services/climate/supplier_service.rb +57 -0
- data/lib/stripe/services/climate_service.rb +15 -0
- data/lib/stripe/services/confirmation_token_service.rb +26 -0
- data/lib/stripe/services/country_spec_service.rb +55 -0
- data/lib/stripe/services/coupon_service.rb +203 -0
- data/lib/stripe/services/credit_note_line_item_service.rb +35 -0
- data/lib/stripe/services/credit_note_preview_lines_service.rb +169 -0
- data/lib/stripe/services/credit_note_service.rb +458 -0
- data/lib/stripe/services/customer_balance_transaction_service.rb +113 -0
- data/lib/stripe/services/customer_cash_balance_service.rb +57 -0
- data/lib/stripe/services/customer_cash_balance_transaction_service.rb +55 -0
- data/lib/stripe/services/customer_funding_instructions_service.rb +61 -0
- data/lib/stripe/services/customer_payment_method_service.rb +68 -0
- data/lib/stripe/services/customer_payment_source_service.rb +255 -0
- data/lib/stripe/services/customer_service.rb +666 -0
- data/lib/stripe/services/customer_session_service.rb +113 -0
- data/lib/stripe/services/customer_tax_id_service.rb +95 -0
- data/lib/stripe/services/dispute_service.rb +422 -0
- data/lib/stripe/services/entitlements/active_entitlement_service.rb +66 -0
- data/lib/stripe/services/entitlements/feature_service.rb +128 -0
- data/lib/stripe/services/entitlements_service.rb +14 -0
- data/lib/stripe/services/ephemeral_key_service.rb +64 -0
- data/lib/stripe/services/event_service.rb +87 -0
- data/lib/stripe/services/exchange_rate_service.rb +55 -0
- data/lib/stripe/services/file_link_service.rb +132 -0
- data/lib/stripe/services/file_service.rb +124 -0
- data/lib/stripe/services/financial_connections/account_owner_service.rb +46 -0
- data/lib/stripe/services/financial_connections/account_service.rb +177 -0
- data/lib/stripe/services/financial_connections/session_service.rb +98 -0
- data/lib/stripe/services/financial_connections/transaction_service.rb +100 -0
- data/lib/stripe/services/financial_connections_service.rb +15 -0
- data/lib/stripe/services/forwarding/request_service.rb +147 -0
- data/lib/stripe/services/forwarding_service.rb +13 -0
- data/lib/stripe/services/identity/verification_report_service.rb +95 -0
- data/lib/stripe/services/identity/verification_session_service.rb +337 -0
- data/lib/stripe/services/identity_service.rb +14 -0
- data/lib/stripe/services/invoice_item_service.rb +395 -0
- data/lib/stripe/services/invoice_line_item_service.rb +252 -0
- data/lib/stripe/services/invoice_payment_service.rb +83 -0
- data/lib/stripe/services/invoice_rendering_template_service.rb +101 -0
- data/lib/stripe/services/invoice_service.rb +2831 -0
- data/lib/stripe/services/issuing/authorization_service.rb +169 -0
- data/lib/stripe/services/issuing/card_service.rb +507 -0
- data/lib/stripe/services/issuing/cardholder_service.rb +577 -0
- data/lib/stripe/services/issuing/dispute_service.rb +696 -0
- data/lib/stripe/services/issuing/personalization_design_service.rb +245 -0
- data/lib/stripe/services/issuing/physical_bundle_service.rb +70 -0
- data/lib/stripe/services/issuing/token_service.rb +114 -0
- data/lib/stripe/services/issuing/transaction_service.rb +118 -0
- data/lib/stripe/services/issuing_service.rb +20 -0
- data/lib/stripe/services/mandate_service.rb +26 -0
- data/lib/stripe/services/oauth_service.rb +63 -0
- data/lib/stripe/services/payment_intent_service.rb +7258 -0
- data/lib/stripe/services/payment_link_line_item_service.rb +35 -0
- data/lib/stripe/services/payment_link_service.rb +1333 -0
- data/lib/stripe/services/payment_method_configuration_service.rb +2054 -0
- data/lib/stripe/services/payment_method_domain_service.rb +142 -0
- data/lib/stripe/services/payment_method_service.rb +894 -0
- data/lib/stripe/services/payout_service.rb +225 -0
- data/lib/stripe/services/plan_service.rb +298 -0
- data/lib/stripe/services/price_service.rb +545 -0
- data/lib/stripe/services/product_feature_service.rb +92 -0
- data/lib/stripe/services/product_service.rb +495 -0
- data/lib/stripe/services/promotion_code_service.rb +228 -0
- data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +35 -0
- data/lib/stripe/services/quote_line_item_service.rb +35 -0
- data/lib/stripe/services/quote_service.rb +703 -0
- data/lib/stripe/services/radar/early_fraud_warning_service.rb +93 -0
- data/lib/stripe/services/radar/value_list_item_service.rb +131 -0
- data/lib/stripe/services/radar/value_list_service.rb +166 -0
- data/lib/stripe/services/radar_service.rb +15 -0
- data/lib/stripe/services/refund_service.rb +200 -0
- data/lib/stripe/services/reporting/report_run_service.rb +147 -0
- data/lib/stripe/services/reporting/report_type_service.rb +48 -0
- data/lib/stripe/services/reporting_service.rb +14 -0
- data/lib/stripe/services/review_service.rb +89 -0
- data/lib/stripe/services/setup_attempt_service.rb +68 -0
- data/lib/stripe/services/setup_intent_service.rb +3268 -0
- data/lib/stripe/services/shipping_rate_service.rb +250 -0
- data/lib/stripe/services/sigma/scheduled_query_run_service.rb +57 -0
- data/lib/stripe/services/sigma_service.rb +13 -0
- data/lib/stripe/services/source_service.rb +665 -0
- data/lib/stripe/services/source_transaction_service.rb +35 -0
- data/lib/stripe/services/subscription_item_service.rb +346 -0
- data/lib/stripe/services/subscription_schedule_service.rb +1134 -0
- data/lib/stripe/services/subscription_service.rb +1539 -0
- data/lib/stripe/services/tax/calculation_line_item_service.rb +37 -0
- data/lib/stripe/services/tax/calculation_service.rb +242 -0
- data/lib/stripe/services/tax/registration_service.rb +1618 -0
- data/lib/stripe/services/tax/settings_service.rb +104 -0
- data/lib/stripe/services/tax/transaction_line_item_service.rb +37 -0
- data/lib/stripe/services/tax/transaction_service.rb +159 -0
- data/lib/stripe/services/tax_code_service.rb +49 -0
- data/lib/stripe/services/tax_id_service.rb +117 -0
- data/lib/stripe/services/tax_rate_service.rb +193 -0
- data/lib/stripe/services/tax_service.rb +16 -0
- data/lib/stripe/services/terminal/configuration_service.rb +1060 -0
- data/lib/stripe/services/terminal/connection_token_service.rb +31 -0
- data/lib/stripe/services/terminal/location_service.rb +208 -0
- data/lib/stripe/services/terminal/reader_service.rb +384 -0
- data/lib/stripe/services/terminal_service.rb +16 -0
- data/lib/stripe/services/test_helpers/confirmation_token_service.rb +661 -0
- data/lib/stripe/services/test_helpers/customer_service.rb +37 -0
- data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +832 -0
- data/lib/stripe/services/test_helpers/issuing/card_service.rb +110 -0
- data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +84 -0
- data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +675 -0
- data/lib/stripe/services/test_helpers/issuing_service.rb +19 -0
- data/lib/stripe/services/test_helpers/refund_service.rb +28 -0
- data/lib/stripe/services/test_helpers/terminal/reader_service.rb +65 -0
- data/lib/stripe/services/test_helpers/terminal_service.rb +15 -0
- data/lib/stripe/services/test_helpers/test_clock_service.rb +120 -0
- data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +81 -0
- data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +141 -0
- data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +141 -0
- data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +81 -0
- data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +81 -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 +1163 -0
- data/lib/stripe/services/topup_service.rb +191 -0
- data/lib/stripe/services/transfer_reversal_service.rb +122 -0
- data/lib/stripe/services/transfer_service.rb +166 -0
- data/lib/stripe/services/treasury/credit_reversal_service.rb +100 -0
- data/lib/stripe/services/treasury/debit_reversal_service.rb +104 -0
- data/lib/stripe/services/treasury/financial_account_features_service.rb +196 -0
- data/lib/stripe/services/treasury/financial_account_service.rb +554 -0
- data/lib/stripe/services/treasury/inbound_transfer_service.rb +140 -0
- data/lib/stripe/services/treasury/outbound_payment_service.rb +310 -0
- data/lib/stripe/services/treasury/outbound_transfer_service.rb +176 -0
- data/lib/stripe/services/treasury/received_credit_service.rb +82 -0
- data/lib/stripe/services/treasury/received_debit_service.rb +70 -0
- data/lib/stripe/services/treasury/transaction_entry_service.rb +117 -0
- data/lib/stripe/services/treasury/transaction_service.rb +125 -0
- data/lib/stripe/services/treasury_service.rb +22 -0
- data/lib/stripe/services/v1_services.rb +90 -0
- data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +44 -0
- data/lib/stripe/services/v2/billing/meter_event_service.rb +46 -0
- data/lib/stripe/services/v2/billing/meter_event_session_service.rb +24 -0
- data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +56 -0
- data/lib/stripe/services/v2/billing_service.rb +18 -0
- data/lib/stripe/services/v2/core/event_destination_service.rb +241 -0
- data/lib/stripe/services/v2/core/event_service.rb +49 -0
- data/lib/stripe/services/v2/core_service.rb +16 -0
- data/lib/stripe/services/v2_services.rb +14 -0
- data/lib/stripe/services/webhook_endpoint_service.rb +157 -0
- data/lib/stripe/services.rb +180 -0
- data/lib/stripe/singleton_api_resource.rb +1 -18
- data/lib/stripe/stripe_client.rb +53 -1031
- data/lib/stripe/stripe_configuration.rb +52 -19
- data/lib/stripe/stripe_object.rb +54 -20
- data/lib/stripe/stripe_service.rb +32 -0
- data/lib/stripe/thin_event.rb +37 -0
- data/lib/stripe/util.rb +78 -37
- 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 +38 -25
- data/rbi/stripe/resources/account.rbi +4840 -0
- data/rbi/stripe/resources/account_link.rbi +74 -0
- data/rbi/stripe/resources/account_session.rbi +894 -0
- data/rbi/stripe/resources/apple_pay_domain.rbi +90 -0
- data/rbi/stripe/resources/application.rbi +20 -0
- data/rbi/stripe/resources/application_fee.rbi +118 -0
- data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
- data/rbi/stripe/resources/apps/secret.rbi +195 -0
- data/rbi/stripe/resources/balance.rbi +180 -0
- data/rbi/stripe/resources/balance_transaction.rbi +144 -0
- data/rbi/stripe/resources/bank_account.rbi +127 -0
- data/rbi/stripe/resources/billing/alert.rbi +201 -0
- data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
- data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
- data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
- data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
- data/rbi/stripe/resources/billing/meter.rbi +226 -0
- data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
- data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
- data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
- data/rbi/stripe/resources/billing_portal/configuration.rbi +645 -0
- data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
- data/rbi/stripe/resources/capability.rbi +125 -0
- data/rbi/stripe/resources/card.rbi +125 -0
- data/rbi/stripe/resources/cash_balance.rbi +32 -0
- data/rbi/stripe/resources/charge.rbi +2054 -0
- data/rbi/stripe/resources/checkout/session.rbi +3951 -0
- data/rbi/stripe/resources/climate/order.rbi +245 -0
- data/rbi/stripe/resources/climate/product.rbi +75 -0
- data/rbi/stripe/resources/climate/supplier.rbi +72 -0
- data/rbi/stripe/resources/confirmation_token.rbi +1793 -0
- data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
- data/rbi/stripe/resources/country_spec.rbi +85 -0
- data/rbi/stripe/resources/coupon.rbi +252 -0
- data/rbi/stripe/resources/credit_note.rbi +747 -0
- data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
- data/rbi/stripe/resources/customer.rbi +1009 -0
- data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
- data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
- data/rbi/stripe/resources/customer_session.rbi +200 -0
- data/rbi/stripe/resources/discount.rbi +53 -0
- data/rbi/stripe/resources/dispute.rbi +761 -0
- data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
- data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
- data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
- data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
- data/rbi/stripe/resources/event.rbi +146 -0
- data/rbi/stripe/resources/exchange_rate.rbi +66 -0
- data/rbi/stripe/resources/file.rbi +143 -0
- data/rbi/stripe/resources/file_link.rbi +141 -0
- data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
- data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
- data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
- data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
- data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
- data/rbi/stripe/resources/forwarding/request.rbi +216 -0
- data/rbi/stripe/resources/funding_instructions.rbi +437 -0
- data/rbi/stripe/resources/identity/verification_report.rbi +351 -0
- data/rbi/stripe/resources/identity/verification_session.rbi +517 -0
- data/rbi/stripe/resources/invoice.rbi +3733 -0
- data/rbi/stripe/resources/invoice_item.rbi +475 -0
- data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
- data/rbi/stripe/resources/invoice_payment.rbi +114 -0
- data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
- data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
- data/rbi/stripe/resources/issuing/card.rbi +741 -0
- data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
- data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
- data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
- data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
- data/rbi/stripe/resources/issuing/token.rbi +226 -0
- data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
- data/rbi/stripe/resources/line_item.rbi +72 -0
- data/rbi/stripe/resources/login_link.rbi +18 -0
- data/rbi/stripe/resources/mandate.rbi +187 -0
- data/rbi/stripe/resources/payment_intent.rbi +9731 -0
- data/rbi/stripe/resources/payment_link.rbi +1801 -0
- data/rbi/stripe/resources/payment_method.rbi +1822 -0
- data/rbi/stripe/resources/payment_method_configuration.rbi +3154 -0
- data/rbi/stripe/resources/payment_method_domain.rbi +212 -0
- data/rbi/stripe/resources/payout.rbi +300 -0
- data/rbi/stripe/resources/person.rbi +371 -0
- data/rbi/stripe/resources/plan.rbi +373 -0
- data/rbi/stripe/resources/price.rbi +694 -0
- data/rbi/stripe/resources/product.rbi +557 -0
- data/rbi/stripe/resources/product_feature.rbi +26 -0
- data/rbi/stripe/resources/promotion_code.rbi +261 -0
- data/rbi/stripe/resources/quote.rbi +1123 -0
- data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
- data/rbi/stripe/resources/radar/value_list.rbi +170 -0
- data/rbi/stripe/resources/radar/value_list_item.rbi +131 -0
- data/rbi/stripe/resources/refund.rbi +516 -0
- data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
- data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
- data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
- data/rbi/stripe/resources/reversal.rbi +51 -0
- data/rbi/stripe/resources/review.rbi +154 -0
- data/rbi/stripe/resources/setup_attempt.rbi +477 -0
- data/rbi/stripe/resources/setup_intent.rbi +3860 -0
- data/rbi/stripe/resources/shipping_rate.rbi +305 -0
- data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
- data/rbi/stripe/resources/source.rbi +1496 -0
- data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
- data/rbi/stripe/resources/source_transaction.rbi +127 -0
- data/rbi/stripe/resources/subscription.rbi +1964 -0
- data/rbi/stripe/resources/subscription_item.rbi +370 -0
- data/rbi/stripe/resources/subscription_schedule.rbi +1495 -0
- data/rbi/stripe/resources/tax/calculation.rbi +474 -0
- data/rbi/stripe/resources/tax/calculation_line_item.rbi +88 -0
- data/rbi/stripe/resources/tax/registration.rbi +2485 -0
- data/rbi/stripe/resources/tax/settings.rbi +141 -0
- data/rbi/stripe/resources/tax/transaction.rbi +351 -0
- data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
- data/rbi/stripe/resources/tax_code.rbi +44 -0
- data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
- data/rbi/stripe/resources/tax_id.rbi +167 -0
- data/rbi/stripe/resources/tax_rate.rbi +239 -0
- data/rbi/stripe/resources/terminal/configuration.rbi +1388 -0
- data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
- data/rbi/stripe/resources/terminal/location.rbi +224 -0
- data/rbi/stripe/resources/terminal/reader.rbi +587 -0
- data/rbi/stripe/resources/test_helpers/test_clock.rbi +134 -0
- data/rbi/stripe/resources/token.rbi +1217 -0
- data/rbi/stripe/resources/topup.rbi +222 -0
- data/rbi/stripe/resources/transfer.rbi +199 -0
- data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
- data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
- data/rbi/stripe/resources/treasury/financial_account.rbi +865 -0
- data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
- data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
- data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
- data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
- data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
- data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
- data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
- data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
- data/rbi/stripe/resources/v2/amount.rbi +14 -0
- data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
- data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
- data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
- data/rbi/stripe/resources/v2/event.rbi +48 -0
- data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
- data/rbi/stripe/resources/webhook_endpoint.rbi +170 -0
- data/rbi/stripe/services/account_capability_service.rbi +51 -0
- data/rbi/stripe/services/account_external_account_service.rbi +306 -0
- data/rbi/stripe/services/account_link_service.rbi +58 -0
- data/rbi/stripe/services/account_login_link_service.rbi +22 -0
- data/rbi/stripe/services/account_person_service.rbi +923 -0
- data/rbi/stripe/services/account_service.rbi +4143 -0
- data/rbi/stripe/services/account_session_service.rbi +572 -0
- data/rbi/stripe/services/apple_pay_domain_service.rbi +78 -0
- data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
- data/rbi/stripe/services/application_fee_service.rbi +78 -0
- data/rbi/stripe/services/apps/secret_service.rbi +151 -0
- data/rbi/stripe/services/apps_service.rbi +9 -0
- data/rbi/stripe/services/balance_service.rbi +21 -0
- data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
- data/rbi/stripe/services/billing/alert_service.rbi +152 -0
- data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
- data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
- data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
- data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
- data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
- data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
- data/rbi/stripe/services/billing/meter_service.rbi +163 -0
- data/rbi/stripe/services/billing_portal/configuration_service.rbi +511 -0
- data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
- data/rbi/stripe/services/billing_portal_service.rbi +10 -0
- data/rbi/stripe/services/billing_service.rbi +15 -0
- data/rbi/stripe/services/charge_service.rbi +448 -0
- data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
- data/rbi/stripe/services/checkout/session_service.rbi +2585 -0
- data/rbi/stripe/services/checkout_service.rbi +9 -0
- data/rbi/stripe/services/climate/order_service.rbi +142 -0
- data/rbi/stripe/services/climate/product_service.rbi +46 -0
- data/rbi/stripe/services/climate/supplier_service.rbi +46 -0
- data/rbi/stripe/services/climate_service.rbi +11 -0
- data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
- data/rbi/stripe/services/country_spec_service.rbi +44 -0
- data/rbi/stripe/services/coupon_service.rbi +196 -0
- data/rbi/stripe/services/credit_note_line_item_service.rbi +31 -0
- data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
- data/rbi/stripe/services/credit_note_service.rbi +416 -0
- data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
- data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
- data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
- data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
- data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
- data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
- data/rbi/stripe/services/customer_service.rbi +651 -0
- data/rbi/stripe/services/customer_session_service.rbi +116 -0
- data/rbi/stripe/services/customer_tax_id_service.rbi +72 -0
- data/rbi/stripe/services/dispute_service.rbi +424 -0
- data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
- data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
- data/rbi/stripe/services/entitlements_service.rbi +10 -0
- data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
- data/rbi/stripe/services/event_service.rbi +83 -0
- data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
- data/rbi/stripe/services/file_link_service.rbi +124 -0
- data/rbi/stripe/services/file_service.rbi +116 -0
- data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
- data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
- data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
- data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
- data/rbi/stripe/services/financial_connections_service.rbi +11 -0
- data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
- data/rbi/stripe/services/forwarding_service.rbi +9 -0
- data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
- data/rbi/stripe/services/identity/verification_session_service.rbi +323 -0
- data/rbi/stripe/services/identity_service.rbi +10 -0
- data/rbi/stripe/services/invoice_item_service.rbi +368 -0
- data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
- data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
- data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
- data/rbi/stripe/services/invoice_service.rbi +2920 -0
- data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
- data/rbi/stripe/services/issuing/card_service.rbi +495 -0
- data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
- data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
- data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
- data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
- data/rbi/stripe/services/issuing/token_service.rbi +99 -0
- data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
- data/rbi/stripe/services/issuing_service.rbi +16 -0
- data/rbi/stripe/services/mandate_service.rbi +20 -0
- data/rbi/stripe/services/payment_intent_service.rbi +7759 -0
- data/rbi/stripe/services/payment_link_line_item_service.rbi +31 -0
- data/rbi/stripe/services/payment_link_service.rbi +1352 -0
- data/rbi/stripe/services/payment_method_configuration_service.rbi +2211 -0
- data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
- data/rbi/stripe/services/payment_method_service.rbi +840 -0
- data/rbi/stripe/services/payout_service.rbi +205 -0
- data/rbi/stripe/services/plan_service.rbi +284 -0
- data/rbi/stripe/services/price_service.rbi +546 -0
- data/rbi/stripe/services/product_feature_service.rbi +69 -0
- data/rbi/stripe/services/product_service.rbi +479 -0
- data/rbi/stripe/services/promotion_code_service.rbi +214 -0
- data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
- data/rbi/stripe/services/quote_line_item_service.rbi +31 -0
- data/rbi/stripe/services/quote_service.rbi +686 -0
- data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
- data/rbi/stripe/services/radar/value_list_item_service.rbi +111 -0
- data/rbi/stripe/services/radar/value_list_service.rbi +143 -0
- data/rbi/stripe/services/radar_service.rbi +11 -0
- data/rbi/stripe/services/refund_service.rbi +185 -0
- data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
- data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
- data/rbi/stripe/services/reporting_service.rbi +10 -0
- data/rbi/stripe/services/review_service.rbi +84 -0
- data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
- data/rbi/stripe/services/setup_intent_service.rbi +3596 -0
- data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
- data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
- data/rbi/stripe/services/sigma_service.rbi +9 -0
- data/rbi/stripe/services/source_service.rbi +663 -0
- data/rbi/stripe/services/source_transaction_service.rbi +31 -0
- data/rbi/stripe/services/subscription_item_service.rbi +324 -0
- data/rbi/stripe/services/subscription_schedule_service.rbi +1192 -0
- data/rbi/stripe/services/subscription_service.rbi +1596 -0
- data/rbi/stripe/services/tax/calculation_line_item_service.rbi +33 -0
- data/rbi/stripe/services/tax/calculation_service.rbi +230 -0
- data/rbi/stripe/services/tax/registration_service.rbi +1689 -0
- data/rbi/stripe/services/tax/settings_service.rbi +93 -0
- data/rbi/stripe/services/tax/transaction_line_item_service.rbi +33 -0
- data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
- data/rbi/stripe/services/tax_code_service.rbi +44 -0
- data/rbi/stripe/services/tax_id_service.rbi +112 -0
- data/rbi/stripe/services/tax_rate_service.rbi +185 -0
- data/rbi/stripe/services/tax_service.rbi +12 -0
- data/rbi/stripe/services/terminal/configuration_service.rbi +1120 -0
- data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
- data/rbi/stripe/services/terminal/location_service.rbi +184 -0
- data/rbi/stripe/services/terminal/reader_service.rbi +344 -0
- data/rbi/stripe/services/terminal_service.rbi +12 -0
- data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +746 -0
- data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
- data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
- data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
- data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
- data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
- data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
- data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
- data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +62 -0
- data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
- data/rbi/stripe/services/test_helpers/test_clock_service.rbi +92 -0
- data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
- data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
- data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
- data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
- data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
- data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
- data/rbi/stripe/services/test_helpers_service.rbi +15 -0
- data/rbi/stripe/services/token_service.rbi +1189 -0
- data/rbi/stripe/services/topup_service.rbi +176 -0
- data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
- data/rbi/stripe/services/transfer_service.rbi +152 -0
- data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
- data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
- data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
- data/rbi/stripe/services/treasury/financial_account_service.rbi +562 -0
- data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
- data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
- data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
- data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
- data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
- data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
- data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
- data/rbi/stripe/services/treasury_service.rbi +18 -0
- data/rbi/stripe/services/v1_services.rbi +77 -0
- data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
- data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
- data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +20 -0
- data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
- data/rbi/stripe/services/v2/billing_service.rbi +14 -0
- data/rbi/stripe/services/v2/core/event_destination_service.rbi +200 -0
- data/rbi/stripe/services/v2/core/event_service.rbi +38 -0
- data/rbi/stripe/services/v2/core_service.rbi +12 -0
- data/rbi/stripe/services/v2_services.rbi +10 -0
- data/rbi/stripe/services/webhook_endpoint_service.rbi +131 -0
- metadata +533 -4
- data/lib/stripe/resources/usage_record.rb +0 -17
- data/lib/stripe/resources/usage_record_summary.rb +0 -11
data/lib/stripe/api_resource.rb
CHANGED
@@ -25,6 +25,12 @@ module Stripe
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.resource_url
|
28
|
+
if name.include?("Stripe::V2")
|
29
|
+
raise NotImplementedError,
|
30
|
+
"V2 resources do not have a defined URL. Please use the StripeClient " \
|
31
|
+
"to make V2 requests"
|
32
|
+
end
|
33
|
+
|
28
34
|
if self == APIResource
|
29
35
|
raise NotImplementedError,
|
30
36
|
"APIResource is an abstract class. You should perform actions " \
|
@@ -87,33 +93,48 @@ module Stripe
|
|
87
93
|
end
|
88
94
|
|
89
95
|
def refresh
|
90
|
-
|
91
|
-
|
92
|
-
|
96
|
+
if self.class.name.include?("Stripe::V2")
|
97
|
+
raise NotImplementedError,
|
98
|
+
"It is not possible to refresh v2 objects. Please retrieve the object using the StripeClient instead."
|
99
|
+
end
|
100
|
+
|
101
|
+
opts = RequestOptions.extract_opts_from_hash(@retrieve_opts || {})
|
102
|
+
@retrieve_opts = {} # Make sure to clear the retrieve options
|
103
|
+
@obj = @requestor.execute_request_initialize_from(:get, resource_url, :api, self, params: @retrieve_params,
|
104
|
+
opts: opts)
|
105
|
+
initialize_from(
|
106
|
+
@obj.last_response.data,
|
107
|
+
@obj.instance_variable_get(:@opts),
|
108
|
+
@obj.last_response,
|
109
|
+
api_mode: :v1,
|
110
|
+
requestor: @requestor
|
111
|
+
)
|
93
112
|
end
|
94
113
|
|
95
114
|
def self.retrieve(id, opts = {})
|
96
|
-
|
97
|
-
|
115
|
+
if name.include?("Stripe::V2")
|
116
|
+
raise NotImplementedError,
|
117
|
+
"It is not possible to retrieve v2 objects on the resource. Please use the StripeClient instead."
|
118
|
+
end
|
119
|
+
|
120
|
+
instance = new(id)
|
121
|
+
# Explicitly send options for the retrieve call, to preserve custom headers
|
122
|
+
# This is so we can pass custom headers from this static function
|
123
|
+
# to the instance variable method call
|
124
|
+
# The custom headers will be cleaned up with the rest of the RequestOptions
|
125
|
+
instance.instance_variable_set(:@retrieve_opts, Util.normalize_opts(opts))
|
98
126
|
instance.refresh
|
99
|
-
instance
|
100
127
|
end
|
101
128
|
|
102
|
-
def request_stripe_object(method:, path:, params:, opts: {})
|
103
|
-
|
104
|
-
|
105
|
-
# If we're getting back this thing, update; otherwise, instantiate.
|
106
|
-
if Util.object_name_matches_class?(resp.data[:object], self.class)
|
107
|
-
initialize_from(resp.data, opts, resp)
|
108
|
-
else
|
109
|
-
Util.convert_to_stripe_object_with_params(resp.data, params, opts, resp)
|
110
|
-
end
|
129
|
+
def request_stripe_object(method:, path:, params:, base_address: :api, opts: {})
|
130
|
+
APIRequestor.active_requestor.execute_request_initialize_from(method, path, base_address, self,
|
131
|
+
params: params, opts: opts)
|
111
132
|
end
|
112
133
|
|
113
|
-
protected def request_stream(method:, path:, params:, opts: {},
|
134
|
+
protected def request_stream(method:, path:, params:, base_address: :api, opts: {},
|
114
135
|
&read_body_chunk_block)
|
115
136
|
resp, = execute_resource_request_stream(
|
116
|
-
method, path, params, opts, &read_body_chunk_block
|
137
|
+
method, path, base_address, params, opts, &read_body_chunk_block
|
117
138
|
)
|
118
139
|
resp
|
119
140
|
end
|
data/lib/stripe/api_version.rb
CHANGED
@@ -12,7 +12,7 @@ module Stripe
|
|
12
12
|
class ConnectionManager
|
13
13
|
# Timestamp (in seconds procured from the system's monotonic clock)
|
14
14
|
# indicating when the connection manager last made a request. This is used
|
15
|
-
# by `
|
15
|
+
# by `APIRequestor` to determine whether a connection manager should be
|
16
16
|
# garbage collected or not.
|
17
17
|
attr_reader :last_used
|
18
18
|
attr_reader :config
|
data/lib/stripe/errors.rb
CHANGED
@@ -27,14 +27,8 @@ module Stripe
|
|
27
27
|
def construct_error_object
|
28
28
|
return nil if @json_body.nil? || !@json_body.key?(:error)
|
29
29
|
|
30
|
-
ErrorObject
|
31
|
-
|
32
|
-
|
33
|
-
# Whether the error was the result of an idempotent replay, meaning that it
|
34
|
-
# originally occurred on a previous request and is being replayed back
|
35
|
-
# because the user sent the same idempotency key for this one.
|
36
|
-
def idempotent_replayed?
|
37
|
-
@idempotent_replayed
|
30
|
+
# ErrorObject is shared between v1 and v2, so use original object_classes to find
|
31
|
+
ErrorObject.construct_from(@json_body[:error], {}, nil, :v1)
|
38
32
|
end
|
39
33
|
|
40
34
|
def to_s
|
@@ -130,7 +124,7 @@ module Stripe
|
|
130
124
|
def construct_error_object
|
131
125
|
return nil if @json_body.nil?
|
132
126
|
|
133
|
-
OAuthErrorObject.construct_from(@json_body)
|
127
|
+
OAuthErrorObject.construct_from(@json_body, {}, nil, :v1)
|
134
128
|
end
|
135
129
|
end
|
136
130
|
|
@@ -166,4 +160,9 @@ module Stripe
|
|
166
160
|
class UnsupportedResponseTypeError < OAuthError
|
167
161
|
end
|
168
162
|
end
|
163
|
+
|
164
|
+
# class definitions: The beginning of the section generated from our OpenAPI spec
|
165
|
+
class TemporarySessionExpiredError < StripeError
|
166
|
+
end
|
167
|
+
# class definitions: The end of the section generated from our OpenAPI spec
|
169
168
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Stripe
|
4
|
+
module EventTypes
|
5
|
+
def self.thin_event_names_to_classes
|
6
|
+
{
|
7
|
+
# The beginning of the section generated from our OpenAPI spec
|
8
|
+
V1BillingMeterErrorReportTriggeredEvent.lookup_type => V1BillingMeterErrorReportTriggeredEvent,
|
9
|
+
V1BillingMeterNoMeterFoundEvent.lookup_type => V1BillingMeterNoMeterFoundEvent,
|
10
|
+
# The end of the section generated from our OpenAPI spec
|
11
|
+
}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# This event occurs when there are invalid async usage events for a given meter.
|
6
|
+
class V1BillingMeterErrorReportTriggeredEvent < Stripe::V2::Event
|
7
|
+
def self.lookup_type
|
8
|
+
"v1.billing.meter.error_report_triggered"
|
9
|
+
end
|
10
|
+
# There is additional data present for this event, accessible with the `data` property.
|
11
|
+
# See the Stripe API docs for more information.
|
12
|
+
|
13
|
+
# Retrieves the related object from the API. Make an API request on every call.
|
14
|
+
def fetch_related_object
|
15
|
+
_request(
|
16
|
+
method: :get,
|
17
|
+
path: related_object.url,
|
18
|
+
base_address: :api,
|
19
|
+
opts: { stripe_account: context }
|
20
|
+
)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# This event occurs when async usage events have missing or invalid meter ids.
|
6
|
+
class V1BillingMeterNoMeterFoundEvent < Stripe::V2::Event
|
7
|
+
def self.lookup_type
|
8
|
+
"v1.billing.meter.no_meter_found"
|
9
|
+
end
|
10
|
+
# There is additional data present for this event, accessible with the `data` property.
|
11
|
+
# See the Stripe API docs for more information.
|
12
|
+
end
|
13
|
+
end
|
data/lib/stripe/list_object.rb
CHANGED
@@ -21,7 +21,7 @@ module Stripe
|
|
21
21
|
# there isn't a next page in order to replicate the behavior of the API
|
22
22
|
# when it attempts to return a page beyond the last.
|
23
23
|
def self.empty_list(opts = {})
|
24
|
-
ListObject.construct_from({ data: [] }, opts)
|
24
|
+
ListObject.construct_from({ data: [] }, opts, nil, :v1)
|
25
25
|
end
|
26
26
|
|
27
27
|
def initialize(*args)
|
@@ -96,8 +96,7 @@ module Stripe
|
|
96
96
|
def retrieve(id, opts = {})
|
97
97
|
id, retrieve_params = Util.normalize_id(id)
|
98
98
|
url = "#{resource_url}/#{CGI.escape(id)}"
|
99
|
-
|
100
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
99
|
+
execute_resource_request(:get, url, :api, retrieve_params, opts)
|
101
100
|
end
|
102
101
|
|
103
102
|
# Fetches the next page in the resource list (if there is one).
|
data/lib/stripe/oauth.rb
CHANGED
@@ -5,12 +5,10 @@ module Stripe
|
|
5
5
|
module OAuthOperations
|
6
6
|
extend APIOperations::Request::ClassMethods
|
7
7
|
|
8
|
-
def self.execute_resource_request(method, url, params, opts)
|
8
|
+
def self.execute_resource_request(method, url, base_address, params, opts)
|
9
9
|
opts = Util.normalize_opts(opts)
|
10
|
-
opts[:client] ||= opts[:client] || StripeClient.active_client
|
11
|
-
opts[:api_base] ||= opts[:client].config.connect_base
|
12
10
|
|
13
|
-
super(method, url, params, opts)
|
11
|
+
super(method, url, base_address, params, opts)
|
14
12
|
end
|
15
13
|
end
|
16
14
|
|
@@ -29,15 +27,14 @@ module Stripe
|
|
29
27
|
end
|
30
28
|
|
31
29
|
def self.authorize_url(params = {}, opts = {})
|
32
|
-
|
33
|
-
base = opts[:connect_base] || client.config.connect_base
|
30
|
+
base = opts[:connect_base] || APIRequestor.active_requestor.config.connect_base
|
34
31
|
|
35
32
|
path = "/oauth/authorize"
|
36
33
|
path = "/express" + path if opts[:express]
|
37
34
|
|
38
35
|
params[:client_id] = get_client_id(params)
|
39
36
|
params[:response_type] ||= "code"
|
40
|
-
query = Util.encode_parameters(params)
|
37
|
+
query = Util.encode_parameters(params, :v1)
|
41
38
|
|
42
39
|
"#{base}#{path}?#{query}"
|
43
40
|
end
|
@@ -45,21 +42,17 @@ module Stripe
|
|
45
42
|
def self.token(params = {}, opts = {})
|
46
43
|
opts = Util.normalize_opts(opts)
|
47
44
|
opts[:api_key] = params[:client_secret] if params[:client_secret]
|
48
|
-
|
49
|
-
:post, "/oauth/token", params, opts
|
45
|
+
OAuthOperations.execute_resource_request(
|
46
|
+
:post, "/oauth/token", :connect, params, opts
|
50
47
|
)
|
51
|
-
# This is just going to return a generic StripeObject, but that's okay
|
52
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
53
48
|
end
|
54
49
|
|
55
50
|
def self.deauthorize(params = {}, opts = {})
|
56
51
|
opts = Util.normalize_opts(opts)
|
57
52
|
params[:client_id] = get_client_id(params)
|
58
|
-
|
59
|
-
:post, "/oauth/deauthorize", params, opts
|
53
|
+
OAuthOperations.execute_resource_request(
|
54
|
+
:post, "/oauth/deauthorize", :connect, params, opts
|
60
55
|
)
|
61
|
-
# This is just going to return a generic StripeObject, but that's okay
|
62
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
63
56
|
end
|
64
57
|
end
|
65
58
|
end
|
data/lib/stripe/object_types.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# rubocop:disable Metrics/MethodLength
|
4
|
-
# rubocop:disable Metrics/AbcSize
|
5
4
|
|
6
5
|
module Stripe
|
7
6
|
module ObjectTypes
|
@@ -17,6 +16,7 @@ module Stripe
|
|
17
16
|
AccountLink.object_name => AccountLink,
|
18
17
|
AccountSession.object_name => AccountSession,
|
19
18
|
ApplePayDomain.object_name => ApplePayDomain,
|
19
|
+
Application.object_name => Application,
|
20
20
|
ApplicationFee.object_name => ApplicationFee,
|
21
21
|
ApplicationFeeRefund.object_name => ApplicationFeeRefund,
|
22
22
|
Apps::Secret.object_name => Apps::Secret,
|
@@ -24,6 +24,10 @@ module Stripe
|
|
24
24
|
BalanceTransaction.object_name => BalanceTransaction,
|
25
25
|
BankAccount.object_name => BankAccount,
|
26
26
|
Billing::Alert.object_name => Billing::Alert,
|
27
|
+
Billing::AlertTriggered.object_name => Billing::AlertTriggered,
|
28
|
+
Billing::CreditBalanceSummary.object_name => Billing::CreditBalanceSummary,
|
29
|
+
Billing::CreditBalanceTransaction.object_name => Billing::CreditBalanceTransaction,
|
30
|
+
Billing::CreditGrant.object_name => Billing::CreditGrant,
|
27
31
|
Billing::Meter.object_name => Billing::Meter,
|
28
32
|
Billing::MeterEvent.object_name => Billing::MeterEvent,
|
29
33
|
Billing::MeterEventAdjustment.object_name => Billing::MeterEventAdjustment,
|
@@ -39,6 +43,7 @@ module Stripe
|
|
39
43
|
Climate::Product.object_name => Climate::Product,
|
40
44
|
Climate::Supplier.object_name => Climate::Supplier,
|
41
45
|
ConfirmationToken.object_name => ConfirmationToken,
|
46
|
+
ConnectCollectionTransfer.object_name => ConnectCollectionTransfer,
|
42
47
|
CountrySpec.object_name => CountrySpec,
|
43
48
|
Coupon.object_name => Coupon,
|
44
49
|
CreditNote.object_name => CreditNote,
|
@@ -50,6 +55,7 @@ module Stripe
|
|
50
55
|
Discount.object_name => Discount,
|
51
56
|
Dispute.object_name => Dispute,
|
52
57
|
Entitlements::ActiveEntitlement.object_name => Entitlements::ActiveEntitlement,
|
58
|
+
Entitlements::ActiveEntitlementSummary.object_name => Entitlements::ActiveEntitlementSummary,
|
53
59
|
Entitlements::Feature.object_name => Entitlements::Feature,
|
54
60
|
EphemeralKey.object_name => EphemeralKey,
|
55
61
|
Event.object_name => Event,
|
@@ -68,6 +74,8 @@ module Stripe
|
|
68
74
|
Invoice.object_name => Invoice,
|
69
75
|
InvoiceItem.object_name => InvoiceItem,
|
70
76
|
InvoiceLineItem.object_name => InvoiceLineItem,
|
77
|
+
InvoicePayment.object_name => InvoicePayment,
|
78
|
+
InvoiceRenderingTemplate.object_name => InvoiceRenderingTemplate,
|
71
79
|
Issuing::Authorization.object_name => Issuing::Authorization,
|
72
80
|
Issuing::Card.object_name => Issuing::Card,
|
73
81
|
Issuing::Cardholder.object_name => Issuing::Cardholder,
|
@@ -98,6 +106,7 @@ module Stripe
|
|
98
106
|
Refund.object_name => Refund,
|
99
107
|
Reporting::ReportRun.object_name => Reporting::ReportRun,
|
100
108
|
Reporting::ReportType.object_name => Reporting::ReportType,
|
109
|
+
ReserveTransaction.object_name => ReserveTransaction,
|
101
110
|
Reversal.object_name => Reversal,
|
102
111
|
Review.object_name => Review,
|
103
112
|
SetupAttempt.object_name => SetupAttempt,
|
@@ -105,6 +114,7 @@ module Stripe
|
|
105
114
|
ShippingRate.object_name => ShippingRate,
|
106
115
|
Sigma::ScheduledQueryRun.object_name => Sigma::ScheduledQueryRun,
|
107
116
|
Source.object_name => Source,
|
117
|
+
SourceMandateNotification.object_name => SourceMandateNotification,
|
108
118
|
SourceTransaction.object_name => SourceTransaction,
|
109
119
|
Subscription.object_name => Subscription,
|
110
120
|
SubscriptionItem.object_name => SubscriptionItem,
|
@@ -116,6 +126,7 @@ module Stripe
|
|
116
126
|
Tax::Transaction.object_name => Tax::Transaction,
|
117
127
|
Tax::TransactionLineItem.object_name => Tax::TransactionLineItem,
|
118
128
|
TaxCode.object_name => TaxCode,
|
129
|
+
TaxDeductedAtSource.object_name => TaxDeductedAtSource,
|
119
130
|
TaxId.object_name => TaxId,
|
120
131
|
TaxRate.object_name => TaxRate,
|
121
132
|
Terminal::Configuration.object_name => Terminal::Configuration,
|
@@ -137,12 +148,24 @@ module Stripe
|
|
137
148
|
Treasury::ReceivedDebit.object_name => Treasury::ReceivedDebit,
|
138
149
|
Treasury::Transaction.object_name => Treasury::Transaction,
|
139
150
|
Treasury::TransactionEntry.object_name => Treasury::TransactionEntry,
|
140
|
-
UsageRecord.object_name => UsageRecord,
|
141
|
-
UsageRecordSummary.object_name => UsageRecordSummary,
|
142
151
|
WebhookEndpoint.object_name => WebhookEndpoint,
|
143
152
|
# object classes: The end of the section generated from our OpenAPI spec
|
144
153
|
}
|
145
154
|
end
|
155
|
+
|
156
|
+
def self.v2_object_names_to_classes
|
157
|
+
{
|
158
|
+
V2::ListObject.object_name => V2::ListObject,
|
159
|
+
|
160
|
+
# v2 object classes: The beginning of the section generated from our OpenAPI spec
|
161
|
+
V2::Billing::MeterEvent.object_name => V2::Billing::MeterEvent,
|
162
|
+
V2::Billing::MeterEventAdjustment.object_name => V2::Billing::MeterEventAdjustment,
|
163
|
+
V2::Billing::MeterEventSession.object_name => V2::Billing::MeterEventSession,
|
164
|
+
V2::Event.object_name => V2::Event,
|
165
|
+
V2::EventDestination.object_name => V2::EventDestination,
|
166
|
+
# v2 object classes: The end of the section generated from our OpenAPI spec
|
167
|
+
}
|
168
|
+
end
|
146
169
|
end
|
147
170
|
end
|
148
171
|
|
@@ -0,0 +1,129 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# typed: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# RequestOptions is a class that encapsulates configurable options
|
6
|
+
# for requests made to the Stripe API. It is used by the APIRequestor
|
7
|
+
# to set per-request options.
|
8
|
+
#
|
9
|
+
# For internal use only. Does not provide a stable API and may be broken
|
10
|
+
# with future non-major changes.
|
11
|
+
module RequestOptions
|
12
|
+
# Options that a user is allowed to specify.
|
13
|
+
OPTS_USER_SPECIFIED = Set[
|
14
|
+
:api_key,
|
15
|
+
:idempotency_key,
|
16
|
+
:stripe_account,
|
17
|
+
:stripe_context,
|
18
|
+
:stripe_version
|
19
|
+
].freeze
|
20
|
+
|
21
|
+
# Options that should be copyable from one StripeObject to another
|
22
|
+
# including options that may be internal.
|
23
|
+
OPTS_COPYABLE = (
|
24
|
+
OPTS_USER_SPECIFIED + Set[:api_base]
|
25
|
+
).freeze
|
26
|
+
|
27
|
+
# Options that should be persisted between API requests.
|
28
|
+
OPTS_PERSISTABLE = (
|
29
|
+
OPTS_USER_SPECIFIED - Set[:idempotency_key, :stripe_context]
|
30
|
+
).freeze
|
31
|
+
|
32
|
+
# Merges requestor options on a StripeConfiguration object
|
33
|
+
# with a per-request options hash, giving precedence
|
34
|
+
# to the per-request options. Expects StripeConfiguration and hash.
|
35
|
+
def self.merge_config_and_opts(config, req_opts)
|
36
|
+
# Raise an error if config is not a StripeConfiguration object
|
37
|
+
unless config.is_a?(StripeConfiguration)
|
38
|
+
raise ArgumentError, "config must be a Stripe::StripeConfiguration object"
|
39
|
+
end
|
40
|
+
|
41
|
+
merged_opts = {
|
42
|
+
api_key: req_opts[:api_key] || config.api_key,
|
43
|
+
idempotency_key: req_opts[:idempotency_key],
|
44
|
+
stripe_account: req_opts[:stripe_account] || config.stripe_account,
|
45
|
+
stripe_context: req_opts[:stripe_context] || config.stripe_context,
|
46
|
+
stripe_version: req_opts[:stripe_version] || config.api_version,
|
47
|
+
headers: req_opts[:headers] || {},
|
48
|
+
}
|
49
|
+
|
50
|
+
# Remove nil values from headers
|
51
|
+
merged_opts.delete_if { |_, v| v.nil? }
|
52
|
+
|
53
|
+
merged_opts
|
54
|
+
end
|
55
|
+
|
56
|
+
# Merges requestor options hash on a StripeObject
|
57
|
+
# with a per-request options hash, giving precedence
|
58
|
+
# to the per-request options. Returns the merged request options.
|
59
|
+
# Expects two hashes, expects extract_opts_from_hash to be called first!!!
|
60
|
+
def self.combine_opts(object_opts, req_opts)
|
61
|
+
merged_opts = {
|
62
|
+
api_key: req_opts[:api_key] || object_opts[:api_key],
|
63
|
+
idempotency_key: req_opts[:idempotency_key],
|
64
|
+
stripe_account: req_opts[:stripe_account] || object_opts[:stripe_account],
|
65
|
+
stripe_context: req_opts[:stripe_context] || object_opts[:stripe_context],
|
66
|
+
stripe_version: req_opts[:stripe_version] || object_opts[:stripe_version],
|
67
|
+
headers: req_opts[:headers] || {},
|
68
|
+
}
|
69
|
+
|
70
|
+
# Remove nil values from headers
|
71
|
+
merged_opts.delete_if { |_, v| v.nil? }
|
72
|
+
|
73
|
+
merged_opts
|
74
|
+
end
|
75
|
+
|
76
|
+
# Extracts options from a user-provided hash, returning a new request options hash
|
77
|
+
# containing the recognized request options and a `headers` entry for the remaining options.
|
78
|
+
def self.extract_opts_from_hash(opts)
|
79
|
+
req_opts = {}
|
80
|
+
normalized_opts = Util.normalize_opts(opts.clone)
|
81
|
+
|
82
|
+
RequestOptions.error_on_non_string_user_opts(normalized_opts)
|
83
|
+
|
84
|
+
OPTS_USER_SPECIFIED.each do |opt|
|
85
|
+
req_opts[opt] = normalized_opts[opt] if normalized_opts.key?(opt)
|
86
|
+
normalized_opts.delete(opt)
|
87
|
+
end
|
88
|
+
|
89
|
+
# Remaining user-provided opts should be treated as headers
|
90
|
+
req_opts[:headers] = Util.normalize_headers(normalized_opts) if normalized_opts.any?
|
91
|
+
|
92
|
+
req_opts
|
93
|
+
end
|
94
|
+
|
95
|
+
# Validates a normalized opts hash.
|
96
|
+
def self.error_on_non_string_user_opts(normalized_opts)
|
97
|
+
OPTS_USER_SPECIFIED.each do |opt|
|
98
|
+
next unless normalized_opts.key?(opt)
|
99
|
+
|
100
|
+
val = normalized_opts[opt]
|
101
|
+
next if val.nil?
|
102
|
+
next if val.is_a?(String)
|
103
|
+
|
104
|
+
raise ArgumentError,
|
105
|
+
"request option '#{opt}' should be a string value " \
|
106
|
+
"(was a #{val.class})"
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
# Get options that persist between requests
|
111
|
+
def self.persistable(req_opts)
|
112
|
+
opts_to_persist = {}
|
113
|
+
|
114
|
+
# Hash#select returns an array before 1.9
|
115
|
+
req_opts.each do |k, v|
|
116
|
+
opts_to_persist[k] = v if RequestOptions::OPTS_PERSISTABLE.include?(k)
|
117
|
+
end
|
118
|
+
|
119
|
+
opts_to_persist
|
120
|
+
end
|
121
|
+
|
122
|
+
# Get options that are copyable from StripeObject to StripeObject
|
123
|
+
def self.copyable(req_opts)
|
124
|
+
req_opts.select do |k, _v|
|
125
|
+
RequestOptions::OPTS_COPYABLE.include?(k)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# typed: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# For internal use only. Does not provide a stable API and may be broken
|
6
|
+
# with future non-major changes.
|
7
|
+
class RequestParams
|
8
|
+
def to_h
|
9
|
+
instance_variables.each_with_object({}) do |var, hash|
|
10
|
+
key = var.to_s.delete("@").to_sym
|
11
|
+
value = instance_variable_get(var)
|
12
|
+
|
13
|
+
hash[key] = if value.is_a?(RequestParams)
|
14
|
+
value.to_h
|
15
|
+
# Check if value is an array and contains RequestParams objects
|
16
|
+
elsif value.is_a?(Array)
|
17
|
+
value.map { |item| item.is_a?(RequestParams) ? item.to_h : item }
|
18
|
+
else
|
19
|
+
value
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|