stripe 13.0.2 → 13.1.0.pre.beta.2
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 +1370 -654
 - data/OPENAPI_VERSION +1 -1
 - data/README.md +1 -1
 - data/VERSION +1 -1
 - data/examples/README.md +2 -7
 - data/examples/meter_event_stream.rb +0 -10
 - data/examples/new_example.rb +24 -0
 - data/examples/{thinevent_webhook_handler.rb → stripe_webhook_handler.rb} +0 -11
 - data/lib/stripe/api_resource.rb +1 -0
 - data/lib/stripe/object_types.rb +19 -0
 - data/lib/stripe/request_signing_authenticator.rb +79 -0
 - data/lib/stripe/resources/account_notice.rb +32 -0
 - data/lib/stripe/resources/billing/meter.rb +2 -0
 - data/lib/stripe/resources/capital/financing_offer.rb +49 -0
 - data/lib/stripe/resources/capital/financing_summary.rb +15 -0
 - data/lib/stripe/resources/capital/financing_transaction.rb +27 -0
 - data/lib/stripe/resources/financial_connections/account.rb +3 -0
 - data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +14 -0
 - data/lib/stripe/resources/financial_connections/institution.rb +26 -0
 - data/lib/stripe/resources/gift_cards/card.rb +59 -0
 - data/lib/stripe/resources/gift_cards/transaction.rb +93 -0
 - data/lib/stripe/resources/invoice.rb +81 -0
 - data/lib/stripe/resources/invoice_payment.rb +12 -0
 - data/lib/stripe/resources/issuing/card.rb +20 -0
 - data/lib/stripe/resources/issuing/credit_underwriting_record.rb +88 -0
 - data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +26 -0
 - data/lib/stripe/resources/margin.rb +37 -0
 - data/lib/stripe/resources/order.rb +120 -0
 - data/lib/stripe/resources/payment_intent.rb +50 -0
 - data/lib/stripe/resources/quote.rb +104 -0
 - data/lib/stripe/resources/quote_preview_invoice.rb +43 -0
 - data/lib/stripe/resources/quote_preview_subscription_schedule.rb +11 -0
 - data/lib/stripe/resources/subscription_schedule.rb +20 -0
 - data/lib/stripe/resources/tax/association.rb +24 -0
 - data/lib/stripe/resources/tax/form.rb +49 -0
 - data/lib/stripe/resources/terminal/reader.rb +60 -0
 - data/lib/stripe/resources/terminal/reader_collected_data.rb +14 -0
 - data/lib/stripe/resources/usage_record_summary.rb +1 -0
 - data/lib/stripe/resources/v2/billing/meter_event.rb +2 -2
 - data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +2 -2
 - data/lib/stripe/resources/v2/billing/meter_event_session.rb +2 -2
 - data/lib/stripe/resources.rb +18 -0
 - data/lib/stripe/services/account_notice_service.rb +39 -0
 - data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
 - data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
 - data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
 - data/lib/stripe/services/capital_service.rb +15 -0
 - data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
 - data/lib/stripe/services/financial_connections/account_service.rb +3 -1
 - data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
 - data/lib/stripe/services/financial_connections_service.rb +2 -1
 - data/lib/stripe/services/gift_cards/card_service.rb +63 -0
 - data/lib/stripe/services/gift_cards/transaction_service.rb +74 -0
 - data/lib/stripe/services/gift_cards_service.rb +14 -0
 - data/lib/stripe/services/invoice_payment_service.rb +28 -0
 - data/lib/stripe/services/invoice_service.rb +44 -1
 - data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
 - data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
 - data/lib/stripe/services/issuing_service.rb +4 -1
 - data/lib/stripe/services/margin_service.rb +50 -0
 - data/lib/stripe/services/order_line_item_service.rb +17 -0
 - data/lib/stripe/services/order_service.rb +78 -0
 - data/lib/stripe/services/payment_intent_service.rb +26 -0
 - data/lib/stripe/services/quote_line_service.rb +17 -0
 - data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
 - data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
 - data/lib/stripe/services/quote_service.rb +49 -1
 - data/lib/stripe/services/subscription_schedule_service.rb +11 -0
 - data/lib/stripe/services/tax/association_service.rb +19 -0
 - data/lib/stripe/services/tax/form_service.rb +37 -0
 - data/lib/stripe/services/tax_service.rb +3 -1
 - data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
 - data/lib/stripe/services/terminal/reader_service.rb +33 -0
 - data/lib/stripe/services/terminal_service.rb +2 -1
 - data/lib/stripe/services/test_helpers/issuing/card_service.rb +11 -0
 - data/lib/stripe/services/v1_services.rb +6 -1
 - data/lib/stripe/services.rb +22 -0
 - data/lib/stripe/stripe_configuration.rb +3 -1
 - data/lib/stripe/util.rb +7 -1
 - data/lib/stripe/version.rb +1 -1
 - data/lib/stripe.rb +45 -0
 - metadata +47 -6
 - data/examples/example_template.rb +0 -36
 
    
        data/OPENAPI_VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            v1273
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -367,7 +367,7 @@ background terminal ([stripe-mock's README][stripe-mock] also contains 
     | 
|
| 
       367 
367 
     | 
    
         
             
            instructions for installing via Homebrew and other methods):
         
     | 
| 
       368 
368 
     | 
    
         | 
| 
       369 
369 
     | 
    
         
             
            ```sh
         
     | 
| 
       370 
     | 
    
         
            -
            go  
     | 
| 
      
 370 
     | 
    
         
            +
            go get -u github.com/stripe/stripe-mock
         
     | 
| 
       371 
371 
     | 
    
         
             
            stripe-mock
         
     | 
| 
       372 
372 
     | 
    
         
             
            ```
         
     | 
| 
       373 
373 
     | 
    
         | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            13.0.2
         
     | 
| 
      
 1 
     | 
    
         
            +
            13.1.0-beta.2
         
     | 
    
        data/examples/README.md
    CHANGED
    
    | 
         @@ -3,14 +3,9 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            From the examples folder, run:
         
     | 
| 
       4 
4 
     | 
    
         
             
            `RUBYLIB=../lib ruby your_example.rb`
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
            e.g.
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            `RUBYLIB=../lib ruby thinevent_webhook_handler.rb`
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
6 
     | 
    
         
             
            ## Adding a new example
         
     | 
| 
       11 
7 
     | 
    
         | 
| 
       12 
8 
     | 
    
         
             
            1. Clone new_example.rb
         
     | 
| 
       13 
9 
     | 
    
         
             
            2. Implement your example
         
     | 
| 
       14 
     | 
    
         
            -
            3.  
     | 
| 
       15 
     | 
    
         
            -
            4.  
     | 
| 
       16 
     | 
    
         
            -
            5. 👍
         
     | 
| 
      
 10 
     | 
    
         
            +
            3. Run it (as per above)
         
     | 
| 
      
 11 
     | 
    
         
            +
            4. 👍
         
     | 
| 
         @@ -1,15 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            # meter_event_stream.py - use the high-throughput meter event stream to report create billing meter events.
         
     | 
| 
       4 
     | 
    
         
            -
            #
         
     | 
| 
       5 
     | 
    
         
            -
            # In this example, we:
         
     | 
| 
       6 
     | 
    
         
            -
            #   - create a meter event session and store the session's authentication token
         
     | 
| 
       7 
     | 
    
         
            -
            #   - define an event with a payload
         
     | 
| 
       8 
     | 
    
         
            -
            #   - use the meter_event_stream service accessor in StripeClient to create an event stream that reports this event
         
     | 
| 
       9 
     | 
    
         
            -
            #
         
     | 
| 
       10 
     | 
    
         
            -
            # This example expects a billing meter with an event_name of 'alpaca_ai_tokens'.  If you have
         
     | 
| 
       11 
     | 
    
         
            -
            # a different meter event name, you can change it before running this example.
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
3 
     | 
    
         
             
            require "stripe"
         
     | 
| 
       14 
4 
     | 
    
         
             
            require "date"
         
     | 
| 
       15 
5 
     | 
    
         | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require "stripe"
         
     | 
| 
      
 4 
     | 
    
         
            +
            require "date"
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            class NewExample
         
     | 
| 
      
 7 
     | 
    
         
            +
              attr_accessor :api_key
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              def initialize(api_key)
         
     | 
| 
      
 10 
     | 
    
         
            +
                @api_key = api_key
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              def do_something_great
         
     | 
| 
      
 14 
     | 
    
         
            +
                puts "Hello World"
         
     | 
| 
      
 15 
     | 
    
         
            +
                # client = Stripe::StripeClient.new(api_key)
         
     | 
| 
      
 16 
     | 
    
         
            +
                # client.v1
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
            end
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            # Send meter events
         
     | 
| 
      
 21 
     | 
    
         
            +
            api_key = "{{API_KEY}}"
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            example = NewExample.new(api_key)
         
     | 
| 
      
 24 
     | 
    
         
            +
            example.do_something_great
         
     | 
| 
         @@ -1,17 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         
             
            # typed: false
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            # thinevent_webhook_handler.rb - receive and process thin events like the
         
     | 
| 
       5 
     | 
    
         
            -
            # v1.billing.meter.error_report_triggered event.
         
     | 
| 
       6 
     | 
    
         
            -
            #
         
     | 
| 
       7 
     | 
    
         
            -
            # In this example, we:
         
     | 
| 
       8 
     | 
    
         
            -
            #     - create a StripeClient called client
         
     | 
| 
       9 
     | 
    
         
            -
            #     - use client.parse_thin_event to parse the received thin event webhook body
         
     | 
| 
       10 
     | 
    
         
            -
            #     - call client.v2.core.events.retrieve to retrieve the full event object
         
     | 
| 
       11 
     | 
    
         
            -
            #     - if it is a V1BillingMeterErrorReportTriggeredEvent event type, call
         
     | 
| 
       12 
     | 
    
         
            -
            #       event.fetchRelatedObject to retrieve the Billing Meter object associated
         
     | 
| 
       13 
     | 
    
         
            -
            #       with the event.
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
4 
     | 
    
         
             
            require "stripe"
         
     | 
| 
       16 
5 
     | 
    
         
             
            require "sinatra"
         
     | 
| 
       17 
6 
     | 
    
         | 
    
        data/lib/stripe/api_resource.rb
    CHANGED
    
    
    
        data/lib/stripe/object_types.rb
    CHANGED
    
    | 
         @@ -14,6 +14,7 @@ module Stripe 
     | 
|
| 
       14 
14 
     | 
    
         
             
                    # object classes: The beginning of the section generated from our OpenAPI spec
         
     | 
| 
       15 
15 
     | 
    
         
             
                    Account.object_name => Account,
         
     | 
| 
       16 
16 
     | 
    
         
             
                    AccountLink.object_name => AccountLink,
         
     | 
| 
      
 17 
     | 
    
         
            +
                    AccountNotice.object_name => AccountNotice,
         
     | 
| 
       17 
18 
     | 
    
         
             
                    AccountSession.object_name => AccountSession,
         
     | 
| 
       18 
19 
     | 
    
         
             
                    ApplePayDomain.object_name => ApplePayDomain,
         
     | 
| 
       19 
20 
     | 
    
         
             
                    ApplicationFee.object_name => ApplicationFee,
         
     | 
| 
         @@ -33,6 +34,9 @@ module Stripe 
     | 
|
| 
       33 
34 
     | 
    
         
             
                    BillingPortal::Configuration.object_name => BillingPortal::Configuration,
         
     | 
| 
       34 
35 
     | 
    
         
             
                    BillingPortal::Session.object_name => BillingPortal::Session,
         
     | 
| 
       35 
36 
     | 
    
         
             
                    Capability.object_name => Capability,
         
     | 
| 
      
 37 
     | 
    
         
            +
                    Capital::FinancingOffer.object_name => Capital::FinancingOffer,
         
     | 
| 
      
 38 
     | 
    
         
            +
                    Capital::FinancingSummary.object_name => Capital::FinancingSummary,
         
     | 
| 
      
 39 
     | 
    
         
            +
                    Capital::FinancingTransaction.object_name => Capital::FinancingTransaction,
         
     | 
| 
       36 
40 
     | 
    
         
             
                    Card.object_name => Card,
         
     | 
| 
       37 
41 
     | 
    
         
             
                    CashBalance.object_name => CashBalance,
         
     | 
| 
       38 
42 
     | 
    
         
             
                    Charge.object_name => Charge,
         
     | 
| 
         @@ -59,22 +63,30 @@ module Stripe 
     | 
|
| 
       59 
63 
     | 
    
         
             
                    File.object_name => File,
         
     | 
| 
       60 
64 
     | 
    
         
             
                    FileLink.object_name => FileLink,
         
     | 
| 
       61 
65 
     | 
    
         
             
                    FinancialConnections::Account.object_name => FinancialConnections::Account,
         
     | 
| 
      
 66 
     | 
    
         
            +
                    FinancialConnections::AccountInferredBalance.object_name =>
         
     | 
| 
      
 67 
     | 
    
         
            +
                    FinancialConnections::AccountInferredBalance,
         
     | 
| 
       62 
68 
     | 
    
         
             
                    FinancialConnections::AccountOwner.object_name => FinancialConnections::AccountOwner,
         
     | 
| 
       63 
69 
     | 
    
         
             
                    FinancialConnections::AccountOwnership.object_name => FinancialConnections::AccountOwnership,
         
     | 
| 
      
 70 
     | 
    
         
            +
                    FinancialConnections::Institution.object_name => FinancialConnections::Institution,
         
     | 
| 
       64 
71 
     | 
    
         
             
                    FinancialConnections::Session.object_name => FinancialConnections::Session,
         
     | 
| 
       65 
72 
     | 
    
         
             
                    FinancialConnections::Transaction.object_name => FinancialConnections::Transaction,
         
     | 
| 
       66 
73 
     | 
    
         
             
                    Forwarding::Request.object_name => Forwarding::Request,
         
     | 
| 
       67 
74 
     | 
    
         
             
                    FundingInstructions.object_name => FundingInstructions,
         
     | 
| 
      
 75 
     | 
    
         
            +
                    GiftCards::Card.object_name => GiftCards::Card,
         
     | 
| 
      
 76 
     | 
    
         
            +
                    GiftCards::Transaction.object_name => GiftCards::Transaction,
         
     | 
| 
       68 
77 
     | 
    
         
             
                    Identity::VerificationReport.object_name => Identity::VerificationReport,
         
     | 
| 
       69 
78 
     | 
    
         
             
                    Identity::VerificationSession.object_name => Identity::VerificationSession,
         
     | 
| 
       70 
79 
     | 
    
         
             
                    Invoice.object_name => Invoice,
         
     | 
| 
       71 
80 
     | 
    
         
             
                    InvoiceItem.object_name => InvoiceItem,
         
     | 
| 
       72 
81 
     | 
    
         
             
                    InvoiceLineItem.object_name => InvoiceLineItem,
         
     | 
| 
      
 82 
     | 
    
         
            +
                    InvoicePayment.object_name => InvoicePayment,
         
     | 
| 
       73 
83 
     | 
    
         
             
                    InvoiceRenderingTemplate.object_name => InvoiceRenderingTemplate,
         
     | 
| 
       74 
84 
     | 
    
         
             
                    Issuing::Authorization.object_name => Issuing::Authorization,
         
     | 
| 
       75 
85 
     | 
    
         
             
                    Issuing::Card.object_name => Issuing::Card,
         
     | 
| 
       76 
86 
     | 
    
         
             
                    Issuing::Cardholder.object_name => Issuing::Cardholder,
         
     | 
| 
      
 87 
     | 
    
         
            +
                    Issuing::CreditUnderwritingRecord.object_name => Issuing::CreditUnderwritingRecord,
         
     | 
| 
       77 
88 
     | 
    
         
             
                    Issuing::Dispute.object_name => Issuing::Dispute,
         
     | 
| 
      
 89 
     | 
    
         
            +
                    Issuing::DisputeSettlementDetail.object_name => Issuing::DisputeSettlementDetail,
         
     | 
| 
       78 
90 
     | 
    
         
             
                    Issuing::PersonalizationDesign.object_name => Issuing::PersonalizationDesign,
         
     | 
| 
       79 
91 
     | 
    
         
             
                    Issuing::PhysicalBundle.object_name => Issuing::PhysicalBundle,
         
     | 
| 
       80 
92 
     | 
    
         
             
                    Issuing::Token.object_name => Issuing::Token,
         
     | 
| 
         @@ -82,6 +94,8 @@ module Stripe 
     | 
|
| 
       82 
94 
     | 
    
         
             
                    LineItem.object_name => LineItem,
         
     | 
| 
       83 
95 
     | 
    
         
             
                    LoginLink.object_name => LoginLink,
         
     | 
| 
       84 
96 
     | 
    
         
             
                    Mandate.object_name => Mandate,
         
     | 
| 
      
 97 
     | 
    
         
            +
                    Margin.object_name => Margin,
         
     | 
| 
      
 98 
     | 
    
         
            +
                    Order.object_name => Order,
         
     | 
| 
       85 
99 
     | 
    
         
             
                    PaymentIntent.object_name => PaymentIntent,
         
     | 
| 
       86 
100 
     | 
    
         
             
                    PaymentLink.object_name => PaymentLink,
         
     | 
| 
       87 
101 
     | 
    
         
             
                    PaymentMethod.object_name => PaymentMethod,
         
     | 
| 
         @@ -95,6 +109,8 @@ module Stripe 
     | 
|
| 
       95 
109 
     | 
    
         
             
                    ProductFeature.object_name => ProductFeature,
         
     | 
| 
       96 
110 
     | 
    
         
             
                    PromotionCode.object_name => PromotionCode,
         
     | 
| 
       97 
111 
     | 
    
         
             
                    Quote.object_name => Quote,
         
     | 
| 
      
 112 
     | 
    
         
            +
                    QuotePreviewInvoice.object_name => QuotePreviewInvoice,
         
     | 
| 
      
 113 
     | 
    
         
            +
                    QuotePreviewSubscriptionSchedule.object_name => QuotePreviewSubscriptionSchedule,
         
     | 
| 
       98 
114 
     | 
    
         
             
                    Radar::EarlyFraudWarning.object_name => Radar::EarlyFraudWarning,
         
     | 
| 
       99 
115 
     | 
    
         
             
                    Radar::ValueList.object_name => Radar::ValueList,
         
     | 
| 
       100 
116 
     | 
    
         
             
                    Radar::ValueListItem.object_name => Radar::ValueListItem,
         
     | 
| 
         @@ -112,8 +128,10 @@ module Stripe 
     | 
|
| 
       112 
128 
     | 
    
         
             
                    Subscription.object_name => Subscription,
         
     | 
| 
       113 
129 
     | 
    
         
             
                    SubscriptionItem.object_name => SubscriptionItem,
         
     | 
| 
       114 
130 
     | 
    
         
             
                    SubscriptionSchedule.object_name => SubscriptionSchedule,
         
     | 
| 
      
 131 
     | 
    
         
            +
                    Tax::Association.object_name => Tax::Association,
         
     | 
| 
       115 
132 
     | 
    
         
             
                    Tax::Calculation.object_name => Tax::Calculation,
         
     | 
| 
       116 
133 
     | 
    
         
             
                    Tax::CalculationLineItem.object_name => Tax::CalculationLineItem,
         
     | 
| 
      
 134 
     | 
    
         
            +
                    Tax::Form.object_name => Tax::Form,
         
     | 
| 
       117 
135 
     | 
    
         
             
                    Tax::Registration.object_name => Tax::Registration,
         
     | 
| 
       118 
136 
     | 
    
         
             
                    Tax::Settings.object_name => Tax::Settings,
         
     | 
| 
       119 
137 
     | 
    
         
             
                    Tax::Transaction.object_name => Tax::Transaction,
         
     | 
| 
         @@ -125,6 +143,7 @@ module Stripe 
     | 
|
| 
       125 
143 
     | 
    
         
             
                    Terminal::ConnectionToken.object_name => Terminal::ConnectionToken,
         
     | 
| 
       126 
144 
     | 
    
         
             
                    Terminal::Location.object_name => Terminal::Location,
         
     | 
| 
       127 
145 
     | 
    
         
             
                    Terminal::Reader.object_name => Terminal::Reader,
         
     | 
| 
      
 146 
     | 
    
         
            +
                    Terminal::ReaderCollectedData.object_name => Terminal::ReaderCollectedData,
         
     | 
| 
       128 
147 
     | 
    
         
             
                    TestHelpers::TestClock.object_name => TestHelpers::TestClock,
         
     | 
| 
       129 
148 
     | 
    
         
             
                    Token.object_name => Token,
         
     | 
| 
       130 
149 
     | 
    
         
             
                    Topup.object_name => Topup,
         
     | 
| 
         @@ -0,0 +1,79 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Stripe
         
     | 
| 
      
 4 
     | 
    
         
            +
              class RequestSigningAuthenticator
         
     | 
| 
      
 5 
     | 
    
         
            +
                AUTHORIZATION_HEADER_NAME = "Authorization"
         
     | 
| 
      
 6 
     | 
    
         
            +
                CONTENT_TYPE_HEADER_NAME = "Content-Type"
         
     | 
| 
      
 7 
     | 
    
         
            +
                STRIPE_CONTEXT_HEADER_NAME = "Stripe-Context"
         
     | 
| 
      
 8 
     | 
    
         
            +
                STRIPE_ACCOUNT_HEADER_NAME = "Stripe-Account"
         
     | 
| 
      
 9 
     | 
    
         
            +
                CONTENT_DIGEST_HEADER_NAME = "Content-Digest"
         
     | 
| 
      
 10 
     | 
    
         
            +
                SIGNATURE_INPUT_HEADER_NAME = "Signature-Input"
         
     | 
| 
      
 11 
     | 
    
         
            +
                SIGNATURE_HEADER_NAME = "Signature"
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                attr_reader :auth_token, :sign_lambda
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                def initialize(auth_token, sign_lambda)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  raise ArgumentError, "auth_token must be a string" unless auth_token.is_a?(String)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  raise ArgumentError, "sign_lambda must be a lambda" unless sign_lambda.is_a?(Proc)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                  @auth_token = auth_token
         
     | 
| 
      
 20 
     | 
    
         
            +
                  @sign_lambda = sign_lambda
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                def authenticate(method, headers, body)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  covered_headers = [CONTENT_TYPE_HEADER_NAME,
         
     | 
| 
      
 25 
     | 
    
         
            +
                                     CONTENT_DIGEST_HEADER_NAME,
         
     | 
| 
      
 26 
     | 
    
         
            +
                                     STRIPE_CONTEXT_HEADER_NAME,
         
     | 
| 
      
 27 
     | 
    
         
            +
                                     STRIPE_ACCOUNT_HEADER_NAME,
         
     | 
| 
      
 28 
     | 
    
         
            +
                                     AUTHORIZATION_HEADER_NAME,]
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                  headers[AUTHORIZATION_HEADER_NAME] = "STRIPE-V2-SIG #{auth_token}"
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                  if method == :get
         
     | 
| 
      
 33 
     | 
    
         
            +
                    covered_headers -= [CONTENT_TYPE_HEADER_NAME,
         
     | 
| 
      
 34 
     | 
    
         
            +
                                        CONTENT_DIGEST_HEADER_NAME,]
         
     | 
| 
      
 35 
     | 
    
         
            +
                  else
         
     | 
| 
      
 36 
     | 
    
         
            +
                    content = body || ""
         
     | 
| 
      
 37 
     | 
    
         
            +
                    headers[CONTENT_DIGEST_HEADER_NAME] =
         
     | 
| 
      
 38 
     | 
    
         
            +
                      %(sha-256=:#{content_digest(content)}:)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                  covered_headers_formatted = covered_headers
         
     | 
| 
      
 42 
     | 
    
         
            +
                                              .map { |string| %("#{string.downcase}") }
         
     | 
| 
      
 43 
     | 
    
         
            +
                                              .join(" ")
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                  signature_input = "(#{covered_headers_formatted});created=#{created_time}"
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                  inputs = covered_headers
         
     | 
| 
      
 48 
     | 
    
         
            +
                           .map { |header| %("#{header.downcase}": #{headers[header]}) }
         
     | 
| 
      
 49 
     | 
    
         
            +
                           .join("\n")
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                  signature_base = %(#{inputs}\n"@signature-params": #{signature_input})
         
     | 
| 
      
 52 
     | 
    
         
            +
                                   .encode(Encoding::UTF_8)
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                  headers[SIGNATURE_INPUT_HEADER_NAME] = "sig1=#{signature_input}"
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
                  headers[SIGNATURE_HEADER_NAME] =
         
     | 
| 
      
 57 
     | 
    
         
            +
                    "sig1=:#{encoded_signature(signature_base)}:"
         
     | 
| 
      
 58 
     | 
    
         
            +
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                private def sign(signature_base)
         
     | 
| 
      
 61 
     | 
    
         
            +
                  @sign_lambda.call(signature_base)
         
     | 
| 
      
 62 
     | 
    
         
            +
                end
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
                private def encoded_signature(signature_base)
         
     | 
| 
      
 65 
     | 
    
         
            +
                  Base64.strict_encode64(sign(signature_base))
         
     | 
| 
      
 66 
     | 
    
         
            +
                rescue StandardError
         
     | 
| 
      
 67 
     | 
    
         
            +
                  raise AuthenticationError, "Encountered '#{e.message} (#{e.class})' " \
         
     | 
| 
      
 68 
     | 
    
         
            +
                                             "when calculating request signature."
         
     | 
| 
      
 69 
     | 
    
         
            +
                end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                private def content_digest(content)
         
     | 
| 
      
 72 
     | 
    
         
            +
                  Base64.strict_encode64(OpenSSL::Digest.new("SHA256").digest(content))
         
     | 
| 
      
 73 
     | 
    
         
            +
                end
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
                private def created_time
         
     | 
| 
      
 76 
     | 
    
         
            +
                  Time.now.to_i
         
     | 
| 
      
 77 
     | 
    
         
            +
                end
         
     | 
| 
      
 78 
     | 
    
         
            +
              end
         
     | 
| 
      
 79 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,32 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # File generated from our OpenAPI spec
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Stripe
         
     | 
| 
      
 5 
     | 
    
         
            +
              # A notice to a Connected account. Notice can be sent by Stripe on your behalf or you can opt to send the notices yourself.
         
     | 
| 
      
 6 
     | 
    
         
            +
              #
         
     | 
| 
      
 7 
     | 
    
         
            +
              # See the [guide to send notices](https://stripe.com/docs/issuing/compliance-us/issuing-regulated-customer-notices) to your connected accounts.
         
     | 
| 
      
 8 
     | 
    
         
            +
              class AccountNotice < APIResource
         
     | 
| 
      
 9 
     | 
    
         
            +
                extend Stripe::APIOperations::List
         
     | 
| 
      
 10 
     | 
    
         
            +
                include Stripe::APIOperations::Save
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                OBJECT_NAME = "account_notice"
         
     | 
| 
      
 13 
     | 
    
         
            +
                def self.object_name
         
     | 
| 
      
 14 
     | 
    
         
            +
                  "account_notice"
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                # Retrieves a list of AccountNotice objects. The objects are sorted in descending order by creation date, with the most-recently-created object appearing first.
         
     | 
| 
      
 18 
     | 
    
         
            +
                def self.list(filters = {}, opts = {})
         
     | 
| 
      
 19 
     | 
    
         
            +
                  request_stripe_object(method: :get, path: "/v1/account_notices", params: filters, opts: opts)
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                # Updates an AccountNotice object.
         
     | 
| 
      
 23 
     | 
    
         
            +
                def self.update(id, params = {}, opts = {})
         
     | 
| 
      
 24 
     | 
    
         
            +
                  request_stripe_object(
         
     | 
| 
      
 25 
     | 
    
         
            +
                    method: :post,
         
     | 
| 
      
 26 
     | 
    
         
            +
                    path: format("/v1/account_notices/%<id>s", { id: CGI.escape(id) }),
         
     | 
| 
      
 27 
     | 
    
         
            +
                    params: params,
         
     | 
| 
      
 28 
     | 
    
         
            +
                    opts: opts
         
     | 
| 
      
 29 
     | 
    
         
            +
                  )
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -4,6 +4,8 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
            module Stripe
         
     | 
| 
       5 
5 
     | 
    
         
             
              module Billing
         
     | 
| 
       6 
6 
     | 
    
         
             
                # A billing meter is a resource that allows you to track usage of a particular event. For example, you might create a billing meter to track the number of API calls made by a particular user. You can then attach the billing meter to a price and attach the price to a subscription to charge the user for the number of API calls they make.
         
     | 
| 
      
 7 
     | 
    
         
            +
                #
         
     | 
| 
      
 8 
     | 
    
         
            +
                # Related guide: [Usage based billing](https://docs.stripe.com/billing/subscriptions/usage-based)
         
     | 
| 
       7 
9 
     | 
    
         
             
                class Meter < APIResource
         
     | 
| 
       8 
10 
     | 
    
         
             
                  extend Stripe::APIOperations::Create
         
     | 
| 
       9 
11 
     | 
    
         
             
                  extend Stripe::APIOperations::List
         
     | 
| 
         @@ -0,0 +1,49 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # File generated from our OpenAPI spec
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Stripe
         
     | 
| 
      
 5 
     | 
    
         
            +
              module Capital
         
     | 
| 
      
 6 
     | 
    
         
            +
                # This is an object representing an offer of financing from
         
     | 
| 
      
 7 
     | 
    
         
            +
                # Stripe Capital to a Connect subaccount.
         
     | 
| 
      
 8 
     | 
    
         
            +
                class FinancingOffer < APIResource
         
     | 
| 
      
 9 
     | 
    
         
            +
                  extend Stripe::APIOperations::List
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                  OBJECT_NAME = "capital.financing_offer"
         
     | 
| 
      
 12 
     | 
    
         
            +
                  def self.object_name
         
     | 
| 
      
 13 
     | 
    
         
            +
                    "capital.financing_offer"
         
     | 
| 
      
 14 
     | 
    
         
            +
                  end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                  # Retrieves the financing offers available for Connected accounts that belong to your platform.
         
     | 
| 
      
 17 
     | 
    
         
            +
                  def self.list(filters = {}, opts = {})
         
     | 
| 
      
 18 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 19 
     | 
    
         
            +
                      method: :get,
         
     | 
| 
      
 20 
     | 
    
         
            +
                      path: "/v1/capital/financing_offers",
         
     | 
| 
      
 21 
     | 
    
         
            +
                      params: filters,
         
     | 
| 
      
 22 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 23 
     | 
    
         
            +
                    )
         
     | 
| 
      
 24 
     | 
    
         
            +
                  end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                  # Acknowledges that platform has received and delivered the financing_offer to
         
     | 
| 
      
 27 
     | 
    
         
            +
                  # the intended merchant recipient.
         
     | 
| 
      
 28 
     | 
    
         
            +
                  def mark_delivered(params = {}, opts = {})
         
     | 
| 
      
 29 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 30 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 31 
     | 
    
         
            +
                      path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(self["id"]) }),
         
     | 
| 
      
 32 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 33 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 34 
     | 
    
         
            +
                    )
         
     | 
| 
      
 35 
     | 
    
         
            +
                  end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                  # Acknowledges that platform has received and delivered the financing_offer to
         
     | 
| 
      
 38 
     | 
    
         
            +
                  # the intended merchant recipient.
         
     | 
| 
      
 39 
     | 
    
         
            +
                  def self.mark_delivered(financing_offer, params = {}, opts = {})
         
     | 
| 
      
 40 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 41 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 42 
     | 
    
         
            +
                      path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(financing_offer) }),
         
     | 
| 
      
 43 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 44 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 45 
     | 
    
         
            +
                    )
         
     | 
| 
      
 46 
     | 
    
         
            +
                  end
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # File generated from our OpenAPI spec
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Stripe
         
     | 
| 
      
 5 
     | 
    
         
            +
              module Capital
         
     | 
| 
      
 6 
     | 
    
         
            +
                # A financing object describes an account's current financing state. Used by Connect
         
     | 
| 
      
 7 
     | 
    
         
            +
                # platforms to read the state of Capital offered to their connected accounts.
         
     | 
| 
      
 8 
     | 
    
         
            +
                class FinancingSummary < SingletonAPIResource
         
     | 
| 
      
 9 
     | 
    
         
            +
                  OBJECT_NAME = "capital.financing_summary"
         
     | 
| 
      
 10 
     | 
    
         
            +
                  def self.object_name
         
     | 
| 
      
 11 
     | 
    
         
            +
                    "capital.financing_summary"
         
     | 
| 
      
 12 
     | 
    
         
            +
                  end
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # File generated from our OpenAPI spec
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Stripe
         
     | 
| 
      
 5 
     | 
    
         
            +
              module Capital
         
     | 
| 
      
 6 
     | 
    
         
            +
                # This is an object representing the details of a transaction on a Capital financing object.
         
     | 
| 
      
 7 
     | 
    
         
            +
                class FinancingTransaction < APIResource
         
     | 
| 
      
 8 
     | 
    
         
            +
                  extend Stripe::APIOperations::List
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  OBJECT_NAME = "capital.financing_transaction"
         
     | 
| 
      
 11 
     | 
    
         
            +
                  def self.object_name
         
     | 
| 
      
 12 
     | 
    
         
            +
                    "capital.financing_transaction"
         
     | 
| 
      
 13 
     | 
    
         
            +
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  # Returns a list of financing transactions. The transactions are returned in sorted order,
         
     | 
| 
      
 16 
     | 
    
         
            +
                  # with the most recent transactions appearing first.
         
     | 
| 
      
 17 
     | 
    
         
            +
                  def self.list(filters = {}, opts = {})
         
     | 
| 
      
 18 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 19 
     | 
    
         
            +
                      method: :get,
         
     | 
| 
      
 20 
     | 
    
         
            +
                      path: "/v1/capital/financing_transactions",
         
     | 
| 
      
 21 
     | 
    
         
            +
                      params: filters,
         
     | 
| 
      
 22 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 23 
     | 
    
         
            +
                    )
         
     | 
| 
      
 24 
     | 
    
         
            +
                  end
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
      
 26 
     | 
    
         
            +
              end
         
     | 
| 
      
 27 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -6,12 +6,15 @@ module Stripe 
     | 
|
| 
       6 
6 
     | 
    
         
             
                # A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
         
     | 
| 
       7 
7 
     | 
    
         
             
                class Account < APIResource
         
     | 
| 
       8 
8 
     | 
    
         
             
                  extend Stripe::APIOperations::List
         
     | 
| 
      
 9 
     | 
    
         
            +
                  extend Stripe::APIOperations::NestedResource
         
     | 
| 
       9 
10 
     | 
    
         | 
| 
       10 
11 
     | 
    
         
             
                  OBJECT_NAME = "financial_connections.account"
         
     | 
| 
       11 
12 
     | 
    
         
             
                  def self.object_name
         
     | 
| 
       12 
13 
     | 
    
         
             
                    "financial_connections.account"
         
     | 
| 
       13 
14 
     | 
    
         
             
                  end
         
     | 
| 
       14 
15 
     | 
    
         | 
| 
      
 16 
     | 
    
         
            +
                  nested_resource_class_methods :inferred_balance, operations: %i[list]
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
       15 
18 
     | 
    
         
             
                  # Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).
         
     | 
| 
       16 
19 
     | 
    
         
             
                  def disconnect(params = {}, opts = {})
         
     | 
| 
       17 
20 
     | 
    
         
             
                    request_stripe_object(
         
     | 
| 
         @@ -0,0 +1,14 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # File generated from our OpenAPI spec
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Stripe
         
     | 
| 
      
 5 
     | 
    
         
            +
              module FinancialConnections
         
     | 
| 
      
 6 
     | 
    
         
            +
                # A historical balance for the account on a particular day. It may be sourced from a balance snapshot provided by a financial institution, or inferred using transactions data.
         
     | 
| 
      
 7 
     | 
    
         
            +
                class AccountInferredBalance < APIResource
         
     | 
| 
      
 8 
     | 
    
         
            +
                  OBJECT_NAME = "financial_connections.account_inferred_balance"
         
     | 
| 
      
 9 
     | 
    
         
            +
                  def self.object_name
         
     | 
| 
      
 10 
     | 
    
         
            +
                    "financial_connections.account_inferred_balance"
         
     | 
| 
      
 11 
     | 
    
         
            +
                  end
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # File generated from our OpenAPI spec
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Stripe
         
     | 
| 
      
 5 
     | 
    
         
            +
              module FinancialConnections
         
     | 
| 
      
 6 
     | 
    
         
            +
                # An institution represents a financial institution to which an end user can connect using the Financial Connections authentication flow.
         
     | 
| 
      
 7 
     | 
    
         
            +
                class Institution < APIResource
         
     | 
| 
      
 8 
     | 
    
         
            +
                  extend Stripe::APIOperations::List
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  OBJECT_NAME = "financial_connections.institution"
         
     | 
| 
      
 11 
     | 
    
         
            +
                  def self.object_name
         
     | 
| 
      
 12 
     | 
    
         
            +
                    "financial_connections.institution"
         
     | 
| 
      
 13 
     | 
    
         
            +
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  # Returns a list of Financial Connections Institution objects.
         
     | 
| 
      
 16 
     | 
    
         
            +
                  def self.list(filters = {}, opts = {})
         
     | 
| 
      
 17 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 18 
     | 
    
         
            +
                      method: :get,
         
     | 
| 
      
 19 
     | 
    
         
            +
                      path: "/v1/financial_connections/institutions",
         
     | 
| 
      
 20 
     | 
    
         
            +
                      params: filters,
         
     | 
| 
      
 21 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 22 
     | 
    
         
            +
                    )
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,59 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # File generated from our OpenAPI spec
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Stripe
         
     | 
| 
      
 5 
     | 
    
         
            +
              module GiftCards
         
     | 
| 
      
 6 
     | 
    
         
            +
                # A gift card represents a single gift card owned by a customer, including the
         
     | 
| 
      
 7 
     | 
    
         
            +
                # remaining balance, gift card code, and whether or not it is active.
         
     | 
| 
      
 8 
     | 
    
         
            +
                class Card < APIResource
         
     | 
| 
      
 9 
     | 
    
         
            +
                  extend Stripe::APIOperations::Create
         
     | 
| 
      
 10 
     | 
    
         
            +
                  extend Stripe::APIOperations::List
         
     | 
| 
      
 11 
     | 
    
         
            +
                  include Stripe::APIOperations::Save
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                  OBJECT_NAME = "gift_cards.card"
         
     | 
| 
      
 14 
     | 
    
         
            +
                  def self.object_name
         
     | 
| 
      
 15 
     | 
    
         
            +
                    "gift_cards.card"
         
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  # Creates a new gift card object.
         
     | 
| 
      
 19 
     | 
    
         
            +
                  def self.create(params = {}, opts = {})
         
     | 
| 
      
 20 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 21 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 22 
     | 
    
         
            +
                      path: "/v1/gift_cards/cards",
         
     | 
| 
      
 23 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 24 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 25 
     | 
    
         
            +
                    )
         
     | 
| 
      
 26 
     | 
    
         
            +
                  end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                  # List gift cards for an account
         
     | 
| 
      
 29 
     | 
    
         
            +
                  def self.list(filters = {}, opts = {})
         
     | 
| 
      
 30 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 31 
     | 
    
         
            +
                      method: :get,
         
     | 
| 
      
 32 
     | 
    
         
            +
                      path: "/v1/gift_cards/cards",
         
     | 
| 
      
 33 
     | 
    
         
            +
                      params: filters,
         
     | 
| 
      
 34 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 35 
     | 
    
         
            +
                    )
         
     | 
| 
      
 36 
     | 
    
         
            +
                  end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                  # Update a gift card
         
     | 
| 
      
 39 
     | 
    
         
            +
                  def self.update(id, params = {}, opts = {})
         
     | 
| 
      
 40 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 41 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 42 
     | 
    
         
            +
                      path: format("/v1/gift_cards/cards/%<id>s", { id: CGI.escape(id) }),
         
     | 
| 
      
 43 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 44 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 45 
     | 
    
         
            +
                    )
         
     | 
| 
      
 46 
     | 
    
         
            +
                  end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  # Validates a gift card code, returning the matching gift card object if it exists.
         
     | 
| 
      
 49 
     | 
    
         
            +
                  def self.validate(params = {}, opts = {})
         
     | 
| 
      
 50 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 51 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 52 
     | 
    
         
            +
                      path: "/v1/gift_cards/cards/validate",
         
     | 
| 
      
 53 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 54 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 55 
     | 
    
         
            +
                    )
         
     | 
| 
      
 56 
     | 
    
         
            +
                  end
         
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
              end
         
     | 
| 
      
 59 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,93 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # File generated from our OpenAPI spec
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Stripe
         
     | 
| 
      
 5 
     | 
    
         
            +
              module GiftCards
         
     | 
| 
      
 6 
     | 
    
         
            +
                # A gift card transaction represents a single transaction on a referenced gift card.
         
     | 
| 
      
 7 
     | 
    
         
            +
                # A transaction is in one of three states, `confirmed`, `held` or `canceled`. A `confirmed`
         
     | 
| 
      
 8 
     | 
    
         
            +
                # transaction is one that has added/deducted funds. A `held` transaction has created a
         
     | 
| 
      
 9 
     | 
    
         
            +
                # temporary hold on funds, which can then be cancelled or confirmed. A `held` transaction
         
     | 
| 
      
 10 
     | 
    
         
            +
                # can be confirmed into a `confirmed` transaction, or canceled into a `canceled` transaction.
         
     | 
| 
      
 11 
     | 
    
         
            +
                # A `canceled` transaction has no effect on a gift card's balance.
         
     | 
| 
      
 12 
     | 
    
         
            +
                class Transaction < APIResource
         
     | 
| 
      
 13 
     | 
    
         
            +
                  extend Stripe::APIOperations::Create
         
     | 
| 
      
 14 
     | 
    
         
            +
                  extend Stripe::APIOperations::List
         
     | 
| 
      
 15 
     | 
    
         
            +
                  include Stripe::APIOperations::Save
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                  OBJECT_NAME = "gift_cards.transaction"
         
     | 
| 
      
 18 
     | 
    
         
            +
                  def self.object_name
         
     | 
| 
      
 19 
     | 
    
         
            +
                    "gift_cards.transaction"
         
     | 
| 
      
 20 
     | 
    
         
            +
                  end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                  # Cancel a gift card transaction
         
     | 
| 
      
 23 
     | 
    
         
            +
                  def cancel(params = {}, opts = {})
         
     | 
| 
      
 24 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 25 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 26 
     | 
    
         
            +
                      path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
         
     | 
| 
      
 27 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 28 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 29 
     | 
    
         
            +
                    )
         
     | 
| 
      
 30 
     | 
    
         
            +
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                  # Cancel a gift card transaction
         
     | 
| 
      
 33 
     | 
    
         
            +
                  def self.cancel(id, params = {}, opts = {})
         
     | 
| 
      
 34 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 35 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 36 
     | 
    
         
            +
                      path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(id) }),
         
     | 
| 
      
 37 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 38 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 39 
     | 
    
         
            +
                    )
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  # Confirm a gift card transaction
         
     | 
| 
      
 43 
     | 
    
         
            +
                  def confirm(params = {}, opts = {})
         
     | 
| 
      
 44 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 45 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 46 
     | 
    
         
            +
                      path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(self["id"]) }),
         
     | 
| 
      
 47 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 48 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 49 
     | 
    
         
            +
                    )
         
     | 
| 
      
 50 
     | 
    
         
            +
                  end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                  # Confirm a gift card transaction
         
     | 
| 
      
 53 
     | 
    
         
            +
                  def self.confirm(id, params = {}, opts = {})
         
     | 
| 
      
 54 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 55 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 56 
     | 
    
         
            +
                      path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(id) }),
         
     | 
| 
      
 57 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 58 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 59 
     | 
    
         
            +
                    )
         
     | 
| 
      
 60 
     | 
    
         
            +
                  end
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                  # Create a gift card transaction
         
     | 
| 
      
 63 
     | 
    
         
            +
                  def self.create(params = {}, opts = {})
         
     | 
| 
      
 64 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 65 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 66 
     | 
    
         
            +
                      path: "/v1/gift_cards/transactions",
         
     | 
| 
      
 67 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 68 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 69 
     | 
    
         
            +
                    )
         
     | 
| 
      
 70 
     | 
    
         
            +
                  end
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                  # List gift card transactions for a gift card
         
     | 
| 
      
 73 
     | 
    
         
            +
                  def self.list(filters = {}, opts = {})
         
     | 
| 
      
 74 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 75 
     | 
    
         
            +
                      method: :get,
         
     | 
| 
      
 76 
     | 
    
         
            +
                      path: "/v1/gift_cards/transactions",
         
     | 
| 
      
 77 
     | 
    
         
            +
                      params: filters,
         
     | 
| 
      
 78 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 79 
     | 
    
         
            +
                    )
         
     | 
| 
      
 80 
     | 
    
         
            +
                  end
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
                  # Update a gift card transaction
         
     | 
| 
      
 83 
     | 
    
         
            +
                  def self.update(id, params = {}, opts = {})
         
     | 
| 
      
 84 
     | 
    
         
            +
                    request_stripe_object(
         
     | 
| 
      
 85 
     | 
    
         
            +
                      method: :post,
         
     | 
| 
      
 86 
     | 
    
         
            +
                      path: format("/v1/gift_cards/transactions/%<id>s", { id: CGI.escape(id) }),
         
     | 
| 
      
 87 
     | 
    
         
            +
                      params: params,
         
     | 
| 
      
 88 
     | 
    
         
            +
                      opts: opts
         
     | 
| 
      
 89 
     | 
    
         
            +
                    )
         
     | 
| 
      
 90 
     | 
    
         
            +
                  end
         
     | 
| 
      
 91 
     | 
    
         
            +
                end
         
     | 
| 
      
 92 
     | 
    
         
            +
              end
         
     | 
| 
      
 93 
     | 
    
         
            +
            end
         
     |