Files
wp-multisite-waas/dependencies/stripe/stripe-php/lib/Service/PaymentMethodService.php
2024-11-30 18:24:12 -07:00

130 lines
5.2 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
// File generated from our OpenAPI spec
namespace WP_Ultimo\Dependencies\Stripe\Service;
class PaymentMethodService extends \WP_Ultimo\Dependencies\Stripe\Service\AbstractService
{
/**
* 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 <a
* href="/docs/api/payment_methods/customer_list">List a Customers
* PaymentMethods</a> API instead.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection<\Stripe\PaymentMethod>
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/payment_methods', $params, $opts);
}
/**
* Attaches a PaymentMethod object to a Customer.
*
* To attach a new PaymentMethod to a customer for future payments, we recommend
* you use a <a href="/docs/api/setup_intents">SetupIntent</a> or a PaymentIntent
* with <a
* href="/docs/api/payment_intents/create#create_payment_intent-setup_future_usage">setup_future_usage</a>.
* These approaches will perform any necessary steps to set up the PaymentMethod
* for future payments. Using the <code>/v1/payment_methods/:id/attach</code>
* endpoint without first using a SetupIntent or PaymentIntent with
* <code>setup_future_usage</code> does not optimize the PaymentMethod for future
* use, which makes later declines and payment friction more likely. See <a
* href="/docs/payments/payment-intents#future-usage">Optimizing cards for future
* payments</a> for more information about setting up future payments.
*
* To use this PaymentMethod as the default for invoice or subscription payments,
* set <a
* href="/docs/api/customers/update#update_customer-invoice_settings-default_payment_method"><code>invoice_settings.default_payment_method</code></a>,
* on the Customer to the PaymentMethods ID.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function attach($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_methods/%s/attach', $id), $params, $opts);
}
/**
* Creates a PaymentMethod object. Read the <a
* href="/docs/stripe-js/reference#stripe-create-payment-method">Stripe.js
* reference</a> to learn how to create PaymentMethods via Stripe.js.
*
* Instead of creating a PaymentMethod directly, we recommend using the <a
* href="/docs/payments/accept-a-payment">PaymentIntents</a> API to accept a
* payment immediately or the <a
* href="/docs/payments/save-and-reuse">SetupIntent</a> API to collect payment
* method details ahead of a future payment.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/payment_methods', $params, $opts);
}
/**
* 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.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function detach($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_methods/%s/detach', $id), $params, $opts);
}
/**
* Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a
* payment method attached to a Customer, you should use <a
* href="/docs/api/payment_methods/customer">Retrieve a Customers
* PaymentMethods</a>.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/payment_methods/%s', $id), $params, $opts);
}
/**
* Updates a PaymentMethod object. A PaymentMethod must be attached a customer to
* be updated.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\PaymentMethod
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payment_methods/%s', $id), $params, $opts);
}
}