Class: Stripe::PaymentMethod
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::PaymentMethod
- Extended by:
- APIOperations::Create, APIOperations::List
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/payment_method.rb
Overview
PaymentMethod objects represent your customer’s payment instruments. You can use them with [PaymentIntents](stripe.com/docs/payments/payment-intents) to collect payments or save them to Customer objects to store instrument details for future payments.
Related guides: [Payment Methods](stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](stripe.com/docs/payments/more-payment-scenarios).
Defined Under Namespace
Classes: AcssDebit, Affirm, AfterpayClearpay, Alipay, Alma, AmazonPay, AttachParams, AuBecsDebit, BacsDebit, Bancontact, BillingDetails, Blik, Boleto, Card, CardPresent, Cashapp, CreateParams, CustomerBalance, DetachParams, Eps, Fpx, Giropay, Gopay, Grabpay, IdBankTransfer, Ideal, InteracPresent, KakaoPay, Klarna, Konbini, KrCard, Link, ListParams, MbWay, Mobilepay, Multibanco, NaverPay, Oxxo, P24, Payco, Paynow, Paypal, Payto, Pix, Promptpay, Qris, RadarOptions, Rechnung, RetrieveParams, RevolutPay, SamsungPay, SepaDebit, Shopeepay, Sofort, Swish, Twint, UpdateParams, UsBankAccount, WechatPay, Zip
Constant Summary collapse
- OBJECT_NAME =
"payment_method"
Constants inherited from StripeObject
StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#acss_debit ⇒ Object
readonly
Attribute for field acss_debit.
-
#affirm ⇒ Object
readonly
Attribute for field affirm.
-
#afterpay_clearpay ⇒ Object
readonly
Attribute for field afterpay_clearpay.
-
#alipay ⇒ Object
readonly
Attribute for field alipay.
-
#allow_redisplay ⇒ Object
readonly
This field indicates whether this payment method can be shown again to its customer in a checkout flow.
-
#alma ⇒ Object
readonly
Attribute for field alma.
-
#amazon_pay ⇒ Object
readonly
Attribute for field amazon_pay.
-
#au_becs_debit ⇒ Object
readonly
Attribute for field au_becs_debit.
-
#bacs_debit ⇒ Object
readonly
Attribute for field bacs_debit.
-
#bancontact ⇒ Object
readonly
Attribute for field bancontact.
-
#billing_details ⇒ Object
readonly
Attribute for field billing_details.
-
#blik ⇒ Object
readonly
Attribute for field blik.
-
#boleto ⇒ Object
readonly
Attribute for field boleto.
-
#card ⇒ Object
readonly
Attribute for field card.
-
#card_present ⇒ Object
readonly
Attribute for field card_present.
-
#cashapp ⇒ Object
readonly
Attribute for field cashapp.
-
#created ⇒ Object
readonly
Time at which the object was created.
-
#customer ⇒ Object
readonly
The ID of the Customer to which this PaymentMethod is saved.
-
#customer_balance ⇒ Object
readonly
Attribute for field customer_balance.
-
#eps ⇒ Object
readonly
Attribute for field eps.
-
#fpx ⇒ Object
readonly
Attribute for field fpx.
-
#giropay ⇒ Object
readonly
Attribute for field giropay.
-
#gopay ⇒ Object
readonly
Attribute for field gopay.
-
#grabpay ⇒ Object
readonly
Attribute for field grabpay.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#id_bank_transfer ⇒ Object
readonly
Attribute for field id_bank_transfer.
-
#ideal ⇒ Object
readonly
Attribute for field ideal.
-
#interac_present ⇒ Object
readonly
Attribute for field interac_present.
-
#kakao_pay ⇒ Object
readonly
Attribute for field kakao_pay.
-
#klarna ⇒ Object
readonly
Attribute for field klarna.
-
#konbini ⇒ Object
readonly
Attribute for field konbini.
-
#kr_card ⇒ Object
readonly
Attribute for field kr_card.
-
#link ⇒ Object
readonly
Attribute for field link.
-
#livemode ⇒ Object
readonly
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
-
#mb_way ⇒ Object
readonly
Attribute for field mb_way.
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object.
-
#mobilepay ⇒ Object
readonly
Attribute for field mobilepay.
-
#multibanco ⇒ Object
readonly
Attribute for field multibanco.
-
#naver_pay ⇒ Object
readonly
Attribute for field naver_pay.
-
#object ⇒ Object
readonly
String representing the object’s type.
-
#oxxo ⇒ Object
readonly
Attribute for field oxxo.
-
#p24 ⇒ Object
readonly
Attribute for field p24.
-
#payco ⇒ Object
readonly
Attribute for field payco.
-
#paynow ⇒ Object
readonly
Attribute for field paynow.
-
#paypal ⇒ Object
readonly
Attribute for field paypal.
-
#payto ⇒ Object
readonly
Attribute for field payto.
-
#pix ⇒ Object
readonly
Attribute for field pix.
-
#promptpay ⇒ Object
readonly
Attribute for field promptpay.
-
#qris ⇒ Object
readonly
Attribute for field qris.
-
#radar_options ⇒ Object
readonly
Options to configure Radar.
-
#rechnung ⇒ Object
readonly
Attribute for field rechnung.
-
#revolut_pay ⇒ Object
readonly
Attribute for field revolut_pay.
-
#samsung_pay ⇒ Object
readonly
Attribute for field samsung_pay.
-
#sepa_debit ⇒ Object
readonly
Attribute for field sepa_debit.
-
#shopeepay ⇒ Object
readonly
Attribute for field shopeepay.
-
#sofort ⇒ Object
readonly
Attribute for field sofort.
-
#swish ⇒ Object
readonly
Attribute for field swish.
-
#twint ⇒ Object
readonly
Attribute for field twint.
-
#type ⇒ Object
readonly
The type of the PaymentMethod.
-
#us_bank_account ⇒ Object
readonly
Attribute for field us_bank_account.
-
#wechat_pay ⇒ Object
readonly
Attribute for field wechat_pay.
-
#zip ⇒ Object
readonly
Attribute for field zip.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
-
.attach(payment_method, params = {}, opts = {}) ⇒ Object
Attaches a PaymentMethod object to a Customer.
-
.create(params = {}, opts = {}) ⇒ Object
Creates a PaymentMethod object.
-
.detach(payment_method, params = {}, opts = {}) ⇒ Object
Detaches a PaymentMethod object from a Customer.
-
.list(params = {}, opts = {}) ⇒ Object
Returns a list of PaymentMethods for Treasury flows.
- .object_name ⇒ Object
-
.update(id, params = {}, opts = {}) ⇒ Object
Updates a PaymentMethod object.
Instance Method Summary collapse
-
#attach(params = {}, opts = {}) ⇒ Object
Attaches a PaymentMethod object to a Customer.
-
#detach(params = {}, opts = {}) ⇒ Object
Detaches a PaymentMethod object from a Customer.
Methods included from APIOperations::Create
Methods included from APIOperations::List
Methods included from APIOperations::Save
Methods inherited from APIResource
class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource
Methods included from APIOperations::Request
Methods inherited from StripeObject
#==, #[], #[]=, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values
Constructor Details
This class inherits a constructor from Stripe::StripeObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject
Instance Attribute Details
#acss_debit ⇒ Object (readonly)
Attribute for field acss_debit
1816 1817 1818 |
# File 'lib/stripe/resources/payment_method.rb', line 1816 def acss_debit @acss_debit end |
#affirm ⇒ Object (readonly)
Attribute for field affirm
1819 1820 1821 |
# File 'lib/stripe/resources/payment_method.rb', line 1819 def affirm @affirm end |
#afterpay_clearpay ⇒ Object (readonly)
Attribute for field afterpay_clearpay
1822 1823 1824 |
# File 'lib/stripe/resources/payment_method.rb', line 1822 def afterpay_clearpay @afterpay_clearpay end |
#alipay ⇒ Object (readonly)
Attribute for field alipay
1825 1826 1827 |
# File 'lib/stripe/resources/payment_method.rb', line 1825 def alipay @alipay end |
#allow_redisplay ⇒ Object (readonly)
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”.
1828 1829 1830 |
# File 'lib/stripe/resources/payment_method.rb', line 1828 def allow_redisplay @allow_redisplay end |
#alma ⇒ Object (readonly)
Attribute for field alma
1831 1832 1833 |
# File 'lib/stripe/resources/payment_method.rb', line 1831 def alma @alma end |
#amazon_pay ⇒ Object (readonly)
Attribute for field amazon_pay
1834 1835 1836 |
# File 'lib/stripe/resources/payment_method.rb', line 1834 def amazon_pay @amazon_pay end |
#au_becs_debit ⇒ Object (readonly)
Attribute for field au_becs_debit
1837 1838 1839 |
# File 'lib/stripe/resources/payment_method.rb', line 1837 def au_becs_debit @au_becs_debit end |
#bacs_debit ⇒ Object (readonly)
Attribute for field bacs_debit
1840 1841 1842 |
# File 'lib/stripe/resources/payment_method.rb', line 1840 def bacs_debit @bacs_debit end |
#bancontact ⇒ Object (readonly)
Attribute for field bancontact
1843 1844 1845 |
# File 'lib/stripe/resources/payment_method.rb', line 1843 def bancontact @bancontact end |
#billing_details ⇒ Object (readonly)
Attribute for field billing_details
1846 1847 1848 |
# File 'lib/stripe/resources/payment_method.rb', line 1846 def billing_details @billing_details end |
#blik ⇒ Object (readonly)
Attribute for field blik
1849 1850 1851 |
# File 'lib/stripe/resources/payment_method.rb', line 1849 def blik @blik end |
#boleto ⇒ Object (readonly)
Attribute for field boleto
1852 1853 1854 |
# File 'lib/stripe/resources/payment_method.rb', line 1852 def boleto @boleto end |
#card ⇒ Object (readonly)
Attribute for field card
1855 1856 1857 |
# File 'lib/stripe/resources/payment_method.rb', line 1855 def card @card end |
#card_present ⇒ Object (readonly)
Attribute for field card_present
1858 1859 1860 |
# File 'lib/stripe/resources/payment_method.rb', line 1858 def card_present @card_present end |
#cashapp ⇒ Object (readonly)
Attribute for field cashapp
1861 1862 1863 |
# File 'lib/stripe/resources/payment_method.rb', line 1861 def cashapp @cashapp end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
1864 1865 1866 |
# File 'lib/stripe/resources/payment_method.rb', line 1864 def created @created end |
#customer ⇒ Object (readonly)
The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.
1867 1868 1869 |
# File 'lib/stripe/resources/payment_method.rb', line 1867 def customer @customer end |
#customer_balance ⇒ Object (readonly)
Attribute for field customer_balance
1870 1871 1872 |
# File 'lib/stripe/resources/payment_method.rb', line 1870 def customer_balance @customer_balance end |
#eps ⇒ Object (readonly)
Attribute for field eps
1873 1874 1875 |
# File 'lib/stripe/resources/payment_method.rb', line 1873 def eps @eps end |
#fpx ⇒ Object (readonly)
Attribute for field fpx
1876 1877 1878 |
# File 'lib/stripe/resources/payment_method.rb', line 1876 def fpx @fpx end |
#giropay ⇒ Object (readonly)
Attribute for field giropay
1879 1880 1881 |
# File 'lib/stripe/resources/payment_method.rb', line 1879 def giropay @giropay end |
#gopay ⇒ Object (readonly)
Attribute for field gopay
1882 1883 1884 |
# File 'lib/stripe/resources/payment_method.rb', line 1882 def gopay @gopay end |
#grabpay ⇒ Object (readonly)
Attribute for field grabpay
1885 1886 1887 |
# File 'lib/stripe/resources/payment_method.rb', line 1885 def grabpay @grabpay end |
#id ⇒ Object (readonly)
Unique identifier for the object.
1888 1889 1890 |
# File 'lib/stripe/resources/payment_method.rb', line 1888 def id @id end |
#id_bank_transfer ⇒ Object (readonly)
Attribute for field id_bank_transfer
1891 1892 1893 |
# File 'lib/stripe/resources/payment_method.rb', line 1891 def id_bank_transfer @id_bank_transfer end |
#ideal ⇒ Object (readonly)
Attribute for field ideal
1894 1895 1896 |
# File 'lib/stripe/resources/payment_method.rb', line 1894 def ideal @ideal end |
#interac_present ⇒ Object (readonly)
Attribute for field interac_present
1897 1898 1899 |
# File 'lib/stripe/resources/payment_method.rb', line 1897 def interac_present @interac_present end |
#kakao_pay ⇒ Object (readonly)
Attribute for field kakao_pay
1900 1901 1902 |
# File 'lib/stripe/resources/payment_method.rb', line 1900 def kakao_pay @kakao_pay end |
#klarna ⇒ Object (readonly)
Attribute for field klarna
1903 1904 1905 |
# File 'lib/stripe/resources/payment_method.rb', line 1903 def klarna @klarna end |
#konbini ⇒ Object (readonly)
Attribute for field konbini
1906 1907 1908 |
# File 'lib/stripe/resources/payment_method.rb', line 1906 def konbini @konbini end |
#kr_card ⇒ Object (readonly)
Attribute for field kr_card
1909 1910 1911 |
# File 'lib/stripe/resources/payment_method.rb', line 1909 def kr_card @kr_card end |
#link ⇒ Object (readonly)
Attribute for field link
1912 1913 1914 |
# File 'lib/stripe/resources/payment_method.rb', line 1912 def link @link end |
#livemode ⇒ Object (readonly)
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
1915 1916 1917 |
# File 'lib/stripe/resources/payment_method.rb', line 1915 def livemode @livemode end |
#mb_way ⇒ Object (readonly)
Attribute for field mb_way
1918 1919 1920 |
# File 'lib/stripe/resources/payment_method.rb', line 1918 def mb_way @mb_way end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
1921 1922 1923 |
# File 'lib/stripe/resources/payment_method.rb', line 1921 def @metadata end |
#mobilepay ⇒ Object (readonly)
Attribute for field mobilepay
1924 1925 1926 |
# File 'lib/stripe/resources/payment_method.rb', line 1924 def mobilepay @mobilepay end |
#multibanco ⇒ Object (readonly)
Attribute for field multibanco
1927 1928 1929 |
# File 'lib/stripe/resources/payment_method.rb', line 1927 def multibanco @multibanco end |
#naver_pay ⇒ Object (readonly)
Attribute for field naver_pay
1930 1931 1932 |
# File 'lib/stripe/resources/payment_method.rb', line 1930 def naver_pay @naver_pay end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
1933 1934 1935 |
# File 'lib/stripe/resources/payment_method.rb', line 1933 def object @object end |
#oxxo ⇒ Object (readonly)
Attribute for field oxxo
1936 1937 1938 |
# File 'lib/stripe/resources/payment_method.rb', line 1936 def oxxo @oxxo end |
#p24 ⇒ Object (readonly)
Attribute for field p24
1939 1940 1941 |
# File 'lib/stripe/resources/payment_method.rb', line 1939 def p24 @p24 end |
#payco ⇒ Object (readonly)
Attribute for field payco
1942 1943 1944 |
# File 'lib/stripe/resources/payment_method.rb', line 1942 def payco @payco end |
#paynow ⇒ Object (readonly)
Attribute for field paynow
1945 1946 1947 |
# File 'lib/stripe/resources/payment_method.rb', line 1945 def paynow @paynow end |
#paypal ⇒ Object (readonly)
Attribute for field paypal
1948 1949 1950 |
# File 'lib/stripe/resources/payment_method.rb', line 1948 def paypal @paypal end |
#payto ⇒ Object (readonly)
Attribute for field payto
1951 1952 1953 |
# File 'lib/stripe/resources/payment_method.rb', line 1951 def payto @payto end |
#pix ⇒ Object (readonly)
Attribute for field pix
1954 1955 1956 |
# File 'lib/stripe/resources/payment_method.rb', line 1954 def pix @pix end |
#promptpay ⇒ Object (readonly)
Attribute for field promptpay
1957 1958 1959 |
# File 'lib/stripe/resources/payment_method.rb', line 1957 def promptpay @promptpay end |
#qris ⇒ Object (readonly)
Attribute for field qris
1960 1961 1962 |
# File 'lib/stripe/resources/payment_method.rb', line 1960 def qris @qris end |
#radar_options ⇒ Object (readonly)
Options to configure Radar. See [Radar Session](stripe.com/docs/radar/radar-session) for more information.
1963 1964 1965 |
# File 'lib/stripe/resources/payment_method.rb', line 1963 def @radar_options end |
#rechnung ⇒ Object (readonly)
Attribute for field rechnung
1966 1967 1968 |
# File 'lib/stripe/resources/payment_method.rb', line 1966 def rechnung @rechnung end |
#revolut_pay ⇒ Object (readonly)
Attribute for field revolut_pay
1969 1970 1971 |
# File 'lib/stripe/resources/payment_method.rb', line 1969 def revolut_pay @revolut_pay end |
#samsung_pay ⇒ Object (readonly)
Attribute for field samsung_pay
1972 1973 1974 |
# File 'lib/stripe/resources/payment_method.rb', line 1972 def samsung_pay @samsung_pay end |
#sepa_debit ⇒ Object (readonly)
Attribute for field sepa_debit
1975 1976 1977 |
# File 'lib/stripe/resources/payment_method.rb', line 1975 def sepa_debit @sepa_debit end |
#shopeepay ⇒ Object (readonly)
Attribute for field shopeepay
1978 1979 1980 |
# File 'lib/stripe/resources/payment_method.rb', line 1978 def shopeepay @shopeepay end |
#sofort ⇒ Object (readonly)
Attribute for field sofort
1981 1982 1983 |
# File 'lib/stripe/resources/payment_method.rb', line 1981 def sofort @sofort end |
#swish ⇒ Object (readonly)
Attribute for field swish
1984 1985 1986 |
# File 'lib/stripe/resources/payment_method.rb', line 1984 def swish @swish end |
#twint ⇒ Object (readonly)
Attribute for field twint
1987 1988 1989 |
# File 'lib/stripe/resources/payment_method.rb', line 1987 def twint @twint end |
#type ⇒ Object (readonly)
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.
1990 1991 1992 |
# File 'lib/stripe/resources/payment_method.rb', line 1990 def type @type end |
#us_bank_account ⇒ Object (readonly)
Attribute for field us_bank_account
1993 1994 1995 |
# File 'lib/stripe/resources/payment_method.rb', line 1993 def us_bank_account @us_bank_account end |
#wechat_pay ⇒ Object (readonly)
Attribute for field wechat_pay
1996 1997 1998 |
# File 'lib/stripe/resources/payment_method.rb', line 1996 def wechat_pay @wechat_pay end |
#zip ⇒ Object (readonly)
Attribute for field zip
1999 2000 2001 |
# File 'lib/stripe/resources/payment_method.rb', line 1999 def zip @zip end |
Class Method Details
.attach(payment_method, params = {}, opts = {}) ⇒ Object
Attaches a PaymentMethod object to a Customer.
To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments.
To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod’s ID.
2036 2037 2038 2039 2040 2041 2042 2043 |
# File 'lib/stripe/resources/payment_method.rb', line 2036 def self.attach(payment_method, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/payment_methods/%<payment_method>s/attach", { payment_method: CGI.escape(payment_method) }), params: params, opts: opts ) end |
.create(params = {}, opts = {}) ⇒ Object
Creates a PaymentMethod object. Read the [Stripe.js reference](stripe.com/docs/stripe-js/reference#stripe-create-payment-method) 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 <a href=“/docs/payments/save-and-reuse”>SetupIntent](stripe.com/docs/payments/accept-a-payment) API to collect payment method details ahead of a future payment.
2048 2049 2050 |
# File 'lib/stripe/resources/payment_method.rb', line 2048 def self.create(params = {}, opts = {}) request_stripe_object(method: :post, path: "/v1/payment_methods", params: params, opts: opts) end |
.detach(payment_method, params = {}, opts = {}) ⇒ Object
Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.
2063 2064 2065 2066 2067 2068 2069 2070 |
# File 'lib/stripe/resources/payment_method.rb', line 2063 def self.detach(payment_method, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/payment_methods/%<payment_method>s/detach", { payment_method: CGI.escape(payment_method) }), params: params, opts: opts ) end |
.list(params = {}, opts = {}) ⇒ Object
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](stripe.com/docs/api/payment_methods/customer_list) API instead.
2073 2074 2075 |
# File 'lib/stripe/resources/payment_method.rb', line 2073 def self.list(params = {}, opts = {}) request_stripe_object(method: :get, path: "/v1/payment_methods", params: params, opts: opts) end |
.object_name ⇒ Object
16 17 18 |
# File 'lib/stripe/resources/payment_method.rb', line 16 def self.object_name "payment_method" end |
.update(id, params = {}, opts = {}) ⇒ Object
Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.
2078 2079 2080 2081 2082 2083 2084 2085 |
# File 'lib/stripe/resources/payment_method.rb', line 2078 def self.update(id, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/payment_methods/%<id>s", { id: CGI.escape(id) }), params: params, opts: opts ) end |
Instance Method Details
#attach(params = {}, opts = {}) ⇒ Object
Attaches a PaymentMethod object to a Customer.
To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments.
To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod’s ID.
2014 2015 2016 2017 2018 2019 2020 2021 |
# File 'lib/stripe/resources/payment_method.rb', line 2014 def attach(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/payment_methods/%<payment_method>s/attach", { payment_method: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#detach(params = {}, opts = {}) ⇒ Object
Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.
2053 2054 2055 2056 2057 2058 2059 2060 |
# File 'lib/stripe/resources/payment_method.rb', line 2053 def detach(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/payment_methods/%<payment_method>s/detach", { payment_method: CGI.escape(self["id"]) }), params: params, opts: opts ) end |