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, PayByBank, 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.
-
#pay_by_bank ⇒ Object
readonly
Attribute for field pay_by_bank.
-
#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(payment_method, 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
1549 1550 1551 |
# File 'lib/stripe/resources/payment_method.rb', line 1549 def acss_debit @acss_debit end |
#affirm ⇒ Object (readonly)
Attribute for field affirm
1551 1552 1553 |
# File 'lib/stripe/resources/payment_method.rb', line 1551 def affirm @affirm end |
#afterpay_clearpay ⇒ Object (readonly)
Attribute for field afterpay_clearpay
1553 1554 1555 |
# File 'lib/stripe/resources/payment_method.rb', line 1553 def afterpay_clearpay @afterpay_clearpay end |
#alipay ⇒ Object (readonly)
Attribute for field alipay
1555 1556 1557 |
# File 'lib/stripe/resources/payment_method.rb', line 1555 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”.
1557 1558 1559 |
# File 'lib/stripe/resources/payment_method.rb', line 1557 def allow_redisplay @allow_redisplay end |
#alma ⇒ Object (readonly)
Attribute for field alma
1559 1560 1561 |
# File 'lib/stripe/resources/payment_method.rb', line 1559 def alma @alma end |
#amazon_pay ⇒ Object (readonly)
Attribute for field amazon_pay
1561 1562 1563 |
# File 'lib/stripe/resources/payment_method.rb', line 1561 def amazon_pay @amazon_pay end |
#au_becs_debit ⇒ Object (readonly)
Attribute for field au_becs_debit
1563 1564 1565 |
# File 'lib/stripe/resources/payment_method.rb', line 1563 def au_becs_debit @au_becs_debit end |
#bacs_debit ⇒ Object (readonly)
Attribute for field bacs_debit
1565 1566 1567 |
# File 'lib/stripe/resources/payment_method.rb', line 1565 def bacs_debit @bacs_debit end |
#bancontact ⇒ Object (readonly)
Attribute for field bancontact
1567 1568 1569 |
# File 'lib/stripe/resources/payment_method.rb', line 1567 def bancontact @bancontact end |
#billing_details ⇒ Object (readonly)
Attribute for field billing_details
1569 1570 1571 |
# File 'lib/stripe/resources/payment_method.rb', line 1569 def billing_details @billing_details end |
#blik ⇒ Object (readonly)
Attribute for field blik
1571 1572 1573 |
# File 'lib/stripe/resources/payment_method.rb', line 1571 def blik @blik end |
#boleto ⇒ Object (readonly)
Attribute for field boleto
1573 1574 1575 |
# File 'lib/stripe/resources/payment_method.rb', line 1573 def boleto @boleto end |
#card ⇒ Object (readonly)
Attribute for field card
1575 1576 1577 |
# File 'lib/stripe/resources/payment_method.rb', line 1575 def card @card end |
#card_present ⇒ Object (readonly)
Attribute for field card_present
1577 1578 1579 |
# File 'lib/stripe/resources/payment_method.rb', line 1577 def card_present @card_present end |
#cashapp ⇒ Object (readonly)
Attribute for field cashapp
1579 1580 1581 |
# File 'lib/stripe/resources/payment_method.rb', line 1579 def cashapp @cashapp end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
1581 1582 1583 |
# File 'lib/stripe/resources/payment_method.rb', line 1581 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.
1583 1584 1585 |
# File 'lib/stripe/resources/payment_method.rb', line 1583 def customer @customer end |
#customer_balance ⇒ Object (readonly)
Attribute for field customer_balance
1585 1586 1587 |
# File 'lib/stripe/resources/payment_method.rb', line 1585 def customer_balance @customer_balance end |
#eps ⇒ Object (readonly)
Attribute for field eps
1587 1588 1589 |
# File 'lib/stripe/resources/payment_method.rb', line 1587 def eps @eps end |
#fpx ⇒ Object (readonly)
Attribute for field fpx
1589 1590 1591 |
# File 'lib/stripe/resources/payment_method.rb', line 1589 def fpx @fpx end |
#giropay ⇒ Object (readonly)
Attribute for field giropay
1591 1592 1593 |
# File 'lib/stripe/resources/payment_method.rb', line 1591 def giropay @giropay end |
#gopay ⇒ Object (readonly)
Attribute for field gopay
1593 1594 1595 |
# File 'lib/stripe/resources/payment_method.rb', line 1593 def gopay @gopay end |
#grabpay ⇒ Object (readonly)
Attribute for field grabpay
1595 1596 1597 |
# File 'lib/stripe/resources/payment_method.rb', line 1595 def grabpay @grabpay end |
#id ⇒ Object (readonly)
Unique identifier for the object.
1597 1598 1599 |
# File 'lib/stripe/resources/payment_method.rb', line 1597 def id @id end |
#id_bank_transfer ⇒ Object (readonly)
Attribute for field id_bank_transfer
1599 1600 1601 |
# File 'lib/stripe/resources/payment_method.rb', line 1599 def id_bank_transfer @id_bank_transfer end |
#ideal ⇒ Object (readonly)
Attribute for field ideal
1601 1602 1603 |
# File 'lib/stripe/resources/payment_method.rb', line 1601 def ideal @ideal end |
#interac_present ⇒ Object (readonly)
Attribute for field interac_present
1603 1604 1605 |
# File 'lib/stripe/resources/payment_method.rb', line 1603 def interac_present @interac_present end |
#kakao_pay ⇒ Object (readonly)
Attribute for field kakao_pay
1605 1606 1607 |
# File 'lib/stripe/resources/payment_method.rb', line 1605 def kakao_pay @kakao_pay end |
#klarna ⇒ Object (readonly)
Attribute for field klarna
1607 1608 1609 |
# File 'lib/stripe/resources/payment_method.rb', line 1607 def klarna @klarna end |
#konbini ⇒ Object (readonly)
Attribute for field konbini
1609 1610 1611 |
# File 'lib/stripe/resources/payment_method.rb', line 1609 def konbini @konbini end |
#kr_card ⇒ Object (readonly)
Attribute for field kr_card
1611 1612 1613 |
# File 'lib/stripe/resources/payment_method.rb', line 1611 def kr_card @kr_card end |
#link ⇒ Object (readonly)
Attribute for field link
1613 1614 1615 |
# File 'lib/stripe/resources/payment_method.rb', line 1613 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.
1615 1616 1617 |
# File 'lib/stripe/resources/payment_method.rb', line 1615 def livemode @livemode end |
#mb_way ⇒ Object (readonly)
Attribute for field mb_way
1617 1618 1619 |
# File 'lib/stripe/resources/payment_method.rb', line 1617 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.
1619 1620 1621 |
# File 'lib/stripe/resources/payment_method.rb', line 1619 def @metadata end |
#mobilepay ⇒ Object (readonly)
Attribute for field mobilepay
1621 1622 1623 |
# File 'lib/stripe/resources/payment_method.rb', line 1621 def mobilepay @mobilepay end |
#multibanco ⇒ Object (readonly)
Attribute for field multibanco
1623 1624 1625 |
# File 'lib/stripe/resources/payment_method.rb', line 1623 def multibanco @multibanco end |
#naver_pay ⇒ Object (readonly)
Attribute for field naver_pay
1625 1626 1627 |
# File 'lib/stripe/resources/payment_method.rb', line 1625 def naver_pay @naver_pay end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
1627 1628 1629 |
# File 'lib/stripe/resources/payment_method.rb', line 1627 def object @object end |
#oxxo ⇒ Object (readonly)
Attribute for field oxxo
1629 1630 1631 |
# File 'lib/stripe/resources/payment_method.rb', line 1629 def oxxo @oxxo end |
#p24 ⇒ Object (readonly)
Attribute for field p24
1631 1632 1633 |
# File 'lib/stripe/resources/payment_method.rb', line 1631 def p24 @p24 end |
#pay_by_bank ⇒ Object (readonly)
Attribute for field pay_by_bank
1633 1634 1635 |
# File 'lib/stripe/resources/payment_method.rb', line 1633 def pay_by_bank @pay_by_bank end |
#payco ⇒ Object (readonly)
Attribute for field payco
1635 1636 1637 |
# File 'lib/stripe/resources/payment_method.rb', line 1635 def payco @payco end |
#paynow ⇒ Object (readonly)
Attribute for field paynow
1637 1638 1639 |
# File 'lib/stripe/resources/payment_method.rb', line 1637 def paynow @paynow end |
#paypal ⇒ Object (readonly)
Attribute for field paypal
1639 1640 1641 |
# File 'lib/stripe/resources/payment_method.rb', line 1639 def paypal @paypal end |
#payto ⇒ Object (readonly)
Attribute for field payto
1641 1642 1643 |
# File 'lib/stripe/resources/payment_method.rb', line 1641 def payto @payto end |
#pix ⇒ Object (readonly)
Attribute for field pix
1643 1644 1645 |
# File 'lib/stripe/resources/payment_method.rb', line 1643 def pix @pix end |
#promptpay ⇒ Object (readonly)
Attribute for field promptpay
1645 1646 1647 |
# File 'lib/stripe/resources/payment_method.rb', line 1645 def promptpay @promptpay end |
#qris ⇒ Object (readonly)
Attribute for field qris
1647 1648 1649 |
# File 'lib/stripe/resources/payment_method.rb', line 1647 def qris @qris end |
#radar_options ⇒ Object (readonly)
Options to configure Radar. See [Radar Session](stripe.com/docs/radar/radar-session) for more information.
1649 1650 1651 |
# File 'lib/stripe/resources/payment_method.rb', line 1649 def @radar_options end |
#rechnung ⇒ Object (readonly)
Attribute for field rechnung
1651 1652 1653 |
# File 'lib/stripe/resources/payment_method.rb', line 1651 def rechnung @rechnung end |
#revolut_pay ⇒ Object (readonly)
Attribute for field revolut_pay
1653 1654 1655 |
# File 'lib/stripe/resources/payment_method.rb', line 1653 def revolut_pay @revolut_pay end |
#samsung_pay ⇒ Object (readonly)
Attribute for field samsung_pay
1655 1656 1657 |
# File 'lib/stripe/resources/payment_method.rb', line 1655 def samsung_pay @samsung_pay end |
#sepa_debit ⇒ Object (readonly)
Attribute for field sepa_debit
1657 1658 1659 |
# File 'lib/stripe/resources/payment_method.rb', line 1657 def sepa_debit @sepa_debit end |
#shopeepay ⇒ Object (readonly)
Attribute for field shopeepay
1659 1660 1661 |
# File 'lib/stripe/resources/payment_method.rb', line 1659 def shopeepay @shopeepay end |
#sofort ⇒ Object (readonly)
Attribute for field sofort
1661 1662 1663 |
# File 'lib/stripe/resources/payment_method.rb', line 1661 def sofort @sofort end |
#swish ⇒ Object (readonly)
Attribute for field swish
1663 1664 1665 |
# File 'lib/stripe/resources/payment_method.rb', line 1663 def swish @swish end |
#twint ⇒ Object (readonly)
Attribute for field twint
1665 1666 1667 |
# File 'lib/stripe/resources/payment_method.rb', line 1665 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.
1667 1668 1669 |
# File 'lib/stripe/resources/payment_method.rb', line 1667 def type @type end |
#us_bank_account ⇒ Object (readonly)
Attribute for field us_bank_account
1669 1670 1671 |
# File 'lib/stripe/resources/payment_method.rb', line 1669 def us_bank_account @us_bank_account end |
#wechat_pay ⇒ Object (readonly)
Attribute for field wechat_pay
1671 1672 1673 |
# File 'lib/stripe/resources/payment_method.rb', line 1671 def wechat_pay @wechat_pay end |
#zip ⇒ Object (readonly)
Attribute for field zip
1673 1674 1675 |
# File 'lib/stripe/resources/payment_method.rb', line 1673 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.
1710 1711 1712 1713 1714 1715 1716 1717 |
# File 'lib/stripe/resources/payment_method.rb', line 1710 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.
1722 1723 1724 |
# File 'lib/stripe/resources/payment_method.rb', line 1722 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.
1737 1738 1739 1740 1741 1742 1743 1744 |
# File 'lib/stripe/resources/payment_method.rb', line 1737 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.
1747 1748 1749 |
# File 'lib/stripe/resources/payment_method.rb', line 1747 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(payment_method, params = {}, opts = {}) ⇒ Object
Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.
1752 1753 1754 1755 1756 1757 1758 1759 |
# File 'lib/stripe/resources/payment_method.rb', line 1752 def self.update(payment_method, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/payment_methods/%<payment_method>s", { payment_method: CGI.escape(payment_method) }), 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.
1688 1689 1690 1691 1692 1693 1694 1695 |
# File 'lib/stripe/resources/payment_method.rb', line 1688 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.
1727 1728 1729 1730 1731 1732 1733 1734 |
# File 'lib/stripe/resources/payment_method.rb', line 1727 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 |