POST /v1/payment_methods

Creates a PaymentMethod object. Read the Stripe.js reference to learn how to create PaymentMethods via Stripe.js.

Instead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a payment immediately or the SetupIntent API to collect payment method details ahead of a future payment.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/x-www-form-urlencoded"

Request body fields

Name Type Required Description
swish Object No

If this is a swish PaymentMethod, this hash contains details about the Swish payment method.

metadata Object No

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

multibanco Object No

If this is a multibanco PaymentMethod, this hash contains details about the Multibanco payment method.

affirm Object No

If this is an affirm PaymentMethod, this hash contains details about the Affirm payment method.

payment_method String No

The PaymentMethod to share.

mobilepay Object No

If this is a mobilepay PaymentMethod, this hash contains details about the MobilePay payment method.

paynow Object No

If this is a paynow PaymentMethod, this hash contains details about the PayNow payment method.

billing_details Object No

Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.

billing_details.email No
billing_details.name No
billing_details.tax_id String No
billing_details.phone No
billing_details.address No
customer_balance Object No

If this is a customer_balance PaymentMethod, this hash contains details about the CustomerBalance payment method.

pix Object No

If this is a pix PaymentMethod, this hash contains details about the Pix payment method.

sofort Object No

If this is a sofort PaymentMethod, this hash contains details about the SOFORT payment method.

sofort.country String Yes

Possible values:

  • "ES"
  • "NL"
  • "IT"
  • "AT"
  • "BE"
  • "DE"
alipay Object No

If this is an Alipay PaymentMethod, this hash contains details about the Alipay payment method.

interac_present Object No

If this is an interac_present PaymentMethod, this hash contains details about the Interac Present payment method.

cashapp Object No

If this is a cashapp PaymentMethod, this hash contains details about the Cash App Pay payment method.

zip Object No

If this is a zip PaymentMethod, this hash contains details about the Zip payment method.

type String No

The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.

Possible values:

  • "p24"
  • "pay_by_bank"
  • "blik"
  • "crypto"
  • "amazon_pay"
  • "boleto"
  • "bacs_debit"
  • "giropay"
  • "eps"
  • "card"
  • "paynow"
  • "pix"
  • "fpx"
  • "promptpay"
  • "zip"
  • "alipay"
  • "naver_pay"
  • "revolut_pay"
  • "billie"
  • "klarna"
  • "bancontact"
  • "kr_card"
  • "swish"
  • "paypal"
  • "samsung_pay"
  • "sofort"
  • "nz_bank_account"
  • "au_becs_debit"
  • "kakao_pay"
  • "konbini"
  • "acss_debit"
  • "link"
  • "alma"
  • "satispay"
  • "payco"
  • "sepa_debit"
  • "us_bank_account"
  • "oxxo"
  • "cashapp"
  • "affirm"
  • "twint"
  • "afterpay_clearpay"
  • "customer_balance"
  • "grabpay"
  • "multibanco"
  • "ideal"
  • "wechat_pay"
  • "mobilepay"
afterpay_clearpay Object No

If this is an AfterpayClearpay PaymentMethod, this hash contains details about the AfterpayClearpay payment method.

twint Object No

If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method.

eps Object No

If this is an eps PaymentMethod, this hash contains details about the EPS payment method.

eps.bank String No

Possible values:

  • "vr_bank_braunau"
  • "hypo_bank_burgenland_aktiengesellschaft"
  • "bank_austria"
  • "austrian_anadi_bank_ag"
  • "volkskreditbank_ag"
  • "bankhaus_carl_spangler"
  • "bawag_psk_ag"
  • "bankhaus_schelhammer_und_schattera_ag"
  • "capital_bank_grawe_gruppe_ag"
  • "raiffeisen_bankengruppe_osterreich"
  • "btv_vier_lander_bank"
  • "dolomitenbank"
  • "erste_bank_und_sparkassen"
  • "hypo_alpeadriabank_international_ag"
  • "schoellerbank_ag"
  • "marchfelder_bank"
  • "volksbank_gruppe"
  • "hypo_vorarlberg_bank_ag"
  • "bks_bank_ag"
  • "hypo_oberosterreich_salzburg_steiermark"
  • "easybank_ag"
  • "deutsche_bank_ag"
  • "sparda_bank_wien"
  • "hypo_tirol_bank_ag"
  • "arzte_und_apotheker_bank"
  • "brull_kallmus_bank_ag"
  • "oberbank_ag"
  • "hypo_noe_lb_fur_niederosterreich_u_wien"
us_bank_account Object No

If this is an us_bank_account PaymentMethod, this hash contains details about the US bank account payment method.

us_bank_account.routing_number String No
us_bank_account.account_number String No
us_bank_account.financial_connections_account String No
us_bank_account.account_holder_type String No

Possible values:

  • "company"
  • "individual"
us_bank_account.account_type String No

Possible values:

  • "checking"
  • "savings"
au_becs_debit Object No

If this is an au_becs_debit PaymentMethod, this hash contains details about the bank account.

au_becs_debit.account_number String Yes
au_becs_debit.bsb_number String Yes
konbini Object No

If this is a konbini PaymentMethod, this hash contains details about the Konbini payment method.

oxxo Object No

If this is an oxxo PaymentMethod, this hash contains details about the OXXO payment method.

bancontact Object No

If this is a bancontact PaymentMethod, this hash contains details about the Bancontact payment method.

p24 Object No

If this is a p24 PaymentMethod, this hash contains details about the P24 payment method.

p24.bank String No

Possible values:

  • "banki_spbdzielcze"
  • "credit_agricole"
  • "bank_millennium"
  • "inteligo"
  • "plus_bank"
  • "bank_nowy_bfg_sa"
  • "citi_handlowy"
  • "blik"
  • "getin_bank"
  • "velobank"
  • "bank_pekao_sa"
  • "boz"
  • "ideabank"
  • "volkswagen_bank"
  • "alior_bank"
  • "bnp_paribas"
  • "tmobile_usbugi_bankowe"
  • "toyota_bank"
  • "mbank_mtransfer"
  • "santander_przelew24"
  • "etransfer_pocztowy24"
  • "envelobank"
  • "nest_przelew"
  • "ing"
  • "noble_pay"
  • "pbac_z_ipko"
expand[] Array No

Specifies which fields in the response should be expanded.

allow_redisplay String No

This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to unspecified.

Possible values:

  • "limited"
  • "unspecified"
  • "always"
card No

If this is a card PaymentMethod, this hash contains the user's card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format card: {token: "tok_visa"}. When providing a card number, you must meet the requirements for PCI compliance. We strongly recommend using Stripe.js instead of interacting with this API directly.

radar_options Object No

Options to configure Radar. See Radar Session for more information.

radar_options.session String No
ideal Object No

If this is an ideal PaymentMethod, this hash contains details about the iDEAL payment method.

ideal.bank String No

Possible values:

  • "knab"
  • "n26"
  • "rabobank"
  • "sns_bank"
  • "triodos_bank"
  • "bunq"
  • "buut"
  • "van_lanschot"
  • "nn"
  • "ing"
  • "abn_amro"
  • "asn_bank"
  • "handelsbanken"
  • "revolut"
  • "moneyou"
  • "regiobank"
  • "yoursafe"
amazon_pay Object No

If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method.

paypal Object No

If this is a paypal PaymentMethod, this hash contains details about the PayPal payment method.

bacs_debit Object No

If this is a bacs_debit PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.

bacs_debit.sort_code String No
bacs_debit.account_number String No
naver_pay Object No

If this is a naver_pay PaymentMethod, this hash contains details about the Naver Pay payment method.

naver_pay.funding String No

Possible values:

  • "card"
  • "points"
klarna Object No

If this is a klarna PaymentMethod, this hash contains details about the Klarna payment method.

klarna.dob Object No
klarna.dob.day Integer Yes
klarna.dob.month Integer Yes
klarna.dob.year Integer Yes
acss_debit Object No

If this is an acss_debit PaymentMethod, this hash contains details about the ACSS Debit payment method.

acss_debit.institution_number String Yes
acss_debit.transit_number String Yes
acss_debit.account_number String Yes
blik Object No

If this is a blik PaymentMethod, this hash contains details about the BLIK payment method.

payco Object No

If this is a payco PaymentMethod, this hash contains details about the PAYCO payment method.

wechat_pay Object No

If this is an wechat_pay PaymentMethod, this hash contains details about the wechat_pay payment method.

pay_by_bank Object No

If this is a pay_by_bank PaymentMethod, this hash contains details about the PayByBank payment method.

promptpay Object No

If this is a promptpay PaymentMethod, this hash contains details about the PromptPay payment method.

giropay Object No

If this is a giropay PaymentMethod, this hash contains details about the Giropay payment method.

kakao_pay Object No

If this is a kakao_pay PaymentMethod, this hash contains details about the Kakao Pay payment method.

crypto Object No

If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method.

alma Object No

If this is a Alma PaymentMethod, this hash contains details about the Alma payment method.

link Object No

If this is an Link PaymentMethod, this hash contains details about the Link payment method.

satispay Object No

If this is a satispay PaymentMethod, this hash contains details about the Satispay payment method.

fpx Object No

If this is an fpx PaymentMethod, this hash contains details about the FPX payment method.

fpx.bank String Yes

Possible values:

  • "bank_rakyat"
  • "hsbc"
  • "hong_leong_bank"
  • "ocbc"
  • "kfh"
  • "public_bank"
  • "alliance_bank"
  • "maybank2u"
  • "uob"
  • "agrobank"
  • "bsn"
  • "deutsche_bank"
  • "cimb"
  • "rhb"
  • "ambank"
  • "standard_chartered"
  • "affin_bank"
  • "bank_islam"
  • "pb_enterprise"
  • "maybank2e"
  • "bank_of_china"
  • "bank_muamalat"
revolut_pay Object No

If this is a revolut_pay PaymentMethod, this hash contains details about the Revolut Pay payment method.

billie Object No

If this is a billie PaymentMethod, this hash contains details about the Billie payment method.

sepa_debit Object No

If this is a sepa_debit PaymentMethod, this hash contains details about the SEPA debit bank account.

sepa_debit.iban String Yes
kr_card Object No

If this is a kr_card PaymentMethod, this hash contains details about the Korean Card payment method.

customer String No

The Customer to whom the original PaymentMethod is attached.

samsung_pay Object No

If this is a samsung_pay PaymentMethod, this hash contains details about the SamsungPay payment method.

nz_bank_account Object No

If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method.

nz_bank_account.bank_code String Yes
nz_bank_account.branch_code String Yes
nz_bank_account.account_number String Yes
nz_bank_account.account_holder_name String No
nz_bank_account.reference String No
nz_bank_account.suffix String Yes
grabpay Object No

If this is a grabpay PaymentMethod, this hash contains details about the GrabPay payment method.

boleto Object No

If this is a boleto PaymentMethod, this hash contains details about the Boleto payment method.

boleto.tax_id String Yes

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.