View Source ExOAPI.Stripe.SDK.PaymentIntents (exoapi_stripe v0.1.4)
Link to this section Summary
Functions
description: <p>Returns a list of PaymentIntents.</p>
description: <p>Retrieves the details of a PaymentIntent that has previously been created. </p>
description: <p>Search for PaymentIntents you’ve previously created using Stripe’s <a href="/docs/search#search-query-language">Search Query Language</a>. Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.</p>
description: <p>Creates a PaymentIntent object.</p>
description: <p>Updates properties on a PaymentIntent object without confirming.</p>
description: <p>Manually reconcile the remaining amount for a customer_balance PaymentIntent.</p>
description: <p>A PaymentIntent object can be canceled when it is in one of these statuses: <code>requires_payment_method</code>, <code>requires_capture</code>, <code>requires_confirmation</code>, <code>requires_action</code>, or <code>processing</code>. </p>
description: <p>Capture the funds of an existing uncaptured PaymentIntent when its status is <code>requires_capture</code>.</p>
description: <p>Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment.</p>
description: <p>Perform an incremental authorization on an eligible
description: <p>Verifies microdeposits on a PaymentIntent object.</p>
Link to this section Types
Link to this section Functions
@spec get_payment_intents(client :: ExOAPI.Client.t(), [get_payment_intents_opts()]) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | %{ url: String.t(), object: String.t() | :list, has_more: boolean(), data: [ExOAPI.Stripe.Schemas.PaymentIntent.t()] } | map()} | {:error, any()}
description: <p>Returns a list of PaymentIntents.</p>
@spec get_payment_intents_intent( client :: ExOAPI.Client.t(), intent :: String.t(), [get_payment_intents_intent_opts()] ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | ExOAPI.Stripe.Schemas.PaymentIntent.t() | map()} | {:error, any()}
description: <p>Retrieves the details of a PaymentIntent that has previously been created. </p>
Client-side retrieval using a publishable key is allowed when the client_secret
is provided in the query string.
When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the payment intent object reference for more details.
@spec get_payment_intents_search( client :: ExOAPI.Client.t(), query :: String.t(), [get_payment_intents_search_opts()] ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | %{ url: String.t(), total_count: integer(), object: String.t() | :search_result, next_page: String.t(), has_more: boolean(), data: [ExOAPI.Stripe.Schemas.PaymentIntent.t()] } | map()} | {:error, any()}
description: <p>Search for PaymentIntents you’ve previously created using Stripe’s <a href="/docs/search#search-query-language">Search Query Language</a>. Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.</p>
@spec post_payment_intents( client :: ExOAPI.Client.t(), body :: %{ use_stripe_sdk: boolean(), transfer_group: String.t(), transfer_data: %{destination: String.t(), amount: integer()}, statement_descriptor_suffix: String.t(), statement_descriptor: String.t(), shipping: %{ tracking_number: String.t(), phone: String.t(), name: String.t(), carrier: String.t(), address: %{ state: String.t(), postal_code: String.t(), line2: String.t(), line1: String.t(), country: String.t(), city: String.t() } }, setup_future_usage: String.t() | :off_session | :on_session, return_url: String.t(), receipt_email: String.t(), payment_method_types: [String.t()], payment_method_options: %{ wechat_pay: String.t() | %{ setup_future_usage: String.t() | :none, client: String.t() | :android | :ios | :web, app_id: String.t() }, us_bank_account: String.t() | %{ verification_method: String.t() | :automatic | :instant | :microdeposits, setup_future_usage: String.t() | :none | :off_session | :on_session }, sofort: String.t() | %{ setup_future_usage: String.t() | :none | :off_session, preferred_language: String.t() | :de | :en | :es | :fr | :it | :nl | :pl }, sepa_debit: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session, mandate_options: %{} }, paynow: String.t() | %{setup_future_usage: String.t() | :none}, p24: String.t() | %{ tos_shown_and_accepted: boolean(), setup_future_usage: String.t() | :none }, oxxo: String.t() | %{ setup_future_usage: String.t() | :none, expires_after_days: integer() }, konbini: String.t() | %{ setup_future_usage: String.t() | :none, product_description: String.t(), expires_at: String.t() | integer(), expires_after_days: String.t() | integer(), confirmation_number: String.t() }, klarna: String.t() | %{ setup_future_usage: String.t() | :none, preferred_locale: String.t() | :"da-DK" | :"de-AT" | :"de-DE" | :"en-AT" | :"en-BE" | :"en-DE" | :"en-DK" | :"en-ES" | :"en-FI" | :"en-FR" | :"en-GB" | :"en-IE" | :"en-IT" | :"en-NL" | :"en-NO" | :"en-SE" | :"en-US" | :"es-ES" | :"es-US" | :"fi-FI" | :"fr-BE" | :"fr-FR" | :"it-IT" | :"nb-NO" | :"nl-BE" | :"nl-NL" | :"sv-FI" | :"sv-SE", capture_method: String.t() | :manual }, interac_present: String.t() | %{}, ideal: String.t() | %{setup_future_usage: String.t() | :none | :off_session}, grabpay: String.t() | %{setup_future_usage: String.t() | :none}, giropay: String.t() | %{setup_future_usage: String.t() | :none}, fpx: String.t() | %{setup_future_usage: String.t() | :none}, eps: String.t() | %{setup_future_usage: String.t() | :none}, customer_balance: String.t() | %{ setup_future_usage: String.t() | :none, funding_type: String.t() | :bank_transfer, bank_transfer: %{ type: String.t() | :jp_bank_transfer, requested_address_types: [String.t() | :zengin] } }, card_present: String.t() | %{ request_incremental_authorization_support: boolean(), request_extended_authorization: boolean() }, card: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session, request_three_d_secure: String.t() | :any | :automatic, network: String.t() | :amex | :cartes_bancaires | :diners | :discover | :interac | :jcb | :mastercard | :unionpay | :unknown | :visa, mandate_options: %{ supported_types: [String.t() | :india], start_date: integer(), reference: String.t(), interval_count: integer(), interval: String.t() | :day | :month | :sporadic | :week | :year, end_date: integer(), description: String.t(), amount_type: String.t() | :fixed | :maximum, amount: integer() }, installments: %{ plan: String.t() | %{ type: String.t() | :fixed_count, interval: String.t() | :month, count: integer() }, enabled: boolean() }, cvc_token: String.t(), capture_method: String.t() | :manual }, boleto: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session, expires_after_days: integer() }, bancontact: String.t() | %{ setup_future_usage: String.t() | :none | :off_session, preferred_language: String.t() | :de | :en | :fr | :nl }, bacs_debit: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session }, au_becs_debit: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session }, alipay: String.t() | %{setup_future_usage: String.t() | :none | :off_session}, afterpay_clearpay: String.t() | %{ setup_future_usage: String.t() | :none, reference: String.t(), capture_method: String.t() | :manual }, acss_debit: String.t() | %{ verification_method: String.t() | :automatic | :instant | :microdeposits, setup_future_usage: String.t() | :none | :off_session | :on_session, mandate_options: %{ transaction_type: String.t() | :business | :personal, payment_schedule: String.t() | :combined | :interval | :sporadic, interval_description: String.t(), custom_mandate_url: String.t() } } }, payment_method_data: %{ wechat_pay: %{}, us_bank_account: %{ routing_number: String.t(), account_type: String.t() | :checking | :savings, account_number: String.t(), account_holder_type: String.t() | :company | :individual }, type: String.t() | :acss_debit | :afterpay_clearpay | :alipay | :au_becs_debit | :bacs_debit | :bancontact | :boleto | :customer_balance | :eps | :fpx | :giropay | :grabpay | :ideal | :klarna | :konbini | :oxxo | :p24 | :paynow | :sepa_debit | :sofort | :us_bank_account | :wechat_pay, sofort: %{country: String.t() | :AT | :BE | :DE | :ES | :IT | :NL}, sepa_debit: %{iban: String.t()}, paynow: %{}, p24: %{ bank: String.t() | :alior_bank | :bank_millennium | :bank_nowy_bfg_sa | :bank_pekao_sa | :banki_spbdzielcze | :blik | :bnp_paribas | :boz | :citi_handlowy | :credit_agricole | :envelobank | :etransfer_pocztowy24 | :getin_bank | :ideabank | :ing | :inteligo | :mbank_mtransfer | :nest_przelew | :noble_pay | :pbac_z_ipko | :plus_bank | :santander_przelew24 | :tmobile_usbugi_bankowe | :toyota_bank | :volkswagen_bank }, oxxo: %{}, metadata: map(), konbini: %{}, klarna: %{dob: %{year: integer(), month: integer(), day: integer()}}, interac_present: %{}, ideal: %{ bank: String.t() | :abn_amro | :asn_bank | :bunq | :handelsbanken | :ing | :knab | :moneyou | :rabobank | :regiobank | :revolut | :sns_bank | :triodos_bank | :van_lanschot }, grabpay: %{}, giropay: %{}, fpx: %{ bank: String.t() | :affin_bank | :agrobank | :alliance_bank | :ambank | :bank_islam | :bank_muamalat | :bank_rakyat | :bsn | :cimb | :deutsche_bank | :hong_leong_bank | :hsbc | :kfh | :maybank2e | :maybank2u | :ocbc | :pb_enterprise | :public_bank | :rhb | :standard_chartered | :uob }, eps: %{ bank: String.t() | :arzte_und_apotheker_bank | :austrian_anadi_bank_ag | :bank_austria | :bankhaus_carl_spangler | :bankhaus_schelhammer_und_schattera_ag | :bawag_psk_ag | :bks_bank_ag | :brull_kallmus_bank_ag | :btv_vier_lander_bank | :capital_bank_grawe_gruppe_ag | :dolomitenbank | :easybank_ag | :erste_bank_und_sparkassen | :hypo_alpeadriabank_international_ag | :hypo_bank_burgenland_aktiengesellschaft | :hypo_noe_lb_fur_niederosterreich_u_wien | :hypo_oberosterreich_salzburg_steiermark | :hypo_tirol_bank_ag | :hypo_vorarlberg_bank_ag | :marchfelder_bank | :oberbank_ag | :raiffeisen_bankengruppe_osterreich | :schoellerbank_ag | :sparda_bank_wien | :volksbank_gruppe | :volkskreditbank_ag | :vr_bank_braunau }, customer_balance: %{}, boleto: %{tax_id: String.t()}, billing_details: %{ phone: String.t(), name: String.t(), email: String.t(), address: String.t() | %{ state: String.t(), postal_code: String.t(), line2: String.t(), line1: String.t(), country: String.t(), city: String.t() } }, bancontact: %{}, bacs_debit: %{sort_code: String.t(), account_number: String.t()}, au_becs_debit: %{bsb_number: String.t(), account_number: String.t()}, alipay: %{}, afterpay_clearpay: %{}, acss_debit: %{ transit_number: String.t(), institution_number: String.t(), account_number: String.t() } }, payment_method: String.t(), on_behalf_of: String.t(), off_session: String.t() | :one_off | :recurring | boolean(), metadata: map(), mandate_data: %{ customer_acceptance: %{ type: String.t() | :offline | :online, online: %{user_agent: String.t(), ip_address: String.t()}, offline: %{}, accepted_at: integer() } }, mandate: String.t(), expand: [String.t()], error_on_requires_action: boolean(), description: String.t(), customer: String.t(), currency: String.t(), confirmation_method: String.t() | :automatic | :manual, confirm: boolean(), capture_method: String.t() | :automatic | :manual, automatic_payment_methods: %{enabled: boolean()}, application_fee_amount: integer(), amount: integer() } | map() ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | ExOAPI.Stripe.Schemas.PaymentIntent.t() | map()} | {:error, any()}
description: <p>Creates a PaymentIntent object.</p>
After the PaymentIntent is created, attach a payment method and confirmto continue the payment. You can read more about the different payment flows available via the Payment Intents API here.
When confirm=true
is used during creation, it is equivalent to creatingand confirming the PaymentIntent in the same call. You may use any parameters
available in the confirm API when confirm=true
is supplied.
@spec post_payment_intents_intent( client :: ExOAPI.Client.t(), body :: %{ transfer_group: String.t(), transfer_data: %{amount: integer()}, statement_descriptor_suffix: String.t(), statement_descriptor: String.t(), shipping: String.t() | %{ tracking_number: String.t(), phone: String.t(), name: String.t(), carrier: String.t(), address: %{ state: String.t(), postal_code: String.t(), line2: String.t(), line1: String.t(), country: String.t(), city: String.t() } }, setup_future_usage: String.t() | :off_session | :on_session, receipt_email: String.t(), payment_method_types: [String.t()], payment_method_options: %{ wechat_pay: String.t() | %{ setup_future_usage: String.t() | :none, client: String.t() | :android | :ios | :web, app_id: String.t() }, us_bank_account: String.t() | %{ verification_method: String.t() | :automatic | :instant | :microdeposits, setup_future_usage: String.t() | :none | :off_session | :on_session }, sofort: String.t() | %{ setup_future_usage: String.t() | :none | :off_session, preferred_language: String.t() | :de | :en | :es | :fr | :it | :nl | :pl }, sepa_debit: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session, mandate_options: %{} }, paynow: String.t() | %{setup_future_usage: String.t() | :none}, p24: String.t() | %{ tos_shown_and_accepted: boolean(), setup_future_usage: String.t() | :none }, oxxo: String.t() | %{ setup_future_usage: String.t() | :none, expires_after_days: integer() }, konbini: String.t() | %{ setup_future_usage: String.t() | :none, product_description: String.t(), expires_at: String.t() | integer(), expires_after_days: String.t() | integer(), confirmation_number: String.t() }, klarna: String.t() | %{ setup_future_usage: String.t() | :none, preferred_locale: String.t() | :"da-DK" | :"de-AT" | :"de-DE" | :"en-AT" | :"en-BE" | :"en-DE" | :"en-DK" | :"en-ES" | :"en-FI" | :"en-FR" | :"en-GB" | :"en-IE" | :"en-IT" | :"en-NL" | :"en-NO" | :"en-SE" | :"en-US" | :"es-ES" | :"es-US" | :"fi-FI" | :"fr-BE" | :"fr-FR" | :"it-IT" | :"nb-NO" | :"nl-BE" | :"nl-NL" | :"sv-FI" | :"sv-SE", capture_method: String.t() | :manual }, interac_present: String.t() | %{}, ideal: String.t() | %{setup_future_usage: String.t() | :none | :off_session}, grabpay: String.t() | %{setup_future_usage: String.t() | :none}, giropay: String.t() | %{setup_future_usage: String.t() | :none}, fpx: String.t() | %{setup_future_usage: String.t() | :none}, eps: String.t() | %{setup_future_usage: String.t() | :none}, customer_balance: String.t() | %{ setup_future_usage: String.t() | :none, funding_type: String.t() | :bank_transfer, bank_transfer: %{ type: String.t() | :jp_bank_transfer, requested_address_types: [String.t() | :zengin] } }, card_present: String.t() | %{ request_incremental_authorization_support: boolean(), request_extended_authorization: boolean() }, card: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session, request_three_d_secure: String.t() | :any | :automatic, network: String.t() | :amex | :cartes_bancaires | :diners | :discover | :interac | :jcb | :mastercard | :unionpay | :unknown | :visa, mandate_options: %{ supported_types: [String.t() | :india], start_date: integer(), reference: String.t(), interval_count: integer(), interval: String.t() | :day | :month | :sporadic | :week | :year, end_date: integer(), description: String.t(), amount_type: String.t() | :fixed | :maximum, amount: integer() }, installments: %{ plan: String.t() | %{ type: String.t() | :fixed_count, interval: String.t() | :month, count: integer() }, enabled: boolean() }, cvc_token: String.t(), capture_method: String.t() | :manual }, boleto: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session, expires_after_days: integer() }, bancontact: String.t() | %{ setup_future_usage: String.t() | :none | :off_session, preferred_language: String.t() | :de | :en | :fr | :nl }, bacs_debit: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session }, au_becs_debit: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session }, alipay: String.t() | %{setup_future_usage: String.t() | :none | :off_session}, afterpay_clearpay: String.t() | %{ setup_future_usage: String.t() | :none, reference: String.t(), capture_method: String.t() | :manual }, acss_debit: String.t() | %{ verification_method: String.t() | :automatic | :instant | :microdeposits, setup_future_usage: String.t() | :none | :off_session | :on_session, mandate_options: %{ transaction_type: String.t() | :business | :personal, payment_schedule: String.t() | :combined | :interval | :sporadic, interval_description: String.t(), custom_mandate_url: String.t() } } }, payment_method_data: %{ wechat_pay: %{}, us_bank_account: %{ routing_number: String.t(), account_type: String.t() | :checking | :savings, account_number: String.t(), account_holder_type: String.t() | :company | :individual }, type: String.t() | :acss_debit | :afterpay_clearpay | :alipay | :au_becs_debit | :bacs_debit | :bancontact | :boleto | :customer_balance | :eps | :fpx | :giropay | :grabpay | :ideal | :klarna | :konbini | :oxxo | :p24 | :paynow | :sepa_debit | :sofort | :us_bank_account | :wechat_pay, sofort: %{country: String.t() | :AT | :BE | :DE | :ES | :IT | :NL}, sepa_debit: %{iban: String.t()}, paynow: %{}, p24: %{ bank: String.t() | :alior_bank | :bank_millennium | :bank_nowy_bfg_sa | :bank_pekao_sa | :banki_spbdzielcze | :blik | :bnp_paribas | :boz | :citi_handlowy | :credit_agricole | :envelobank | :etransfer_pocztowy24 | :getin_bank | :ideabank | :ing | :inteligo | :mbank_mtransfer | :nest_przelew | :noble_pay | :pbac_z_ipko | :plus_bank | :santander_przelew24 | :tmobile_usbugi_bankowe | :toyota_bank | :volkswagen_bank }, oxxo: %{}, metadata: map(), konbini: %{}, klarna: %{dob: %{year: integer(), month: integer(), day: integer()}}, interac_present: %{}, ideal: %{ bank: String.t() | :abn_amro | :asn_bank | :bunq | :handelsbanken | :ing | :knab | :moneyou | :rabobank | :regiobank | :revolut | :sns_bank | :triodos_bank | :van_lanschot }, grabpay: %{}, giropay: %{}, fpx: %{ bank: String.t() | :affin_bank | :agrobank | :alliance_bank | :ambank | :bank_islam | :bank_muamalat | :bank_rakyat | :bsn | :cimb | :deutsche_bank | :hong_leong_bank | :hsbc | :kfh | :maybank2e | :maybank2u | :ocbc | :pb_enterprise | :public_bank | :rhb | :standard_chartered | :uob }, eps: %{ bank: String.t() | :arzte_und_apotheker_bank | :austrian_anadi_bank_ag | :bank_austria | :bankhaus_carl_spangler | :bankhaus_schelhammer_und_schattera_ag | :bawag_psk_ag | :bks_bank_ag | :brull_kallmus_bank_ag | :btv_vier_lander_bank | :capital_bank_grawe_gruppe_ag | :dolomitenbank | :easybank_ag | :erste_bank_und_sparkassen | :hypo_alpeadriabank_international_ag | :hypo_bank_burgenland_aktiengesellschaft | :hypo_noe_lb_fur_niederosterreich_u_wien | :hypo_oberosterreich_salzburg_steiermark | :hypo_tirol_bank_ag | :hypo_vorarlberg_bank_ag | :marchfelder_bank | :oberbank_ag | :raiffeisen_bankengruppe_osterreich | :schoellerbank_ag | :sparda_bank_wien | :volksbank_gruppe | :volkskreditbank_ag | :vr_bank_braunau }, customer_balance: %{}, boleto: %{tax_id: String.t()}, billing_details: %{ phone: String.t(), name: String.t(), email: String.t(), address: String.t() | %{ state: String.t(), postal_code: String.t(), line2: String.t(), line1: String.t(), country: String.t(), city: String.t() } }, bancontact: %{}, bacs_debit: %{sort_code: String.t(), account_number: String.t()}, au_becs_debit: %{bsb_number: String.t(), account_number: String.t()}, alipay: %{}, afterpay_clearpay: %{}, acss_debit: %{ transit_number: String.t(), institution_number: String.t(), account_number: String.t() } }, payment_method: String.t(), metadata: String.t() | map(), expand: [String.t()], description: String.t(), customer: String.t(), currency: String.t(), application_fee_amount: String.t() | integer(), amount: integer() } | map(), intent :: String.t() ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | ExOAPI.Stripe.Schemas.PaymentIntent.t() | map()} | {:error, any()}
description: <p>Updates properties on a PaymentIntent object without confirming.</p>
Depending on which properties you update, you may need to confirm thePaymentIntent again. For example, updating the payment_method
will
always require you to confirm the PaymentIntent again. If you prefer to
update and confirm at the same time, we recommend updating properties via
the confirm API instead.
post_payment_intents_intent_apply_customer_balance(client, body, intent)
View Source@spec post_payment_intents_intent_apply_customer_balance( client :: ExOAPI.Client.t(), body :: %{expand: [String.t()], currency: String.t(), amount: integer()} | map(), intent :: String.t() ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | ExOAPI.Stripe.Schemas.PaymentIntent.t() | map()} | {:error, any()}
description: <p>Manually reconcile the remaining amount for a customer_balance PaymentIntent.</p>
This can be used when the cash balance for a customer in manual reconciliation mode received funds.
@spec post_payment_intents_intent_cancel( client :: ExOAPI.Client.t(), body :: %{ expand: [String.t()], cancellation_reason: String.t() | :abandoned | :duplicate | :fraudulent | :requested_by_customer } | map(), intent :: String.t() ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | ExOAPI.Stripe.Schemas.PaymentIntent.t() | map()} | {:error, any()}
description: <p>A PaymentIntent object can be canceled when it is in one of these statuses: <code>requires_payment_method</code>, <code>requires_capture</code>, <code>requires_confirmation</code>, <code>requires_action</code>, or <code>processing</code>. </p>
Once canceled, no additional charges will be made by the PaymentIntent and any operations on the PaymentIntent will fail with an error. For PaymentIntents with status=’requires_capture’
, the remaining amount_capturable
will automatically be refunded.
You cannot cancel the PaymentIntent for a Checkout Session. Expire the Checkout Session instead
@spec post_payment_intents_intent_capture( client :: ExOAPI.Client.t(), body :: %{ transfer_data: %{amount: integer()}, statement_descriptor_suffix: String.t(), statement_descriptor: String.t(), expand: [String.t()], application_fee_amount: integer(), amount_to_capture: integer() } | map(), intent :: String.t() ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | ExOAPI.Stripe.Schemas.PaymentIntent.t() | map()} | {:error, any()}
description: <p>Capture the funds of an existing uncaptured PaymentIntent when its status is <code>requires_capture</code>.</p>
Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by default).
Learn more about separate authorization and capture.
@spec post_payment_intents_intent_confirm( client :: ExOAPI.Client.t(), body :: %{ use_stripe_sdk: boolean(), shipping: String.t() | %{ tracking_number: String.t(), phone: String.t(), name: String.t(), carrier: String.t(), address: %{ state: String.t(), postal_code: String.t(), line2: String.t(), line1: String.t(), country: String.t(), city: String.t() } }, setup_future_usage: String.t() | :off_session | :on_session, return_url: String.t(), receipt_email: String.t(), payment_method_types: [String.t()], payment_method_options: %{ wechat_pay: String.t() | %{ setup_future_usage: String.t() | :none, client: String.t() | :android | :ios | :web, app_id: String.t() }, us_bank_account: String.t() | %{ verification_method: String.t() | :automatic | :instant | :microdeposits, setup_future_usage: String.t() | :none | :off_session | :on_session }, sofort: String.t() | %{ setup_future_usage: String.t() | :none | :off_session, preferred_language: String.t() | :de | :en | :es | :fr | :it | :nl | :pl }, sepa_debit: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session, mandate_options: %{} }, paynow: String.t() | %{setup_future_usage: String.t() | :none}, p24: String.t() | %{ tos_shown_and_accepted: boolean(), setup_future_usage: String.t() | :none }, oxxo: String.t() | %{ setup_future_usage: String.t() | :none, expires_after_days: integer() }, konbini: String.t() | %{ setup_future_usage: String.t() | :none, product_description: String.t(), expires_at: String.t() | integer(), expires_after_days: String.t() | integer(), confirmation_number: String.t() }, klarna: String.t() | %{ setup_future_usage: String.t() | :none, preferred_locale: String.t() | :"da-DK" | :"de-AT" | :"de-DE" | :"en-AT" | :"en-BE" | :"en-DE" | :"en-DK" | :"en-ES" | :"en-FI" | :"en-FR" | :"en-GB" | :"en-IE" | :"en-IT" | :"en-NL" | :"en-NO" | :"en-SE" | :"en-US" | :"es-ES" | :"es-US" | :"fi-FI" | :"fr-BE" | :"fr-FR" | :"it-IT" | :"nb-NO" | :"nl-BE" | :"nl-NL" | :"sv-FI" | :"sv-SE", capture_method: String.t() | :manual }, interac_present: String.t() | %{}, ideal: String.t() | %{setup_future_usage: String.t() | :none | :off_session}, grabpay: String.t() | %{setup_future_usage: String.t() | :none}, giropay: String.t() | %{setup_future_usage: String.t() | :none}, fpx: String.t() | %{setup_future_usage: String.t() | :none}, eps: String.t() | %{setup_future_usage: String.t() | :none}, customer_balance: String.t() | %{ setup_future_usage: String.t() | :none, funding_type: String.t() | :bank_transfer, bank_transfer: %{ type: String.t() | :jp_bank_transfer, requested_address_types: [String.t() | :zengin] } }, card_present: String.t() | %{ request_incremental_authorization_support: boolean(), request_extended_authorization: boolean() }, card: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session, request_three_d_secure: String.t() | :any | :automatic, network: String.t() | :amex | :cartes_bancaires | :diners | :discover | :interac | :jcb | :mastercard | :unionpay | :unknown | :visa, mandate_options: %{ supported_types: [String.t() | :india], start_date: integer(), reference: String.t(), interval_count: integer(), interval: String.t() | :day | :month | :sporadic | :week | :year, end_date: integer(), description: String.t(), amount_type: String.t() | :fixed | :maximum, amount: integer() }, installments: %{ plan: String.t() | %{ type: String.t() | :fixed_count, interval: String.t() | :month, count: integer() }, enabled: boolean() }, cvc_token: String.t(), capture_method: String.t() | :manual }, boleto: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session, expires_after_days: integer() }, bancontact: String.t() | %{ setup_future_usage: String.t() | :none | :off_session, preferred_language: String.t() | :de | :en | :fr | :nl }, bacs_debit: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session }, au_becs_debit: String.t() | %{ setup_future_usage: String.t() | :none | :off_session | :on_session }, alipay: String.t() | %{setup_future_usage: String.t() | :none | :off_session}, afterpay_clearpay: String.t() | %{ setup_future_usage: String.t() | :none, reference: String.t(), capture_method: String.t() | :manual }, acss_debit: String.t() | %{ verification_method: String.t() | :automatic | :instant | :microdeposits, setup_future_usage: String.t() | :none | :off_session | :on_session, mandate_options: %{ transaction_type: String.t() | :business | :personal, payment_schedule: String.t() | :combined | :interval | :sporadic, interval_description: String.t(), custom_mandate_url: String.t() } } }, payment_method_data: %{ wechat_pay: %{}, us_bank_account: %{ routing_number: String.t(), account_type: String.t() | :checking | :savings, account_number: String.t(), account_holder_type: String.t() | :company | :individual }, type: String.t() | :acss_debit | :afterpay_clearpay | :alipay | :au_becs_debit | :bacs_debit | :bancontact | :boleto | :customer_balance | :eps | :fpx | :giropay | :grabpay | :ideal | :klarna | :konbini | :oxxo | :p24 | :paynow | :sepa_debit | :sofort | :us_bank_account | :wechat_pay, sofort: %{country: String.t() | :AT | :BE | :DE | :ES | :IT | :NL}, sepa_debit: %{iban: String.t()}, paynow: %{}, p24: %{ bank: String.t() | :alior_bank | :bank_millennium | :bank_nowy_bfg_sa | :bank_pekao_sa | :banki_spbdzielcze | :blik | :bnp_paribas | :boz | :citi_handlowy | :credit_agricole | :envelobank | :etransfer_pocztowy24 | :getin_bank | :ideabank | :ing | :inteligo | :mbank_mtransfer | :nest_przelew | :noble_pay | :pbac_z_ipko | :plus_bank | :santander_przelew24 | :tmobile_usbugi_bankowe | :toyota_bank | :volkswagen_bank }, oxxo: %{}, metadata: map(), konbini: %{}, klarna: %{dob: %{year: integer(), month: integer(), day: integer()}}, interac_present: %{}, ideal: %{ bank: String.t() | :abn_amro | :asn_bank | :bunq | :handelsbanken | :ing | :knab | :moneyou | :rabobank | :regiobank | :revolut | :sns_bank | :triodos_bank | :van_lanschot }, grabpay: %{}, giropay: %{}, fpx: %{ bank: String.t() | :affin_bank | :agrobank | :alliance_bank | :ambank | :bank_islam | :bank_muamalat | :bank_rakyat | :bsn | :cimb | :deutsche_bank | :hong_leong_bank | :hsbc | :kfh | :maybank2e | :maybank2u | :ocbc | :pb_enterprise | :public_bank | :rhb | :standard_chartered | :uob }, eps: %{ bank: String.t() | :arzte_und_apotheker_bank | :austrian_anadi_bank_ag | :bank_austria | :bankhaus_carl_spangler | :bankhaus_schelhammer_und_schattera_ag | :bawag_psk_ag | :bks_bank_ag | :brull_kallmus_bank_ag | :btv_vier_lander_bank | :capital_bank_grawe_gruppe_ag | :dolomitenbank | :easybank_ag | :erste_bank_und_sparkassen | :hypo_alpeadriabank_international_ag | :hypo_bank_burgenland_aktiengesellschaft | :hypo_noe_lb_fur_niederosterreich_u_wien | :hypo_oberosterreich_salzburg_steiermark | :hypo_tirol_bank_ag | :hypo_vorarlberg_bank_ag | :marchfelder_bank | :oberbank_ag | :raiffeisen_bankengruppe_osterreich | :schoellerbank_ag | :sparda_bank_wien | :volksbank_gruppe | :volkskreditbank_ag | :vr_bank_braunau }, customer_balance: %{}, boleto: %{tax_id: String.t()}, billing_details: %{ phone: String.t(), name: String.t(), email: String.t(), address: String.t() | %{ state: String.t(), postal_code: String.t(), line2: String.t(), line1: String.t(), country: String.t(), city: String.t() } }, bancontact: %{}, bacs_debit: %{sort_code: String.t(), account_number: String.t()}, au_becs_debit: %{bsb_number: String.t(), account_number: String.t()}, alipay: %{}, afterpay_clearpay: %{}, acss_debit: %{ transit_number: String.t(), institution_number: String.t(), account_number: String.t() } }, payment_method: String.t(), off_session: String.t() | :one_off | :recurring | boolean(), mandate_data: %{ customer_acceptance: %{ type: String.t() | :online, online: %{user_agent: String.t(), ip_address: String.t()} } } | %{ customer_acceptance: %{ type: String.t() | :offline | :online, online: %{user_agent: String.t(), ip_address: String.t()}, offline: %{}, accepted_at: integer() } }, mandate: String.t(), expand: [String.t()], error_on_requires_action: boolean(), client_secret: String.t() } | map(), intent :: String.t() ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | ExOAPI.Stripe.Schemas.PaymentIntent.t() | map()} | {:error, any()}
description: <p>Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment.</p>
If the selected payment method requires additional authentication steps, thePaymentIntent will transition to the requires_action
status and
suggest additional actions via next_action
. If payment fails,
the PaymentIntent will transition to the requires_payment_method
status. If
payment succeeds, the PaymentIntent will transition to the succeeded
status (or requires_capture
, if capture_method
is set to manual
).
If the confirmation_method
is automatic
, payment may be attemptedusing our client SDKs
and the PaymentIntent’s client_secret.
After next_action
s are handled by the client, no additional
confirmation is required to complete the payment.
If the confirmation_method
is manual
, all payment attempts must beinitiated using a secret key.
If any actions are required for the payment, the PaymentIntent will
return to the requires_confirmation
state
after those actions are completed. Your server needs to then
explicitly re-confirm the PaymentIntent to initiate the next payment
attempt. Read the expanded documentation
to learn more about manual confirmation.
post_payment_intents_intent_increment_authorization(client, body, intent)
View Source@spec post_payment_intents_intent_increment_authorization( client :: ExOAPI.Client.t(), body :: %{ transfer_data: %{amount: integer()}, metadata: map(), expand: [String.t()], description: String.t(), application_fee_amount: integer(), amount: integer() } | map(), intent :: String.t() ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | ExOAPI.Stripe.Schemas.PaymentIntent.t() | map()} | {:error, any()}
description: <p>Perform an incremental authorization on an eligible
PaymentIntentPaymentIntent’s status must be <code>requires_capture</code> and
incremental_authorization_supportedmust be <code>true</code>.</p>
Incremental authorizations attempt to increase the authorized amount onyour customer’s card to the new, higher amount
provided. As with the
initial authorization, incremental authorizations may be declined. A
single PaymentIntent can call this endpoint multiple times to further
increase the authorized amount.
If the incremental authorization succeeds, the PaymentIntent object isreturned with the updated amount. If the incremental authorization fails, a card_declined error is returned, and no fields on the PaymentIntent or Charge are updated. The PaymentIntent object remains capturable for the previously authorized amount.
Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines.Once captured, a PaymentIntent can no longer be incremented.
Learn more about incremental authorizations.
post_payment_intents_intent_verify_microdeposits(client, body, intent)
View Source@spec post_payment_intents_intent_verify_microdeposits( client :: ExOAPI.Client.t(), body :: %{ expand: [String.t()], descriptor_code: String.t(), client_secret: String.t(), amounts: [integer()] } | map(), intent :: String.t() ) :: {:ok, ExOAPI.Stripe.Schemas.Error.t() | ExOAPI.Stripe.Schemas.PaymentIntent.t() | map()} | {:error, any()}
description: <p>Verifies microdeposits on a PaymentIntent object.</p>