siip-stripe-payment_intents/vendor/stripe/stripe-php/lib/Service/PaymentMethodService.php
DANYDHSV 7e4a535038 feat(stripe-sync): implementar resolución dinámica de métodos de pago y corregir validación API
- Se agregó 'getPaymentMethodIdByName' para buscar automáticamente el ID de "Transferencia bancaria" por nombre, asegurando portabilidad entre servidores UISP.
- Se implementó el manejo del webhook 'customer_cash_balance_transaction.created' para el registro automático de pagos fondeados.
- Fix: Se corrigió error 422 en la API de UCRM forzando el cast de 'clientId' a integer y 'methodId' a string (GUID).
- Se actualizó la documentación (README/CHANGELOG) con instrucciones de configuración de webhooks.
2025-12-23 14:50:01 -06:00

142 lines
5.4 KiB
PHP
Executable File
Raw Permalink 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 Stripe\Service;
/**
* @phpstan-import-type RequestOptionsArray from \Stripe\Util\RequestOptions
*/
/**
* @psalm-import-type RequestOptionsArray from \Stripe\Util\RequestOptions
*/
class PaymentMethodService extends \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|RequestOptionsArray|\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|RequestOptionsArray|\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|RequestOptionsArray|\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|RequestOptionsArray|\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|RequestOptionsArray|\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|RequestOptionsArray|\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);
}
}