PaymentIntents to * collect payments or saved to Customer objects to store instrument details for * future payments. * * Related guides: Payment Methods and * More Payment * Scenarios. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property \Stripe\StripeObject $acss_debit * @property \Stripe\StripeObject $afterpay_clearpay * @property \Stripe\StripeObject $alipay * @property \Stripe\StripeObject $au_becs_debit * @property \Stripe\StripeObject $bacs_debit * @property \Stripe\StripeObject $bancontact * @property \Stripe\StripeObject $billing_details * @property \Stripe\StripeObject $boleto * @property \Stripe\StripeObject $card * @property \Stripe\StripeObject $card_present * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\Customer $customer 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. * @property \Stripe\StripeObject $eps * @property \Stripe\StripeObject $fpx * @property \Stripe\StripeObject $giropay * @property \Stripe\StripeObject $grabpay * @property \Stripe\StripeObject $ideal * @property \Stripe\StripeObject $interac_present * @property \Stripe\StripeObject $klarna * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata 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. * @property \Stripe\StripeObject $oxxo * @property \Stripe\StripeObject $p24 * @property \Stripe\StripeObject $sepa_debit * @property \Stripe\StripeObject $sofort * @property string $type 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. * @property \Stripe\StripeObject $wechat_pay */ class PaymentMethod extends ApiResource { const OBJECT_NAME = 'payment_method'; use ApiOperations\All; use ApiOperations\Create; use ApiOperations\Retrieve; use ApiOperations\Update; /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod the attached payment method */ public function attach($params = null, $opts = null) { $url = $this->instanceUrl() . '/attach'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod the detached payment method */ public function detach($params = null, $opts = null) { $url = $this->instanceUrl() . '/detach'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } }