Repository: stripe/stripe-node
Pull request #1785 (2023-05-04 19:26:39)

Update generated code
Codegen for openapi v338.

## Changelog
* Add support for `paypal` on `Charge.payment_method_details`, `CheckoutSessionCreateParams.payment_method_options`, `Mandate.payment_method_details`, `PaymentIntent.payment_method_options`, `PaymentIntentConfirmParams.payment_method_data`, `PaymentIntentConfirmParams.payment_method_options`, `PaymentIntentCreateParams.payment_method_data`, `PaymentIntentCreateParams.payment_method_options`, `PaymentIntentUpdateParams.payment_method_data`, `PaymentIntentUpdateParams.payment_method_options`, `PaymentMethodCreateParams`, `PaymentMethod`, `SetupAttempt.payment_method_details`, `SetupIntent.payment_method_options`, `SetupIntentConfirmParams.payment_method_data`, `SetupIntentConfirmParams.payment_method_options`, `SetupIntentCreateParams.payment_method_data`, `SetupIntentCreateParams.payment_method_options`, `SetupIntentUpdateParams.payment_method_data`, and `SetupIntentUpdateParams.payment_method_options`
* Add support for `network_token` on `Charge.payment_method_details.card`
* Add support for new value `paypal` on enums `CheckoutSessionCreateParams.payment_method_types[]` and `PaymentMethodCreateParams.type`
* Add support for `taxability_reason` and `taxable_amount` on `Checkout.Session.shipping_cost.taxes[]`, `Checkout.Session.total_details.breakdown.taxes[]`, `CreditNote.shipping_cost.taxes[]`, `CreditNote.tax_amounts[]`, `Invoice.shipping_cost.taxes[]`, `Invoice.total_tax_amounts[]`, `LineItem.taxes[]`, `Quote.computed.recurring.total_details.breakdown.taxes[]`, `Quote.computed.upfront.total_details.breakdown.taxes[]`, and `Quote.total_details.breakdown.taxes[]`
* Add support for new value `paypal` on enums `CustomerListPaymentMethodsParams.type` and `PaymentMethodListParams.type`
* Add support for new value `paypal` on enums `Invoice.payment_settings.payment_method_types[]`, `InvoiceCreateParams.payment_settings.payment_method_types[]`, `InvoiceUpdateParams.payment_settings.payment_method_types[]`, `Subscription.payment_settings.payment_method_types[]`, `SubscriptionCreateParams.payment_settings.payment_method_types[]`, and `SubscriptionUpdateParams.payment_settings.payment_method_types[]`
* Add support for new value `paypal` on enums `PaymentIntentConfirmParams.payment_method_data.type`, `PaymentIntentCreateParams.payment_method_data.type`, `PaymentIntentUpdateParams.payment_method_data.type`, `SetupIntentConfirmParams.payment_method_data.type`, `SetupIntentCreateParams.payment_method_data.type`, and `SetupIntentUpdateParams.payment_method_data.type`
* Add support for new value `eftpos_au` on enums `PaymentIntent.payment_method_options.card.network`, `PaymentIntentConfirmParams.payment_method_options.card.network`, `PaymentIntentCreateParams.payment_method_options.card.network`, `PaymentIntentUpdateParams.payment_method_options.card.network`, `SetupIntent.payment_method_options.card.network`, `SetupIntentConfirmParams.payment_method_options.card.network`, `SetupIntentCreateParams.payment_method_options.card.network`, `SetupIntentUpdateParams.payment_method_options.card.network`, `Subscription.payment_settings.payment_method_options.card.network`, `SubscriptionCreateParams.payment_settings.payment_method_options.card.network`, and `SubscriptionUpdateParams.payment_settings.payment_method_options.card.network`
* Add support for new value `paypal` on enums `PaymentLink.payment_method_types[]`, `PaymentLinkCreateParams.payment_method_types[]`, and `PaymentLinkUpdateParams.payment_method_types[]`
* Add support for `brand`, `cardholder_name`, `country`, `exp_month`, `exp_year`, `fingerprint`, `funding`, `last4`, `networks`, and `read_method` on `PaymentMethod.card_present` and `PaymentMethod.interac_present`
* Add support for `preferred_locales` on `PaymentMethod.interac_present`
* Add support for new value `paypal` on enum `PaymentMethod.type`
* Add support for `effective_percentage` on `TaxRate`
* Add support for `gb_bank_transfer` and `jp_bank_transfer` on `CustomerCashBalanceTransaction.Funded.BankTransfer`



Patch:
diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index 5abf22f9..39d1ab84 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1,1 +1,1 @@
-v321
\ No newline at end of file
+v338
\ No newline at end of file
diff --git a/types/AccountsResource.d.ts b/types/AccountsResource.d.ts
index 90972522..6557828f 100644
--- a/types/AccountsResource.d.ts
+++ b/types/AccountsResource.d.ts
@@ -1168,7 +1168,7 @@ declare module 'stripe' {
         namespace Payouts {
           interface Schedule {
             /**
-             * The number of days charge funds are held before being paid out. May also be set to `minimum`, representing the lowest available value for the account country. Default is `minimum`. The `delay_days` parameter does not apply when the `interval` is `manual`.
+             * The number of days charge funds are held before being paid out. May also be set to `minimum`, representing the lowest available value for the account country. Default is `minimum`. The `delay_days` parameter does not apply when the `interval` is `manual`. [Learn more about controlling payout delay days](https://stripe.com/docs/connect/manage-payout-schedule).
              */
             delay_days?: 'minimum' | number;
 
@@ -2380,7 +2380,7 @@ declare module 'stripe' {
         namespace Payouts {
           interface Schedule {
             /**
-             * The number of days charge funds are held before being paid out. May also be set to `minimum`, representing the lowest available value for the account country. Default is `minimum`. The `delay_days` parameter does not apply when the `interval` is `manual`.
+             * The number of days charge funds are held before being paid out. May also be set to `minimum`, representing the lowest available value for the account country. Default is `minimum`. The `delay_days` parameter does not apply when the `interval` is `manual`. [Learn more about controlling payout delay days](https://stripe.com/docs/connect/manage-payout-schedule).
              */
             delay_days?: 'minimum' | number;
 
diff --git a/types/Charges.d.ts b/types/Charges.d.ts
index d04a13e7..b49281f9 100644
--- a/types/Charges.d.ts
+++ b/types/Charges.d.ts
@@ -447,6 +447,8 @@ declare module 'stripe' {
 
         paynow?: PaymentMethodDetails.Paynow;
 
+        paypal?: PaymentMethodDetails.Paypal;
+
         pix?: PaymentMethodDetails.Pix;
 
         promptpay?: PaymentMethodDetails.Promptpay;
@@ -771,6 +773,11 @@ declare module 'stripe' {
            */
           network: string | null;
 
+          /**
+           * If this card has network token credentials, this contains the details of the network token credentials.
+           */
+          network_token?: Card.NetworkToken | null;
+
           /**
            * Populated if this transaction used 3D Secure authentication.
            */
@@ -827,6 +834,13 @@ declare module 'stripe' {
             }
           }
 
+          interface NetworkToken {
+            /**
+             * Indicates if Stripe used a network token, either user provided or Stripe managed when processing the transaction.
+             */
+            used: boolean;
+          }
+
           interface ThreeDSecure {
             /**
              * For authenticated transactions: how the customer was authenticated by
@@ -1585,6 +1599,55 @@ declare module 'stripe' {
           reference: string | null;
         }
 
+        interface Paypal {
+          /**
+           * Owner's email. Values are provided by PayPal directly
+           * (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+           */
+          payer_email?: string | null;
+
+          /**
+           * PayPal account PayerID. This identifier uniquely identifies the PayPal customer.
+           */
+          payer_id?: string | null;
+
+          /**
+           * Owner's full name. Values provided by PayPal directly
+           * (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+           */
+          payer_name?: string | null;
+
+          /**
+           * The level of protection offered as defined by PayPal Seller Protection for Merchants, for this transaction.
+           */
+          seller_protection?: Paypal.SellerProtection | null;
+
+          /**
+           * A unique ID generated by PayPal for this transaction.
+           */
+          transaction_id?: string | null;
+        }
+
+        namespace Paypal {
+          interface SellerProtection {
+            /**
+             * An array of conditions that are covered for the transaction, if applicable.
+             */
+            dispute_categories: Array<SellerProtection.DisputeCategory> | null;
+
+            /**
+             * Indicates whether the transaction is eligible for PayPal's seller protection.
+             */
+            status: SellerProtection.Status;
+          }
+
+          namespace SellerProtection {
+            type DisputeCategory = 'fraudulent' | 'product_not_received';
+
+            type Status = 'eligible' | 'not_eligible' | 'partially_eligible';
+          }
+        }
+
         interface Pix {
           /**
            * Unique transaction id generated by BCB
diff --git a/types/Checkout/Sessions.d.ts b/types/Checkout/Sessions.d.ts
index 2fb73ac2..aa1d9895 100644
--- a/types/Checkout/Sessions.d.ts
+++ b/types/Checkout/Sessions.d.ts
@@ -1555,6 +1555,38 @@ declare module 'stripe' {
              * Related guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates).
              */
             rate: Stripe.TaxRate;
+
+            /**
+             * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+             */
+            taxability_reason: Tax.TaxabilityReason | null;
+
+            /**
+             * The amount on which tax is calculated, in %s.
+             */
+            taxable_amount: number | null;
+          }
+
+          namespace Tax {
+            type TaxabilityReason =
+              | 'customer_exempt'
+              | 'excluded_territory'
+              | 'jurisdiction_unsupported'
+              | 'not_collecting'
+              | 'not_subject_to_tax'
+              | 'not_supported'
+              | 'portion_product_exempt'
+              | 'portion_reduced_rated'
+              | 'portion_standard_rated'
+              | 'product_exempt'
+              | 'product_exempt_holiday'
+              | 'proportionally_rated'
+              | 'reduced_rated'
+              | 'reverse_charge'
+              | 'standard_rated'
+              | 'taxable_basis_reduced'
+              | 'vat_exempt'
+              | 'zero_rated';
           }
         }
 
@@ -1665,6 +1697,38 @@ declare module 'stripe' {
                * Related guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates).
                */
               rate: Stripe.TaxRate;
+
+              /**
+               * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+               */
+              taxability_reason: Tax.TaxabilityReason | null;
+
+              /**
+               * The amount on which tax is calculated, in %s.
+               */
+              taxable_amount: number | null;
+            }
+
+            namespace Tax {
+              type TaxabilityReason =
+                | 'customer_exempt'
+                | 'excluded_territory'
+                | 'jurisdiction_unsupported'
+                | 'not_collecting'
+                | 'not_subject_to_tax'
+                | 'not_supported'
+                | 'portion_product_exempt'
+                | 'portion_reduced_rated'
+                | 'portion_standard_rated'
+                | 'product_exempt'
+                | 'product_exempt_holiday'
+                | 'proportionally_rated'
+                | 'reduced_rated'
+                | 'reverse_charge'
+                | 'standard_rated'
+                | 'taxable_basis_reduced'
+                | 'vat_exempt'
+                | 'zero_rated';
             }
           }
         }
diff --git a/types/Checkout/SessionsResource.d.ts b/types/Checkout/SessionsResource.d.ts
index 813fbc47..c8a8fdc0 100644
--- a/types/Checkout/SessionsResource.d.ts
+++ b/types/Checkout/SessionsResource.d.ts
@@ -920,6 +920,11 @@ declare module 'stripe' {
            */
           paynow?: PaymentMethodOptions.Paynow;
 
+          /**
+           * contains details about the PayPal payment method options.
+           */
+          paypal?: PaymentMethodOptions.Paypal;
+
           /**
            * contains details about the Pix payment method options.
            */
@@ -1367,6 +1372,66 @@ declare module 'stripe' {
             setup_future_usage?: 'none';
           }
 
+          interface Paypal {
+            /**
+             * Controls when the funds will be captured from the customer's account.
+             */
+            capture_method?: Stripe.Emptyable<'manual'>;
+
+            /**
+             * [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
+             */
+            preferred_locale?: Paypal.PreferredLocale;
+
+            /**
+             * A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
+             */
+            reference?: string;
+
+            /**
+             * The risk correlation ID for an on-session payment using a saved PayPal payment method.
+             */
+            risk_correlation_id?: string;
+
+            /**
+             * Indicates that you intend to make future payments with this PaymentIntent's payment method.
+             *
+             * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+             *
+             * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+             *
+             * If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
+             */
+            setup_future_usage?: Stripe.Emptyable<Paypal.SetupFutureUsage>;
+          }
+
+          namespace Paypal {
+            type PreferredLocale =
+              | 'cs-CZ'
+              | 'da-DK'
+              | 'de-AT'
+              | 'de-DE'
+              | 'de-LU'
+              | 'el-GR'
+              | 'en-GB'
+              | 'en-US'
+              | 'es-ES'
+              | 'fi-FI'
+              | 'fr-BE'
+              | 'fr-FR'
+              | 'fr-LU'
+              | 'hu-HU'
+              | 'it-IT'
+              | 'nl-BE'
+              | 'nl-NL'
+              | 'pl-PL'
+              | 'pt-PT'
+              | 'sk-SK'
+              | 'sv-SE';
+
+            type SetupFutureUsage = 'none' | 'off_session';
+          }
+
           interface Pix {
             /**
              * The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
@@ -1492,6 +1557,7 @@ declare module 'stripe' {
           | 'oxxo'
           | 'p24'
           | 'paynow'
+          | 'paypal'
           | 'pix'
           | 'promptpay'
           | 'sepa_debit'
diff --git a/types/CreditNoteLineItems.d.ts b/types/CreditNoteLineItems.d.ts
index 2055f827..c994f821 100644
--- a/types/CreditNoteLineItems.d.ts
+++ b/types/CreditNoteLineItems.d.ts
@@ -115,6 +115,35 @@ declare module 'stripe' {
          * The tax rate that was applied to get this tax amount.
          */
         tax_rate: string | Stripe.TaxRate;
+
+        /**
+         * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+         */
+        taxability_reason: TaxAmount.TaxabilityReason | null;
+
+        /**
+         * The amount on which tax is calculated, in %s.
+         */
+        taxable_amount: number | null;
+      }
+
+      namespace TaxAmount {
+        type TaxabilityReason =
+          | 'customer_exempt'
+          | 'not_collecting'
+          | 'not_subject_to_tax'
+          | 'not_supported'
+          | 'portion_product_exempt'
+          | 'portion_reduced_rated'
+          | 'portion_standard_rated'
+          | 'product_exempt'
+          | 'product_exempt_holiday'
+          | 'proportionally_rated'
+          | 'reduced_rated'
+          | 'reverse_charge'
+          | 'standard_rated'
+          | 'taxable_basis_reduced'
+          | 'zero_rated';
       }
 
       type Type = 'custom_line_item' | 'invoice_line_item';
diff --git a/types/CreditNotes.d.ts b/types/CreditNotes.d.ts
index f3ec7245..53ffe129 100644
--- a/types/CreditNotes.d.ts
+++ b/types/CreditNotes.d.ts
@@ -216,6 +216,38 @@ declare module 'stripe' {
            * Related guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates).
            */
           rate: Stripe.TaxRate;
+
+          /**
+           * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+           */
+          taxability_reason: Tax.TaxabilityReason | null;
+
+          /**
+           * The amount on which tax is calculated, in %s.
+           */
+          taxable_amount: number | null;
+        }
+
+        namespace Tax {
+          type TaxabilityReason =
+            | 'customer_exempt'
+            | 'excluded_territory'
+            | 'jurisdiction_unsupported'
+            | 'not_collecting'
+            | 'not_subject_to_tax'
+            | 'not_supported'
+            | 'portion_product_exempt'
+            | 'portion_reduced_rated'
+            | 'portion_standard_rated'
+            | 'product_exempt'
+            | 'product_exempt_holiday'
+            | 'proportionally_rated'
+            | 'reduced_rated'
+            | 'reverse_charge'
+            | 'standard_rated'
+            | 'taxable_basis_reduced'
+            | 'vat_exempt'
+            | 'zero_rated';
         }
       }
 
@@ -236,6 +268,35 @@ declare module 'stripe' {
          * The tax rate that was applied to get this tax amount.
          */
         tax_rate: string | Stripe.TaxRate;
+
+        /**
+         * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+         */
+        taxability_reason: TaxAmount.TaxabilityReason | null;
+
+        /**
+         * The amount on which tax is calculated, in %s.
+         */
+        taxable_amount: number | null;
+      }
+
+      namespace TaxAmount {
+        type TaxabilityReason =
+          | 'customer_exempt'
+          | 'not_collecting'
+          | 'not_subject_to_tax'
+          | 'not_supported'
+          | 'portion_product_exempt'
+          | 'portion_reduced_rated'
+          | 'portion_standard_rated'
+          | 'product_exempt'
+          | 'product_exempt_holiday'
+          | 'proportionally_rated'
+          | 'reduced_rated'
+          | 'reverse_charge'
+          | 'standard_rated'
+          | 'taxable_basis_reduced'
+          | 'zero_rated';
       }
 
       type Type = 'post_payment' | 'pre_payment';
diff --git a/types/CustomerCashBalanceTransactions.d.ts b/types/CustomerCashBalanceTransactions.d.ts
index 02b1d8b7..8a3cc278 100644
--- a/types/CustomerCashBalanceTransactions.d.ts
+++ b/types/CustomerCashBalanceTransactions.d.ts
@@ -79,6 +79,10 @@ declare module 'stripe' {
         interface BankTransfer {
           eu_bank_transfer?: BankTransfer.EuBankTransfer;
 
+          gb_bank_transfer?: BankTransfer.GbBankTransfer;
+
+          jp_bank_transfer?: BankTransfer.JpBankTransfer;
+
           /**
            * The user-supplied reference field on the bank transfer.
            */
@@ -108,6 +112,40 @@ declare module 'stripe' {
             sender_name: string | null;
           }
 
+          interface GbBankTransfer {
+            /**
+             * The last 4 digits of the account number of the sender of the funding.
+             */
+            account_number_last4: string | null;
+
+            /**
+             * The full name of the sender, as supplied by the sending bank.
+             */
+            sender_name: string | null;
+
+            /**
+             * The sort code of the bank of the sender of the funding
+             */
+            sort_code: string | null;
+          }
+
+          interface JpBankTransfer {
+            /**
+             * The name of the bank of the sender of the funding.
+             */
+            sender_bank: string | null;
+
+            /**
+             * The name of the bank branch of the sender of the funding.
+             */
+            sender_branch: string | null;
+
+            /**
+             * The full name of the sender, as supplied by the sending bank.
+             */
+            sender_name: string | null;
+          }
+
           type Type =
             | 'eu_bank_transfer'
             | 'gb_bank_transfer'
diff --git a/types/CustomersResource.d.ts b/types/CustomersResource.d.ts
index ccf478bf..a7ef79ba 100644
--- a/types/CustomersResource.d.ts
+++ b/types/CustomersResource.d.ts
@@ -727,6 +727,7 @@ declare module 'stripe' {
         | 'oxxo'
         | 'p24'
         | 'paynow'
+        | 'paypal'
         | 'pix'
         | 'promptpay'
         | 'sepa_debit'
diff --git a/types/InvoiceLineItems.d.ts b/types/InvoiceLineItems.d.ts
index 1d0dc653..44de5ed9 100644
--- a/types/InvoiceLineItems.d.ts
+++ b/types/InvoiceLineItems.d.ts
@@ -185,6 +185,35 @@ declare module 'stripe' {
          * The tax rate that was applied to get this tax amount.
          */
         tax_rate: string | Stripe.TaxRate;
+
+        /**
+         * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+         */
+        taxability_reason: TaxAmount.TaxabilityReason | null;
+
+        /**
+         * The amount on which tax is calculated, in %s.
+         */
+        taxable_amount: number | null;
+      }
+
+      namespace TaxAmount {
+        type TaxabilityReason =
+          | 'customer_exempt'
+          | 'not_collecting'
+          | 'not_subject_to_tax'
+          | 'not_supported'
+          | 'portion_product_exempt'
+          | 'portion_reduced_rated'
+          | 'portion_standard_rated'
+          | 'product_exempt'
+          | 'product_exempt_holiday'
+          | 'proportionally_rated'
+          | 'reduced_rated'
+          | 'reverse_charge'
+          | 'standard_rated'
+          | 'taxable_basis_reduced'
+          | 'zero_rated';
       }
 
       type Type = 'invoiceitem' | 'subscription';
diff --git a/types/Invoices.d.ts b/types/Invoices.d.ts
index 2b52c385..70d18817 100644
--- a/types/Invoices.d.ts
+++ b/types/Invoices.d.ts
@@ -870,6 +870,7 @@ declare module 'stripe' {
           | 'konbini'
           | 'link'
           | 'paynow'
+          | 'paypal'
           | 'promptpay'
           | 'sepa_credit_transfer'
           | 'sepa_debit'
@@ -925,6 +926,38 @@ declare module 'stripe' {
            * Related guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates).
            */
           rate: Stripe.TaxRate;
+
+          /**
+           * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+           */
+          taxability_reason: Tax.TaxabilityReason | null;
+
+          /**
+           * The amount on which tax is calculated, in %s.
+           */
+          taxable_amount: number | null;
+        }
+
+        namespace Tax {
+          type TaxabilityReason =
+            | 'customer_exempt'
+            | 'excluded_territory'
+            | 'jurisdiction_unsupported'
+            | 'not_collecting'
+            | 'not_subject_to_tax'
+            | 'not_supported'
+            | 'portion_product_exempt'
+            | 'portion_reduced_rated'
+            | 'portion_standard_rated'
+            | 'product_exempt'
+            | 'product_exempt_holiday'
+            | 'proportionally_rated'
+            | 'reduced_rated'
+            | 'reverse_charge'
+            | 'standard_rated'
+            | 'taxable_basis_reduced'
+            | 'vat_exempt'
+            | 'zero_rated';
         }
       }
 
@@ -1029,6 +1062,35 @@ declare module 'stripe' {
          * The tax rate that was applied to get this tax amount.
          */
         tax_rate: string | Stripe.TaxRate;
+
+        /**
+         * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+         */
+        taxability_reason: TotalTaxAmount.TaxabilityReason | null;
+
+        /**
+         * The amount on which tax is calculated, in %s.
+         */
+        taxable_amount: number | null;
+      }
+
+      namespace TotalTaxAmount {
+        type TaxabilityReason =
+          | 'customer_exempt'
+          | 'not_collecting'
+          | 'not_subject_to_tax'
+          | 'not_supported'
+          | 'portion_product_exempt'
+          | 'portion_reduced_rated'
+          | 'portion_standard_rated'
+          | 'product_exempt'
+          | 'product_exempt_holiday'
+          | 'proportionally_rated'
+          | 'reduced_rated'
+          | 'reverse_charge'
+          | 'standard_rated'
+          | 'taxable_basis_reduced'
+          | 'zero_rated';
       }
 
       interface TransferData {
diff --git a/types/InvoicesResource.d.ts b/types/InvoicesResource.d.ts
index f587562b..dc4e354f 100644
--- a/types/InvoicesResource.d.ts
+++ b/types/InvoicesResource.d.ts
@@ -425,6 +425,7 @@ declare module 'stripe' {
           | 'konbini'
           | 'link'
           | 'paynow'
+          | 'paypal'
           | 'promptpay'
           | 'sepa_credit_transfer'
           | 'sepa_debit'
@@ -1012,6 +1013,7 @@ declare module 'stripe' {
           | 'konbini'
           | 'link'
           | 'paynow'
+          | 'paypal'
           | 'promptpay'
           | 'sepa_credit_transfer'
           | 'sepa_debit'
diff --git a/types/LineItems.d.ts b/types/LineItems.d.ts
index 9c88c9a8..01ed6cc4 100644
--- a/types/LineItems.d.ts
+++ b/types/LineItems.d.ts
@@ -95,6 +95,38 @@ declare module 'stripe' {
          * Related guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates).
          */
         rate: Stripe.TaxRate;
+
+        /**
+         * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+         */
+        taxability_reason: Tax.TaxabilityReason | null;
+
+        /**
+         * The amount on which tax is calculated, in %s.
+         */
+        taxable_amount: number | null;
+      }
+
+      namespace Tax {
+        type TaxabilityReason =
+          | 'customer_exempt'
+          | 'excluded_territory'
+          | 'jurisdiction_unsupported'
+          | 'not_collecting'
+          | 'not_subject_to_tax'
+          | 'not_supported'
+          | 'portion_product_exempt'
+          | 'portion_reduced_rated'
+          | 'portion_standard_rated'
+          | 'product_exempt'
+          | 'product_exempt_holiday'
+          | 'proportionally_rated'
+          | 'reduced_rated'
+          | 'reverse_charge'
+          | 'standard_rated'
+          | 'taxable_basis_reduced'
+          | 'vat_exempt'
+          | 'zero_rated';
       }
     }
   }
diff --git a/types/Mandates.d.ts b/types/Mandates.d.ts
index 39f90cec..eb210de8 100644
--- a/types/Mandates.d.ts
+++ b/types/Mandates.d.ts
@@ -97,6 +97,8 @@ declare module 'stripe' {
 
         link?: PaymentMethodDetails.Link;
 
+        paypal?: PaymentMethodDetails.Paypal;
+
         sepa_debit?: PaymentMethodDetails.SepaDebit;
 
         /**
@@ -216,6 +218,18 @@ declare module 'stripe' {
 
         interface Link {}
 
+        interface Paypal {
+          /**
+           * The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer.
+           */
+          billing_agreement_id: string | null;
+
+          /**
+           * PayPal account PayerID. This identifier uniquely identifies the PayPal customer.
+           */
+          payer_id?: string | null;
+        }
+
         interface SepaDebit {
           /**
            * The unique reference of the mandate.
diff --git a/types/PaymentIntents.d.ts b/types/PaymentIntents.d.ts
index af42386a..baeb5474 100644
--- a/types/PaymentIntents.d.ts
+++ b/types/PaymentIntents.d.ts
@@ -1003,6 +1003,8 @@ declare module 'stripe' {
 
         paynow?: PaymentMethodOptions.Paynow;
 
+        paypal?: PaymentMethodOptions.Paypal;
+
         pix?: PaymentMethodOptions.Pix;
 
         promptpay?: PaymentMethodOptions.Promptpay;
@@ -1363,6 +1365,7 @@ declare module 'stripe' {
             | 'cartes_bancaires'
             | 'diners'
             | 'discover'
+            | 'eftpos_au'
             | 'interac'
             | 'jcb'
             | 'mastercard'
@@ -1645,6 +1648,36 @@ declare module 'stripe' {
           setup_future_usage?: 'none';
         }
 
+        interface Paypal {
+          /**
+           * Controls when the funds will be captured from the customer's account.
+           */
+          capture_method?: 'manual';
+
+          /**
+           * Preferred locale of the PayPal checkout page that the customer is redirected to.
+           */
+          preferred_locale: string | null;
+
+          /**
+           * A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
+           */
+          reference?: string | null;
+
+          /**
+           * Indicates that you intend to make future payments with this PaymentIntent's payment method.
+           *
+           * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+           *
+           * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+           */
+          setup_future_usage?: Paypal.SetupFutureUsage;
+        }
+
+        namespace Paypal {
+          type SetupFutureUsage = 'none' | 'off_session';
+        }
+
         interface Pix {
           /**
            * The number of seconds (between 10 and 1209600) after which Pix payment will expire.
diff --git a/types/PaymentIntentsResource.d.ts b/types/PaymentIntentsResource.d.ts
index bc8bbcea..a3161916 100644
--- a/types/PaymentIntentsResource.d.ts
+++ b/types/PaymentIntentsResource.d.ts
@@ -159,7 +159,7 @@ declare module 'stripe' {
       transfer_group?: string;
 
       /**
-       * Set to `true` only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.
+       * Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.
        */
       use_stripe_sdk?: boolean;
     }
@@ -353,6 +353,11 @@ declare module 'stripe' {
          */
         paynow?: PaymentMethodData.Paynow;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
+         */
+        paypal?: PaymentMethodData.Paypal;
+
         /**
          * If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
          */
@@ -659,6 +664,8 @@ declare module 'stripe' {
 
         interface Paynow {}
 
+        interface Paypal {}
+
         interface Pix {}
 
         interface Promptpay {}
@@ -711,6 +718,7 @@ declare module 'stripe' {
           | 'oxxo'
           | 'p24'
           | 'paynow'
+          | 'paypal'
           | 'pix'
           | 'promptpay'
           | 'sepa_debit'
@@ -884,6 +892,11 @@ declare module 'stripe' {
          */
         paynow?: Stripe.Emptyable<PaymentMethodOptions.Paynow>;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
+         */
+        paypal?: Stripe.Emptyable<PaymentMethodOptions.Paypal>;
+
         /**
          * If this is a `pix` PaymentMethod, this sub-hash contains details about the Pix payment method options.
          */
@@ -1294,6 +1307,7 @@ declare module 'stripe' {
             | 'cartes_bancaires'
             | 'diners'
             | 'discover'
+            | 'eftpos_au'
             | 'interac'
             | 'jcb'
             | 'mastercard'
@@ -1669,6 +1683,66 @@ declare module 'stripe' {
           setup_future_usage?: 'none';
         }
 
+        interface Paypal {
+          /**
+           * Controls when the funds will be captured from the customer's account.
+           */
+          capture_method?: Stripe.Emptyable<'manual'>;
+
+          /**
+           * [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
+           */
+          preferred_locale?: Paypal.PreferredLocale;
+
+          /**
+           * A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
+           */
+          reference?: string;
+
+          /**
+           * The risk correlation ID for an on-session payment using a saved PayPal payment method.
+           */
+          risk_correlation_id?: string;
+
+          /**
+           * Indicates that you intend to make future payments with this PaymentIntent's payment method.
+           *
+           * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+           *
+           * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+           *
+           * If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
+           */
+          setup_future_usage?: Stripe.Emptyable<Paypal.SetupFutureUsage>;
+        }
+
+        namespace Paypal {
+          type PreferredLocale =
+            | 'cs-CZ'
+            | 'da-DK'
+            | 'de-AT'
+            | 'de-DE'
+            | 'de-LU'
+            | 'el-GR'
+            | 'en-GB'
+            | 'en-US'
+            | 'es-ES'
+            | 'fi-FI'
+            | 'fr-BE'
+            | 'fr-FR'
+            | 'fr-LU'
+            | 'hu-HU'
+            | 'it-IT'
+            | 'nl-BE'
+            | 'nl-NL'
+            | 'pl-PL'
+            | 'pt-PT'
+            | 'sk-SK'
+            | 'sv-SE';
+
+          type SetupFutureUsage = 'none' | 'off_session';
+        }
+
         interface Pix {
           /**
            * The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
@@ -2163,6 +2237,11 @@ declare module 'stripe' {
          */
         paynow?: PaymentMethodData.Paynow;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
+         */
+        paypal?: PaymentMethodData.Paypal;
+
         /**
          * If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
          */
@@ -2469,6 +2548,8 @@ declare module 'stripe' {
 
         interface Paynow {}
 
+        interface Paypal {}
+
         interface Pix {}
 
         interface Promptpay {}
@@ -2521,6 +2602,7 @@ declare module 'stripe' {
           | 'oxxo'
           | 'p24'
           | 'paynow'
+          | 'paypal'
           | 'pix'
           | 'promptpay'
           | 'sepa_debit'
@@ -2694,6 +2776,11 @@ declare module 'stripe' {
          */
         paynow?: Stripe.Emptyable<PaymentMethodOptions.Paynow>;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
+         */
+        paypal?: Stripe.Emptyable<PaymentMethodOptions.Paypal>;
+
         /**
          * If this is a `pix` PaymentMethod, this sub-hash contains details about the Pix payment method options.
          */
@@ -3104,6 +3191,7 @@ declare module 'stripe' {
             | 'cartes_bancaires'
             | 'diners'
             | 'discover'
+            | 'eftpos_au'
             | 'interac'
             | 'jcb'
             | 'mastercard'
@@ -3479,6 +3567,66 @@ declare module 'stripe' {
           setup_future_usage?: 'none';
         }
 
+        interface Paypal {
+          /**
+           * Controls when the funds will be captured from the customer's account.
+           */
+          capture_method?: Stripe.Emptyable<'manual'>;
+
+          /**
+           * [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
+           */
+          preferred_locale?: Paypal.PreferredLocale;
+
+          /**
+           * A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
+           */
+          reference?: string;
+
+          /**
+           * The risk correlation ID for an on-session payment using a saved PayPal payment method.
+           */
+          risk_correlation_id?: string;
+
+          /**
+           * Indicates that you intend to make future payments with this PaymentIntent's payment method.
+           *
+           * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+           *
+           * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+           *
+           * If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
+           */
+          setup_future_usage?: Stripe.Emptyable<Paypal.SetupFutureUsage>;
+        }
+
+        namespace Paypal {
+          type PreferredLocale =
+            | 'cs-CZ'
+            | 'da-DK'
+            | 'de-AT'
+            | 'de-DE'
+            | 'de-LU'
+            | 'el-GR'
+            | 'en-GB'
+            | 'en-US'
+            | 'es-ES'
+            | 'fi-FI'
+            | 'fr-BE'
+            | 'fr-FR'
+            | 'fr-LU'
+            | 'hu-HU'
+            | 'it-IT'
+            | 'nl-BE'
+            | 'nl-NL'
+            | 'pl-PL'
+            | 'pt-PT'
+            | 'sk-SK'
+            | 'sv-SE';
+
+          type SetupFutureUsage = 'none' | 'off_session';
+        }
+
         interface Pix {
           /**
            * The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
@@ -3893,7 +4041,7 @@ declare module 'stripe' {
       shipping?: Stripe.Emptyable<PaymentIntentConfirmParams.Shipping>;
 
       /**
-       * Set to `true` only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.
+       * Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.
        */
       use_stripe_sdk?: boolean;
     }
@@ -4113,6 +4261,11 @@ declare module 'stripe' {
          */
         paynow?: PaymentMethodData.Paynow;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
+         */
+        paypal?: PaymentMethodData.Paypal;
+
         /**
          * If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
          */
@@ -4419,6 +4572,8 @@ declare module 'stripe' {
 
         interface Paynow {}
 
+        interface Paypal {}
+
         interface Pix {}
 
         interface Promptpay {}
@@ -4471,6 +4626,7 @@ declare module 'stripe' {
           | 'oxxo'
           | 'p24'
           | 'paynow'
+          | 'paypal'
           | 'pix'
           | 'promptpay'
           | 'sepa_debit'
@@ -4644,6 +4800,11 @@ declare module 'stripe' {
          */
         paynow?: Stripe.Emptyable<PaymentMethodOptions.Paynow>;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
+         */
+        paypal?: Stripe.Emptyable<PaymentMethodOptions.Paypal>;
+
         /**
          * If this is a `pix` PaymentMethod, this sub-hash contains details about the Pix payment method options.
          */
@@ -5054,6 +5215,7 @@ declare module 'stripe' {
             | 'cartes_bancaires'
             | 'diners'
             | 'discover'
+            | 'eftpos_au'
             | 'interac'
             | 'jcb'
             | 'mastercard'
@@ -5429,6 +5591,66 @@ declare module 'stripe' {
           setup_future_usage?: 'none';
         }
 
+        interface Paypal {
+          /**
+           * Controls when the funds will be captured from the customer's account.
+           */
+          capture_method?: Stripe.Emptyable<'manual'>;
+
+          /**
+           * [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
+           */
+          preferred_locale?: Paypal.PreferredLocale;
+
+          /**
+           * A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
+           */
+          reference?: string;
+
+          /**
+           * The risk correlation ID for an on-session payment using a saved PayPal payment method.
+           */
+          risk_correlation_id?: string;
+
+          /**
+           * Indicates that you intend to make future payments with this PaymentIntent's payment method.
+           *
+           * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+           *
+           * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+           *
+           * If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
+           */
+          setup_future_usage?: Stripe.Emptyable<Paypal.SetupFutureUsage>;
+        }
+
+        namespace Paypal {
+          type PreferredLocale =
+            | 'cs-CZ'
+            | 'da-DK'
+            | 'de-AT'
+            | 'de-DE'
+            | 'de-LU'
+            | 'el-GR'
+            | 'en-GB'
+            | 'en-US'
+            | 'es-ES'
+            | 'fi-FI'
+            | 'fr-BE'
+            | 'fr-FR'
+            | 'fr-LU'
+            | 'hu-HU'
+            | 'it-IT'
+            | 'nl-BE'
+            | 'nl-NL'
+            | 'pl-PL'
+            | 'pt-PT'
+            | 'sk-SK'
+            | 'sv-SE';
+
+          type SetupFutureUsage = 'none' | 'off_session';
+        }
+
         interface Pix {
           /**
            * The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
diff --git a/types/PaymentLinks.d.ts b/types/PaymentLinks.d.ts
index d686cac8..ffc7ad80 100644
--- a/types/PaymentLinks.d.ts
+++ b/types/PaymentLinks.d.ts
@@ -405,6 +405,7 @@ declare module 'stripe' {
         | 'oxxo'
         | 'p24'
         | 'paynow'
+        | 'paypal'
         | 'pix'
         | 'promptpay'
         | 'sepa_debit'
diff --git a/types/PaymentLinksResource.d.ts b/types/PaymentLinksResource.d.ts
index 432f5a0d..c200f4e4 100644
--- a/types/PaymentLinksResource.d.ts
+++ b/types/PaymentLinksResource.d.ts
@@ -461,6 +461,7 @@ declare module 'stripe' {
         | 'oxxo'
         | 'p24'
         | 'paynow'
+        | 'paypal'
         | 'pix'
         | 'promptpay'
         | 'sepa_debit'
@@ -1134,6 +1135,7 @@ declare module 'stripe' {
         | 'oxxo'
         | 'p24'
         | 'paynow'
+        | 'paypal'
         | 'pix'
         | 'promptpay'
         | 'sepa_debit'
diff --git a/types/PaymentMethods.d.ts b/types/PaymentMethods.d.ts
index 3c58b436..49a1cd60 100644
--- a/types/PaymentMethods.d.ts
+++ b/types/PaymentMethods.d.ts
@@ -92,6 +92,8 @@ declare module 'stripe' {
 
       paynow?: PaymentMethod.Paynow;
 
+      paypal?: PaymentMethod.Paypal;
+
       pix?: PaymentMethod.Pix;
 
       promptpay?: PaymentMethod.Promptpay;
@@ -415,7 +417,80 @@ declare module 'stripe' {
         }
       }
 
-      interface CardPresent {}
+      interface CardPresent {
+        /**
+         * Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
+         */
+        brand: string | null;
+
+        /**
+         * The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.
+         */
+        cardholder_name: string | null;
+
+        /**
+         * Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
+         */
+        country: string | null;
+
+        /**
+         * Two-digit number representing the card's expiration month.
+         */
+        exp_month: number;
+
+        /**
+         * Four-digit number representing the card's expiration year.
+         */
+        exp_year: number;
+
+        /**
+         * Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
+         *
+         * *Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*
+         */
+        fingerprint: string | null;
+
+        /**
+         * Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
+         */
+        funding: string | null;
+
+        /**
+         * The last four digits of the card.
+         */
+        last4: string | null;
+
+        /**
+         * Contains information about card networks that can be used to process the payment.
+         */
+        networks: CardPresent.Networks | null;
+
+        /**
+         * How card details were read in this transaction.
+         */
+        read_method: CardPresent.ReadMethod | null;
+      }
+
+      namespace CardPresent {
+        interface Networks {
+          /**
+           * All available networks for the card.
+           */
+          available: Array<string>;
+
+          /**
+           * The preferred network for the card.
+           */
+          preferred: string | null;
+        }
+
+        type ReadMethod =
+          | 'contact_emv'
+          | 'contactless_emv'
+          | 'contactless_magstripe_mode'
+          | 'magnetic_stripe_fallback'
+          | 'magnetic_stripe_track2';
+      }
 
       interface Cashapp {}
 
@@ -551,7 +626,85 @@ declare module 'stripe' {
           | 'TRIONL2U';
       }
 
-      interface InteracPresent {}
+      interface InteracPresent {
+        /**
+         * Card brand. Can be `interac`, `mastercard` or `visa`.
+         */
+        brand: string | null;
+
+        /**
+         * The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.
+         */
+        cardholder_name: string | null;
+
+        /**
+         * Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
+         */
+        country: string | null;
+
+        /**
+         * Two-digit number representing the card's expiration month.
+         */
+        exp_month: number;
+
+        /**
+         * Four-digit number representing the card's expiration year.
+         */
+        exp_year: number;
+
+        /**
+         * Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
+         *
+         * *Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*
+         */
+        fingerprint: string | null;
+
+        /**
+         * Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
+         */
+        funding: string | null;
+
+        /**
+         * The last four digits of the card.
+         */
+        last4: string | null;
+
+        /**
+         * Contains information about card networks that can be used to process the payment.
+         */
+        networks: InteracPresent.Networks | null;
+
+        /**
+         * EMV tag 5F2D. Preferred languages specified by the integrated circuit chip.
+         */
+        preferred_locales: Array<string> | null;
+
+        /**
+         * How card details were read in this transaction.
+         */
+        read_method: InteracPresent.ReadMethod | null;
+      }
+
+      namespace InteracPresent {
+        interface Networks {
+          /**
+           * All available networks for the card.
+           */
+          available: Array<string>;
+
+          /**
+           * The preferred network for the card.
+           */
+          preferred: string | null;
+        }
+
+        type ReadMethod =
+          | 'contact_emv'
+          | 'contactless_emv'
+          | 'contactless_magstripe_mode'
+          | 'magnetic_stripe_fallback'
+          | 'magnetic_stripe_track2';
+      }
 
       interface Klarna {
         /**
@@ -639,6 +792,13 @@ declare module 'stripe' {
 
       interface Paynow {}
 
+      interface Paypal {
+        /**
+         * PayPal account PayerID. This identifier uniquely identifies the PayPal customer.
+         */
+        payer_id?: string | null;
+      }
+
       interface Pix {}
 
       interface Promptpay {}
@@ -729,6 +889,7 @@ declare module 'stripe' {
         | 'oxxo'
         | 'p24'
         | 'paynow'
+        | 'paypal'
         | 'pix'
         | 'promptpay'
         | 'sepa_debit'
diff --git a/types/PaymentMethodsResource.d.ts b/types/PaymentMethodsResource.d.ts
index 4ab9cbee..2d663437 100644
--- a/types/PaymentMethodsResource.d.ts
+++ b/types/PaymentMethodsResource.d.ts
@@ -148,6 +148,11 @@ declare module 'stripe' {
        */
       paynow?: PaymentMethodCreateParams.Paynow;
 
+      /**
+       * If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
+       */
+      paypal?: PaymentMethodCreateParams.Paypal;
+
       /**
        * If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
        */
@@ -480,6 +485,8 @@ declare module 'stripe' {
 
       interface Paynow {}
 
+      interface Paypal {}
+
       interface Pix {}
 
       interface Promptpay {}
@@ -533,6 +540,7 @@ declare module 'stripe' {
         | 'oxxo'
         | 'p24'
         | 'paynow'
+        | 'paypal'
         | 'pix'
         | 'promptpay'
         | 'sepa_debit'
@@ -756,6 +764,7 @@ declare module 'stripe' {
         | 'oxxo'
         | 'p24'
         | 'paynow'
+        | 'paypal'
         | 'pix'
         | 'promptpay'
         | 'sepa_debit'
diff --git a/types/Quotes.d.ts b/types/Quotes.d.ts
index 68a659a1..7b172404 100644
--- a/types/Quotes.d.ts
+++ b/types/Quotes.d.ts
@@ -288,6 +288,38 @@ declare module 'stripe' {
                  * Related guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates).
                  */
                 rate: Stripe.TaxRate;
+
+                /**
+                 * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+                 */
+                taxability_reason: Tax.TaxabilityReason | null;
+
+                /**
+                 * The amount on which tax is calculated, in %s.
+                 */
+                taxable_amount: number | null;
+              }
+
+              namespace Tax {
+                type TaxabilityReason =
+                  | 'customer_exempt'
+                  | 'excluded_territory'
+                  | 'jurisdiction_unsupported'
+                  | 'not_collecting'
+                  | 'not_subject_to_tax'
+                  | 'not_supported'
+                  | 'portion_product_exempt'
+                  | 'portion_reduced_rated'
+                  | 'portion_standard_rated'
+                  | 'product_exempt'
+                  | 'product_exempt_holiday'
+                  | 'proportionally_rated'
+                  | 'reduced_rated'
+                  | 'reverse_charge'
+                  | 'standard_rated'
+                  | 'taxable_basis_reduced'
+                  | 'vat_exempt'
+                  | 'zero_rated';
               }
             }
           }
@@ -373,6 +405,38 @@ declare module 'stripe' {
                  * Related guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates).
                  */
                 rate: Stripe.TaxRate;
+
+                /**
+                 * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+                 */
+                taxability_reason: Tax.TaxabilityReason | null;
+
+                /**
+                 * The amount on which tax is calculated, in %s.
+                 */
+                taxable_amount: number | null;
+              }
+
+              namespace Tax {
+                type TaxabilityReason =
+                  | 'customer_exempt'
+                  | 'excluded_territory'
+                  | 'jurisdiction_unsupported'
+                  | 'not_collecting'
+                  | 'not_subject_to_tax'
+                  | 'not_supported'
+                  | 'portion_product_exempt'
+                  | 'portion_reduced_rated'
+                  | 'portion_standard_rated'
+                  | 'product_exempt'
+                  | 'product_exempt_holiday'
+                  | 'proportionally_rated'
+                  | 'reduced_rated'
+                  | 'reverse_charge'
+                  | 'standard_rated'
+                  | 'taxable_basis_reduced'
+                  | 'vat_exempt'
+                  | 'zero_rated';
               }
             }
           }
@@ -494,6 +558,38 @@ declare module 'stripe' {
              * Related guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates).
              */
             rate: Stripe.TaxRate;
+
+            /**
+             * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+             */
+            taxability_reason: Tax.TaxabilityReason | null;
+
+            /**
+             * The amount on which tax is calculated, in %s.
+             */
+            taxable_amount: number | null;
+          }
+
+          namespace Tax {
+            type TaxabilityReason =
+              | 'customer_exempt'
+              | 'excluded_territory'
+              | 'jurisdiction_unsupported'
+              | 'not_collecting'
+              | 'not_subject_to_tax'
+              | 'not_supported'
+              | 'portion_product_exempt'
+              | 'portion_reduced_rated'
+              | 'portion_standard_rated'
+              | 'product_exempt'
+              | 'product_exempt_holiday'
+              | 'proportionally_rated'
+              | 'reduced_rated'
+              | 'reverse_charge'
+              | 'standard_rated'
+              | 'taxable_basis_reduced'
+              | 'vat_exempt'
+              | 'zero_rated';
           }
         }
       }
diff --git a/types/SetupAttempts.d.ts b/types/SetupAttempts.d.ts
index c5006214..b7f00204 100644
--- a/types/SetupAttempts.d.ts
+++ b/types/SetupAttempts.d.ts
@@ -114,6 +114,8 @@ declare module 'stripe' {
 
         link?: PaymentMethodDetails.Link;
 
+        paypal?: PaymentMethodDetails.Paypal;
+
         sepa_debit?: PaymentMethodDetails.SepaDebit;
 
         sofort?: PaymentMethodDetails.Sofort;
@@ -425,6 +427,8 @@ declare module 'stripe' {
 
         interface Link {}
 
+        interface Paypal {}
+
         interface SepaDebit {}
 
         interface Sofort {
diff --git a/types/SetupIntents.d.ts b/types/SetupIntents.d.ts
index e1227c28..656fb1fe 100644
--- a/types/SetupIntents.d.ts
+++ b/types/SetupIntents.d.ts
@@ -377,6 +377,8 @@ declare module 'stripe' {
 
         link?: PaymentMethodOptions.Link;
 
+        paypal?: PaymentMethodOptions.Paypal;
+
         sepa_debit?: PaymentMethodOptions.SepaDebit;
 
         us_bank_account?: PaymentMethodOptions.UsBankAccount;
@@ -569,6 +571,7 @@ declare module 'stripe' {
             | 'cartes_bancaires'
             | 'diners'
             | 'discover'
+            | 'eftpos_au'
             | 'interac'
             | 'jcb'
             | 'mastercard'
@@ -586,6 +589,13 @@ declare module 'stripe' {
           persistent_token: string | null;
         }
 
+        interface Paypal {
+          /**
+           * The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer.
+           */
+          billing_agreement_id: string | null;
+        }
+
         interface SepaDebit {
           mandate_options?: SepaDebit.MandateOptions;
         }
diff --git a/types/SetupIntentsResource.d.ts b/types/SetupIntentsResource.d.ts
index f16a1d49..e7d317e0 100644
--- a/types/SetupIntentsResource.d.ts
+++ b/types/SetupIntentsResource.d.ts
@@ -281,6 +281,11 @@ declare module 'stripe' {
          */
         paynow?: PaymentMethodData.Paynow;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
+         */
+        paypal?: PaymentMethodData.Paypal;
+
         /**
          * If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
          */
@@ -587,6 +592,8 @@ declare module 'stripe' {
 
         interface Paynow {}
 
+        interface Paypal {}
+
         interface Pix {}
 
         interface Promptpay {}
@@ -639,6 +646,7 @@ declare module 'stripe' {
           | 'oxxo'
           | 'p24'
           | 'paynow'
+          | 'paypal'
           | 'pix'
           | 'promptpay'
           | 'sepa_debit'
@@ -703,6 +711,11 @@ declare module 'stripe' {
          */
         link?: PaymentMethodOptions.Link;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
+         */
+        paypal?: PaymentMethodOptions.Paypal;
+
         /**
          * If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options.
          */
@@ -870,6 +883,7 @@ declare module 'stripe' {
             | 'cartes_bancaires'
             | 'diners'
             | 'discover'
+            | 'eftpos_au'
             | 'interac'
             | 'jcb'
             | 'mastercard'
@@ -887,6 +901,13 @@ declare module 'stripe' {
           persistent_token?: string;
         }
 
+        interface Paypal {
+          /**
+           * The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer.
+           */
+          billing_agreement_id?: string;
+        }
+
         interface SepaDebit {
           /**
            * Additional fields for Mandate creation
@@ -1166,6 +1187,11 @@ declare module 'stripe' {
          */
         paynow?: PaymentMethodData.Paynow;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
+         */
+        paypal?: PaymentMethodData.Paypal;
+
         /**
          * If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
          */
@@ -1472,6 +1498,8 @@ declare module 'stripe' {
 
         interface Paynow {}
 
+        interface Paypal {}
+
         interface Pix {}
 
         interface Promptpay {}
@@ -1524,6 +1552,7 @@ declare module 'stripe' {
           | 'oxxo'
           | 'p24'
           | 'paynow'
+          | 'paypal'
           | 'pix'
           | 'promptpay'
           | 'sepa_debit'
@@ -1588,6 +1617,11 @@ declare module 'stripe' {
          */
         link?: PaymentMethodOptions.Link;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
+         */
+        paypal?: PaymentMethodOptions.Paypal;
+
         /**
          * If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options.
          */
@@ -1755,6 +1789,7 @@ declare module 'stripe' {
             | 'cartes_bancaires'
             | 'diners'
             | 'discover'
+            | 'eftpos_au'
             | 'interac'
             | 'jcb'
             | 'mastercard'
@@ -1772,6 +1807,13 @@ declare module 'stripe' {
           persistent_token?: string;
         }
 
+        interface Paypal {
+          /**
+           * The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer.
+           */
+          billing_agreement_id?: string;
+        }
+
         interface SepaDebit {
           /**
            * Additional fields for Mandate creation
@@ -2133,6 +2175,11 @@ declare module 'stripe' {
          */
         paynow?: PaymentMethodData.Paynow;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
+         */
+        paypal?: PaymentMethodData.Paypal;
+
         /**
          * If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
          */
@@ -2439,6 +2486,8 @@ declare module 'stripe' {
 
         interface Paynow {}
 
+        interface Paypal {}
+
         interface Pix {}
 
         interface Promptpay {}
@@ -2491,6 +2540,7 @@ declare module 'stripe' {
           | 'oxxo'
           | 'p24'
           | 'paynow'
+          | 'paypal'
           | 'pix'
           | 'promptpay'
           | 'sepa_debit'
@@ -2555,6 +2605,11 @@ declare module 'stripe' {
          */
         link?: PaymentMethodOptions.Link;
 
+        /**
+         * If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
+         */
+        paypal?: PaymentMethodOptions.Paypal;
+
         /**
          * If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options.
          */
@@ -2722,6 +2777,7 @@ declare module 'stripe' {
             | 'cartes_bancaires'
             | 'diners'
             | 'discover'
+            | 'eftpos_au'
             | 'interac'
             | 'jcb'
             | 'mastercard'
@@ -2739,6 +2795,13 @@ declare module 'stripe' {
           persistent_token?: string;
         }
 
+        interface Paypal {
+          /**
+           * The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer.
+           */
+          billing_agreement_id?: string;
+        }
+
         interface SepaDebit {
           /**
            * Additional fields for Mandate creation
diff --git a/types/Subscriptions.d.ts b/types/Subscriptions.d.ts
index 7bbe81e3..fd267d12 100644
--- a/types/Subscriptions.d.ts
+++ b/types/Subscriptions.d.ts
@@ -432,6 +432,7 @@ declare module 'stripe' {
               | 'cartes_bancaires'
               | 'diners'
               | 'discover'
+              | 'eftpos_au'
               | 'interac'
               | 'jcb'
               | 'mastercard'
@@ -520,6 +521,7 @@ declare module 'stripe' {
           | 'konbini'
           | 'link'
           | 'paynow'
+          | 'paypal'
           | 'promptpay'
           | 'sepa_credit_transfer'
           | 'sepa_debit'
diff --git a/types/SubscriptionsResource.d.ts b/types/SubscriptionsResource.d.ts
index 99d66bdf..7b770d97 100644
--- a/types/SubscriptionsResource.d.ts
+++ b/types/SubscriptionsResource.d.ts
@@ -498,6 +498,7 @@ declare module 'stripe' {
               | 'cartes_bancaires'
               | 'diners'
               | 'discover'
+              | 'eftpos_au'
               | 'interac'
               | 'jcb'
               | 'mastercard'
@@ -595,6 +596,7 @@ declare module 'stripe' {
           | 'konbini'
           | 'link'
           | 'paynow'
+          | 'paypal'
           | 'promptpay'
           | 'sepa_credit_transfer'
           | 'sepa_debit'
@@ -1209,6 +1211,7 @@ declare module 'stripe' {
               | 'cartes_bancaires'
               | 'diners'
               | 'discover'
+              | 'eftpos_au'
               | 'interac'
               | 'jcb'
               | 'mastercard'
@@ -1306,6 +1309,7 @@ declare module 'stripe' {
           | 'konbini'
           | 'link'
           | 'paynow'
+          | 'paypal'
           | 'promptpay'
           | 'sepa_credit_transfer'
           | 'sepa_debit'
diff --git a/types/TaxRates.d.ts b/types/TaxRates.d.ts
index fde58355..9a967b5f 100644
--- a/types/TaxRates.d.ts
+++ b/types/TaxRates.d.ts
@@ -43,6 +43,11 @@ declare module 'stripe' {
        */
       display_name: string;
 
+      /**
+       * Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage does not include the statutory tax rate of non-taxable jurisdictions.
+       */
+      effective_percentage: number | null;
+
       /**
        * This specifies if the tax rate is inclusive or exclusive.
        */


Test patch:
diff --git a/test/resources/generated_examples_test.spec.js b/test/resources/generated_examples_test.spec.js
index 9d976f59..4dc2f5fb 100644
--- a/test/resources/generated_examples_test.spec.js
+++ b/test/resources/generated_examples_test.spec.js
@@ -2533,6 +2533,11 @@ describe('Quotes', function() {
     const quote = await stripe.quotes.finalizeQuote('qt_xxxxxxxxxxxxx');
     expect(quote).not.to.be.null;
   });
+
+  it('listLineItems method', async function() {
+    const lineItems = await stripe.quotes.listLineItems('qt_xxxxxxxxxxxxx');
+    expect(lineItems).not.to.be.null;
+  });
 });
 
 describe('Radar.EarlyFraudWarnings', function() {