From 9fcb839f48c48b56d3e88cb4d64bad769937c6e2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 6 Sep 2023 00:38:11 +0000 Subject: [PATCH] Update services based on v507 of Stripe OpenApi SDK Reference: https://github.com/stripe/openapi/releases/tag/v507 --- .latest-tag-stripe-openapi-sdk | 2 +- lib/generated/account.ex | 35 +- lib/generated/payment_intent.ex | 147 +++--- lib/generated/payment_method.ex | 1 + lib/generated/payment_method_domain.ex | 224 +++++++++ lib/generated/setup_intent.ex | 32 +- priv/openapi/spec3.sdk.json | 601 ++++++++++++++++++++++++- 7 files changed, 926 insertions(+), 116 deletions(-) create mode 100644 lib/generated/payment_method_domain.ex diff --git a/.latest-tag-stripe-openapi-sdk b/.latest-tag-stripe-openapi-sdk index 3a2a6e1b..d9391352 100644 --- a/.latest-tag-stripe-openapi-sdk +++ b/.latest-tag-stripe-openapi-sdk @@ -1 +1 @@ -v504 +v507 diff --git a/lib/generated/account.ex b/lib/generated/account.ex index 13c98a15..6cb60e7a 100644 --- a/lib/generated/account.ex +++ b/lib/generated/account.ex @@ -66,7 +66,7 @@ defmodule Stripe.Account do ) ( - @typedoc "The company's primary address." + @typedoc "The individual's primary address." @type address :: %{ optional(:city) => binary, optional(:country) => binary, @@ -91,7 +91,7 @@ defmodule Stripe.Account do ) ( - @typedoc "The Kanji variation of the company's primary address (Japan only)." + @typedoc "The Kanji variation of the the individual's primary address (Japan only)." @type address_kanji :: %{ optional(:city) => binary, optional(:country) => binary, @@ -216,18 +216,13 @@ defmodule Stripe.Account do ) ( - @typedoc "Settings specific to the account's use of the Card Issuing product." - @type card_issuing :: %{optional(:tos_acceptance) => tos_acceptance} + @typedoc "The card_issuing capability." + @type card_issuing :: %{optional(:requested) => boolean} ) ( - @typedoc "Settings specific to card charging on the account." - @type card_payments :: %{ - optional(:decline_on) => decline_on, - optional(:statement_descriptor_prefix) => binary, - optional(:statement_descriptor_prefix_kana) => binary | binary, - optional(:statement_descriptor_prefix_kanji) => binary | binary - } + @typedoc "The card_payments capability." + @type card_payments :: %{optional(:requested) => boolean} ) ( @@ -337,7 +332,7 @@ defmodule Stripe.Account do ) ( - @typedoc "An identifying document, either a passport or local ID card." + @typedoc "A document verifying the business." @type document :: %{optional(:back) => binary, optional(:front) => binary} ) @@ -575,12 +570,11 @@ defmodule Stripe.Account do ) ( - @typedoc "Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance)." + @typedoc "Details on the account's acceptance of the [Stripe Issuing Terms and Disclosures](https://stripe.com/docs/issuing/connect/tos_acceptance)." @type tos_acceptance :: %{ optional(:date) => integer, optional(:ip) => binary, - optional(:service_agreement) => binary, - optional(:user_agent) => binary + optional(:user_agent) => binary | binary } ) @@ -590,8 +584,8 @@ defmodule Stripe.Account do ) ( - @typedoc "Settings specific to the account's Treasury FinancialAccounts." - @type treasury :: %{optional(:tos_acceptance) => tos_acceptance} + @typedoc "The treasury capability." + @type treasury :: %{optional(:requested) => boolean} ) ( @@ -600,11 +594,8 @@ defmodule Stripe.Account do ) ( - @typedoc "The individual's verification document information." - @type verification :: %{ - optional(:additional_document) => additional_document, - optional(:document) => document - } + @typedoc "Information on the verification state of the company." + @type verification :: %{optional(:document) => document} ) ( diff --git a/lib/generated/payment_intent.ex b/lib/generated/payment_intent.ex index 4b5a03a9..b59e5002 100644 --- a/lib/generated/payment_intent.ex +++ b/lib/generated/payment_intent.ex @@ -90,11 +90,11 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc nil + @typedoc "If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method." @type acss_debit :: %{ - optional(:mandate_options) => mandate_options, - optional(:setup_future_usage) => :none | :off_session | :on_session, - optional(:verification_method) => :automatic | :instant | :microdeposits + optional(:account_number) => binary, + optional(:institution_number) => binary, + optional(:transit_number) => binary } ) @@ -134,8 +134,8 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc nil - @type au_becs_debit :: %{optional(:setup_future_usage) => :none | :off_session | :on_session} + @typedoc "If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account." + @type au_becs_debit :: %{optional(:account_number) => binary, optional(:bsb_number) => binary} ) ( @@ -147,8 +147,8 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc "If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account." - @type bacs_debit :: %{optional(:account_number) => binary, optional(:sort_code) => binary} + @typedoc nil + @type bacs_debit :: %{optional(:setup_future_usage) => :none | :off_session | :on_session} ) ( @@ -296,8 +296,33 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc nil - @type fpx :: %{optional(:setup_future_usage) => :none} + @typedoc "If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method." + @type fpx :: %{ + optional(:account_holder_type) => :company | :individual, + optional(:bank) => + :affin_bank + | :agrobank + | :alliance_bank + | :ambank + | :bank_islam + | :bank_muamalat + | :bank_of_china + | :bank_rakyat + | :bsn + | :cimb + | :deutsche_bank + | :hong_leong_bank + | :hsbc + | :kfh + | :maybank2e + | :maybank2u + | :ocbc + | :pb_enterprise + | :public_bank + | :rhb + | :standard_chartered + | :uob + } ) ( @@ -311,8 +336,25 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc nil - @type ideal :: %{optional(:setup_future_usage) => :none | :off_session} + @typedoc "If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method." + @type ideal :: %{ + optional(:bank) => + :abn_amro + | :asn_bank + | :bunq + | :handelsbanken + | :ing + | :knab + | :moneyou + | :n26 + | :rabobank + | :regiobank + | :revolut + | :sns_bank + | :triodos_bank + | :van_lanschot + | :yoursafe + } ) ( @@ -321,56 +363,8 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc nil - @type klarna :: %{ - optional(:capture_method) => :manual, - optional(:preferred_locale) => - :"cs-CZ" - | :"da-DK" - | :"de-AT" - | :"de-CH" - | :"de-DE" - | :"el-GR" - | :"en-AT" - | :"en-AU" - | :"en-BE" - | :"en-CA" - | :"en-CH" - | :"en-CZ" - | :"en-DE" - | :"en-DK" - | :"en-ES" - | :"en-FI" - | :"en-FR" - | :"en-GB" - | :"en-GR" - | :"en-IE" - | :"en-IT" - | :"en-NL" - | :"en-NO" - | :"en-NZ" - | :"en-PL" - | :"en-PT" - | :"en-SE" - | :"en-US" - | :"es-ES" - | :"es-US" - | :"fi-FI" - | :"fr-BE" - | :"fr-CA" - | :"fr-CH" - | :"fr-FR" - | :"it-CH" - | :"it-IT" - | :"nb-NO" - | :"nl-BE" - | :"nl-NL" - | :"pl-PL" - | :"pt-PT" - | :"sv-FI" - | :"sv-SE", - optional(:setup_future_usage) => :none - } + @typedoc "If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method." + @type klarna :: %{optional(:dob) => dob} ) ( @@ -399,12 +393,17 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc "Additional fields for Mandate creation" + @typedoc "Configuration options for setting up an eMandate for cards issued in India." @type mandate_options :: %{ - optional(:custom_mandate_url) => binary | binary, - optional(:interval_description) => binary, - optional(:payment_schedule) => :combined | :interval | :sporadic, - optional(:transaction_type) => :business | :personal + optional(:amount) => integer, + optional(:amount_type) => :fixed | :maximum, + optional(:description) => binary, + optional(:end_date) => integer, + optional(:interval) => :day | :month | :sporadic | :week | :year, + optional(:interval_count) => integer, + optional(:reference) => binary, + optional(:start_date) => integer, + optional(:supported_types) => list(:india) } ) @@ -610,11 +609,8 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc nil - @type sepa_debit :: %{ - optional(:mandate_options) => map(), - optional(:setup_future_usage) => :none | :off_session | :on_session - } + @typedoc "If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account." + @type sepa_debit :: %{optional(:iban) => binary} ) ( @@ -629,11 +625,8 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc nil - @type sofort :: %{ - optional(:preferred_language) => :de | :en | :es | :fr | :it | :nl | :pl, - optional(:setup_future_usage) => :none | :off_session - } + @typedoc "If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method." + @type sofort :: %{optional(:country) => :AT | :BE | :DE | :ES | :IT | :NL} ) ( diff --git a/lib/generated/payment_method.ex b/lib/generated/payment_method.ex index 1de61f65..2ebaa864 100644 --- a/lib/generated/payment_method.ex +++ b/lib/generated/payment_method.ex @@ -236,6 +236,7 @@ defmodule Stripe.PaymentMethod do | :ing | :knab | :moneyou + | :n26 | :rabobank | :regiobank | :revolut diff --git a/lib/generated/payment_method_domain.ex b/lib/generated/payment_method_domain.ex new file mode 100644 index 00000000..dc2c98d2 --- /dev/null +++ b/lib/generated/payment_method_domain.ex @@ -0,0 +1,224 @@ +defmodule Stripe.PaymentMethodDomain do + use Stripe.Entity + + @moduledoc "A payment method domain represents a web domain that you have registered with Stripe.\nStripe Elements use registered payment method domains to control where certain payment methods are shown.\n\nRelated guides: [Payment method domains](https://stripe.com/docs/payments/payment-methods/pmd-registration)." + ( + defstruct [ + :apple_pay, + :created, + :domain_name, + :enabled, + :google_pay, + :id, + :link, + :livemode, + :object, + :paypal + ] + + @typedoc "The `payment_method_domain` type.\n\n * `apple_pay` \n * `created` Time at which the object was created. Measured in seconds since the Unix epoch.\n * `domain_name` The domain name that this payment method domain object represents.\n * `enabled` Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements.\n * `google_pay` \n * `id` Unique identifier for the object.\n * `link` \n * `livemode` Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `paypal` \n" + @type t :: %__MODULE__{ + apple_pay: term, + created: integer, + domain_name: binary, + enabled: boolean, + google_pay: term, + id: binary, + link: term, + livemode: boolean, + object: binary, + paypal: term + } + ) + + ( + nil + + @doc "

Retrieves the details of an existing payment method domain.

\n\n#### Details\n\n * Method: `get`\n * Path: `/v1/payment_method_domains/{payment_method_domain}`\n" + ( + @spec retrieve( + payment_method_domain :: binary(), + params :: %{optional(:expand) => list(binary)}, + opts :: Keyword.t() + ) :: + {:ok, Stripe.PaymentMethodDomain.t()} + | {:error, Stripe.ApiErrors.t()} + | {:error, term()} + def retrieve(payment_method_domain, params \\ %{}, opts \\ []) do + path = + Stripe.OpenApi.Path.replace_path_params( + "/v1/payment_method_domains/{payment_method_domain}", + [ + %OpenApiGen.Blueprint.Parameter{ + in: "path", + name: "payment_method_domain", + required: true, + schema: %OpenApiGen.Blueprint.Parameter.Schema{ + name: "payment_method_domain", + title: nil, + type: "string", + items: [], + properties: [], + any_of: [] + } + } + ], + [payment_method_domain] + ) + + Stripe.Request.new_request(opts) + |> Stripe.Request.put_endpoint(path) + |> Stripe.Request.put_params(params) + |> Stripe.Request.put_method(:get) + |> Stripe.Request.make_request() + end + ) + ) + + ( + nil + + @doc "

Lists the details of existing payment method domains.

\n\n#### Details\n\n * Method: `get`\n * Path: `/v1/payment_method_domains`\n" + ( + @spec list( + params :: %{ + optional(:domain_name) => binary, + optional(:enabled) => boolean, + optional(:ending_before) => binary, + optional(:expand) => list(binary), + optional(:limit) => integer, + optional(:starting_after) => binary + }, + opts :: Keyword.t() + ) :: + {:ok, Stripe.List.t(Stripe.PaymentMethodDomain.t())} + | {:error, Stripe.ApiErrors.t()} + | {:error, term()} + def list(params \\ %{}, opts \\ []) do + path = Stripe.OpenApi.Path.replace_path_params("/v1/payment_method_domains", [], []) + + Stripe.Request.new_request(opts) + |> Stripe.Request.put_endpoint(path) + |> Stripe.Request.put_params(params) + |> Stripe.Request.put_method(:get) + |> Stripe.Request.make_request() + end + ) + ) + + ( + nil + + @doc "

Creates a payment method domain.

\n\n#### Details\n\n * Method: `post`\n * Path: `/v1/payment_method_domains`\n" + ( + @spec create( + params :: %{ + optional(:domain_name) => binary, + optional(:enabled) => boolean, + optional(:expand) => list(binary) + }, + opts :: Keyword.t() + ) :: + {:ok, Stripe.PaymentMethodDomain.t()} + | {:error, Stripe.ApiErrors.t()} + | {:error, term()} + def create(params \\ %{}, opts \\ []) do + path = Stripe.OpenApi.Path.replace_path_params("/v1/payment_method_domains", [], []) + + Stripe.Request.new_request(opts) + |> Stripe.Request.put_endpoint(path) + |> Stripe.Request.put_params(params) + |> Stripe.Request.put_method(:post) + |> Stripe.Request.make_request() + end + ) + ) + + ( + nil + + @doc "

Updates an existing payment method domain.

\n\n#### Details\n\n * Method: `post`\n * Path: `/v1/payment_method_domains/{payment_method_domain}`\n" + ( + @spec update( + payment_method_domain :: binary(), + params :: %{optional(:enabled) => boolean, optional(:expand) => list(binary)}, + opts :: Keyword.t() + ) :: + {:ok, Stripe.PaymentMethodDomain.t()} + | {:error, Stripe.ApiErrors.t()} + | {:error, term()} + def update(payment_method_domain, params \\ %{}, opts \\ []) do + path = + Stripe.OpenApi.Path.replace_path_params( + "/v1/payment_method_domains/{payment_method_domain}", + [ + %OpenApiGen.Blueprint.Parameter{ + in: "path", + name: "payment_method_domain", + required: true, + schema: %OpenApiGen.Blueprint.Parameter.Schema{ + name: "payment_method_domain", + title: nil, + type: "string", + items: [], + properties: [], + any_of: [] + } + } + ], + [payment_method_domain] + ) + + Stripe.Request.new_request(opts) + |> Stripe.Request.put_endpoint(path) + |> Stripe.Request.put_params(params) + |> Stripe.Request.put_method(:post) + |> Stripe.Request.make_request() + end + ) + ) + + ( + nil + + @doc "

Some payment methods such as Apple Pay require additional steps to verify a domain. If the requirements weren’t satisfied when the domain was created, the payment method will be inactive on the domain.\nThe payment method doesn’t appear in Elements for this domain until it is active.

\n\n

To activate a payment method on an existing payment method domain, complete the required validation steps specific to the payment method, and then validate the payment method domain with this endpoint.

\n\n

Related guides: Payment method domains.

\n\n#### Details\n\n * Method: `post`\n * Path: `/v1/payment_method_domains/{payment_method_domain}/validate`\n" + ( + @spec validate( + payment_method_domain :: binary(), + params :: %{optional(:expand) => list(binary)}, + opts :: Keyword.t() + ) :: + {:ok, Stripe.PaymentMethodDomain.t()} + | {:error, Stripe.ApiErrors.t()} + | {:error, term()} + def validate(payment_method_domain, params \\ %{}, opts \\ []) do + path = + Stripe.OpenApi.Path.replace_path_params( + "/v1/payment_method_domains/{payment_method_domain}/validate", + [ + %OpenApiGen.Blueprint.Parameter{ + in: "path", + name: "payment_method_domain", + required: true, + schema: %OpenApiGen.Blueprint.Parameter.Schema{ + name: "payment_method_domain", + title: nil, + type: "string", + items: [], + properties: [], + any_of: [] + } + } + ], + [payment_method_domain] + ) + + Stripe.Request.new_request(opts) + |> Stripe.Request.put_endpoint(path) + |> Stripe.Request.put_params(params) + |> Stripe.Request.put_method(:post) + |> Stripe.Request.make_request() + end + ) + ) +end diff --git a/lib/generated/setup_intent.ex b/lib/generated/setup_intent.ex index 0b82116a..042dd267 100644 --- a/lib/generated/setup_intent.ex +++ b/lib/generated/setup_intent.ex @@ -249,6 +249,7 @@ defmodule Stripe.SetupIntent do | :ing | :knab | :moneyou + | :n26 | :rabobank | :regiobank | :revolut @@ -275,13 +276,18 @@ defmodule Stripe.SetupIntent do ) ( - @typedoc "Additional fields for Mandate creation" + @typedoc "Configuration options for setting up an eMandate for cards issued in India." @type mandate_options :: %{ - optional(:custom_mandate_url) => binary | binary, - optional(:default_for) => list(:invoice | :subscription), - optional(:interval_description) => binary, - optional(:payment_schedule) => :combined | :interval | :sporadic, - optional(:transaction_type) => :business | :personal + optional(:amount) => integer, + optional(:amount_type) => :fixed | :maximum, + optional(:currency) => binary, + optional(:description) => binary, + optional(:end_date) => integer, + optional(:interval) => :day | :month | :sporadic | :week | :year, + optional(:interval_count) => integer, + optional(:reference) => binary, + optional(:start_date) => integer, + optional(:supported_types) => list(:india) } ) @@ -421,8 +427,8 @@ defmodule Stripe.SetupIntent do ) ( - @typedoc "If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options." - @type sepa_debit :: %{optional(:mandate_options) => map()} + @typedoc "If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account." + @type sepa_debit :: %{optional(:iban) => binary} ) ( @@ -436,11 +442,13 @@ defmodule Stripe.SetupIntent do ) ( - @typedoc "If this is a `us_bank_account` SetupIntent, this sub-hash contains details about the US bank account payment method options." + @typedoc "If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method." @type us_bank_account :: %{ - optional(:financial_connections) => financial_connections, - optional(:networks) => networks, - optional(:verification_method) => :automatic | :instant | :microdeposits + optional(:account_holder_type) => :company | :individual, + optional(:account_number) => binary, + optional(:account_type) => :checking | :savings, + optional(:financial_connections_account) => binary, + optional(:routing_number) => binary } ) diff --git a/priv/openapi/spec3.sdk.json b/priv/openapi/spec3.sdk.json index 7b994fbb..b630b17f 100644 --- a/priv/openapi/spec3.sdk.json +++ b/priv/openapi/spec3.sdk.json @@ -2840,6 +2840,9 @@ { "$ref": "#/components/schemas/connect_collection_transfer" }, + { + "$ref": "#/components/schemas/customer_cash_balance_transaction" + }, { "$ref": "#/components/schemas/dispute" }, @@ -8858,7 +8861,10 @@ "x-stripeResource": { "class_name": "CustomerCashBalanceTransaction", "has_collection_class": true, - "in_package": "" + "in_package": "", + "polymorphic_groups": [ + "balance_transaction_source" + ] } }, "customer_tax": { @@ -29181,7 +29187,7 @@ "description": "", "properties": { "bank": { - "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.", + "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.", "enum": [ "abn_amro", "asn_bank", @@ -29190,6 +29196,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut", @@ -29213,6 +29220,7 @@ "INGBNL2A", "KNABNL2H", "MOYONL21", + "NTSBDEB1", "RABONL2U", "RBRBNL21", "REVOIE23", @@ -30163,6 +30171,164 @@ "in_package": "" } }, + "payment_method_domain": { + "description": "A payment method domain represents a web domain that you have registered with Stripe.\nStripe Elements use registered payment method domains to control where certain payment methods are shown.\n\nRelated guides: [Payment method domains](https://stripe.com/docs/payments/payment-methods/pmd-registration).", + "properties": { + "apple_pay": { + "$ref": "#/components/schemas/payment_method_domain_resource_payment_method_status" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "domain_name": { + "description": "The domain name that this payment method domain object represents.", + "maxLength": 5000, + "type": "string" + }, + "enabled": { + "description": "Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements.", + "type": "boolean" + }, + "google_pay": { + "$ref": "#/components/schemas/payment_method_domain_resource_payment_method_status" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "link": { + "$ref": "#/components/schemas/payment_method_domain_resource_payment_method_status" + }, + "livemode": { + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.", + "type": "boolean" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "payment_method_domain" + ], + "type": "string" + }, + "paypal": { + "$ref": "#/components/schemas/payment_method_domain_resource_payment_method_status" + } + }, + "required": [ + "apple_pay", + "created", + "domain_name", + "enabled", + "google_pay", + "id", + "link", + "livemode", + "object", + "paypal" + ], + "title": "PaymentMethodDomainResourcePaymentMethodDomain", + "type": "object", + "x-expandableFields": [ + "apple_pay", + "google_pay", + "link", + "paypal" + ], + "x-resourceId": "payment_method_domain", + "x-stripeOperations": [ + { + "method_name": "retrieve", + "method_on": "service", + "method_type": "retrieve", + "operation": "get", + "path": "/v1/payment_method_domains/{payment_method_domain}" + }, + { + "method_name": "list", + "method_on": "service", + "method_type": "list", + "operation": "get", + "path": "/v1/payment_method_domains" + }, + { + "method_name": "create", + "method_on": "service", + "method_type": "create", + "operation": "post", + "path": "/v1/payment_method_domains" + }, + { + "method_name": "update", + "method_on": "service", + "method_type": "update", + "operation": "post", + "path": "/v1/payment_method_domains/{payment_method_domain}" + }, + { + "method_name": "validate", + "method_on": "service", + "method_type": "custom", + "operation": "post", + "path": "/v1/payment_method_domains/{payment_method_domain}/validate" + } + ], + "x-stripeResource": { + "class_name": "PaymentMethodDomain", + "has_collection_class": true, + "in_package": "" + } + }, + "payment_method_domain_resource_payment_method_status": { + "description": "Indicates the status of a specific payment method on a payment method domain.", + "properties": { + "status": { + "description": "The status of the payment method on the domain.", + "enum": [ + "active", + "inactive" + ], + "type": "string" + }, + "status_details": { + "$ref": "#/components/schemas/payment_method_domain_resource_payment_method_status_details" + } + }, + "required": [ + "status" + ], + "title": "PaymentMethodDomainResourcePaymentMethodStatus", + "type": "object", + "x-expandableFields": [ + "status_details" + ], + "x-stripeResource": { + "class_name": "PaymentMethodDomainPaymentMethodStatus", + "in_package": "" + } + }, + "payment_method_domain_resource_payment_method_status_details": { + "description": "Contains additional details about the status of a payment method for a specific payment method domain.", + "properties": { + "error_message": { + "description": "The error message associated with the status of the payment method on the domain.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "error_message" + ], + "title": "PaymentMethodDomainResourcePaymentMethodStatusDetails", + "type": "object", + "x-expandableFields": [], + "x-stripeResource": { + "class_name": "PaymentMethodDomainPaymentMethodStatusDetails", + "in_package": "" + } + }, "payment_method_eps": { "description": "", "properties": { @@ -30292,7 +30458,7 @@ "description": "", "properties": { "bank": { - "description": "The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.", + "description": "The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.", "enum": [ "abn_amro", "asn_bank", @@ -30301,6 +30467,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut", @@ -30324,6 +30491,7 @@ "INGBNL2A", "KNABNL2H", "MOYONL21", + "NTSBDEB1", "RABONL2U", "RBRBNL21", "REVOIE23", @@ -38827,7 +38995,7 @@ "description": "", "properties": { "bank": { - "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.", + "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.", "enum": [ "abn_amro", "asn_bank", @@ -38836,6 +39004,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut", @@ -38859,6 +39028,7 @@ "INGBNL2A", "KNABNL2H", "MOYONL21", + "NTSBDEB1", "RABONL2U", "RBRBNL21", "REVOIE23", @@ -88915,6 +89085,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut", @@ -91547,6 +91718,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut", @@ -94323,6 +94495,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut", @@ -98665,6 +98838,422 @@ } } }, + "/v1/payment_method_domains": { + "get": { + "description": "

Lists the details of existing payment method domains.

", + "operationId": "GetPaymentMethodDomains", + "parameters": [ + { + "description": "The domain name that this payment method domain object represents.", + "in": "query", + "name": "domain_name", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Whether this payment method domain is enabled. If the domain is not enabled, payment methods will not appear in Elements", + "in": "query", + "name": "enabled", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": {}, + "schema": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/payment_method_domain" + }, + "type": "array" + }, + "has_more": { + "description": "True if this list has another page of items after this one that can be fetched.", + "type": "boolean" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.", + "enum": [ + "list" + ], + "type": "string" + }, + "url": { + "description": "The URL where this list can be accessed.", + "maxLength": 5000, + "pattern": "^/v1/payment_method_domains", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "PaymentMethodDomainResourcePaymentMethodDomainList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "

Creates a payment method domain.

", + "operationId": "PostPaymentMethodDomains", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "domain_name": { + "description": "The domain name that this payment method domain object represents.", + "maxLength": 5000, + "type": "string" + }, + "enabled": { + "description": "Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain_name" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_method_domain" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payment_method_domains/{payment_method_domain}": { + "get": { + "description": "

Retrieves the details of an existing payment method domain.

", + "operationId": "GetPaymentMethodDomainsPaymentMethodDomain", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "payment_method_domain", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": {}, + "schema": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_method_domain" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "

Updates an existing payment method domain.

", + "operationId": "PostPaymentMethodDomainsPaymentMethodDomain", + "parameters": [ + { + "in": "path", + "name": "payment_method_domain", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_method_domain" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payment_method_domains/{payment_method_domain}/validate": { + "post": { + "description": "

Some payment methods such as Apple Pay require additional steps to verify a domain. If the requirements weren’t satisfied when the domain was created, the payment method will be inactive on the domain.\nThe payment method doesn’t appear in Elements for this domain until it is active.

\n\n

To activate a payment method on an existing payment method domain, complete the required validation steps specific to the payment method, and then validate the payment method domain with this endpoint.

\n\n

Related guides: Payment method domains.

", + "operationId": "PostPaymentMethodDomainsPaymentMethodDomainValidate", + "parameters": [ + { + "in": "path", + "name": "payment_method_domain", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_method_domain" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, "/v1/payment_methods": { "get": { "description": "

Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the List a Customer’s PaymentMethods API instead.

", @@ -99401,6 +99990,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut", @@ -109937,6 +110527,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut", @@ -111125,6 +111716,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut", @@ -112345,6 +112937,7 @@ "ing", "knab", "moneyou", + "n26", "rabobank", "regiobank", "revolut",