Files
Chamilo/vendor/stripe/stripe-php/lib/Service/RefundService.php
2025-08-14 22:41:49 +02:00

112 lines
4.3 KiB
PHP
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 RefundService extends AbstractService
{
/**
* Returns a list of all refunds you created. We return the refunds in sorted
* order, with the most recent refunds appearing first. The 10 most recent refunds
* are always available by default on the Charge object.
*
* @param null|array{charge?: string, created?: array|int, ending_before?: string, expand?: string[], limit?: int, payment_intent?: string, starting_after?: string} $params
* @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts
*
* @return \Stripe\Collection<\Stripe\Refund>
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/refunds', $params, $opts);
}
/**
* Cancels a refund with a status of <code>requires_action</code>.
*
* You cant cancel refunds in other states. Only refunds for payment methods that
* require customer action can enter the <code>requires_action</code> state.
*
* @param string $id
* @param null|array{expand?: string[]} $params
* @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts
*
* @return \Stripe\Refund
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*/
public function cancel($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/refunds/%s/cancel', $id), $params, $opts);
}
/**
* When you create a new refund, you must specify a Charge or a PaymentIntent
* object on which to create it.
*
* Creating a new refund will refund a charge that has previously been created but
* not yet refunded. Funds will be refunded to the credit or debit card that was
* originally charged.
*
* You can optionally refund only part of a charge. You can do so multiple times,
* until the entire charge has been refunded.
*
* Once entirely refunded, a charge cant be refunded again. This method will raise
* an error when called on an already-refunded charge, or when trying to refund
* more money than is left on a charge.
*
* @param null|array{amount?: int, charge?: string, currency?: string, customer?: string, expand?: string[], instructions_email?: string, metadata?: null|array<string, string>, origin?: string, payment_intent?: string, reason?: string, refund_application_fee?: bool, reverse_transfer?: bool} $params
* @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts
*
* @return \Stripe\Refund
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/refunds', $params, $opts);
}
/**
* Retrieves the details of an existing refund.
*
* @param string $id
* @param null|array{expand?: string[]} $params
* @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts
*
* @return \Stripe\Refund
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/refunds/%s', $id), $params, $opts);
}
/**
* Updates the refund that you specify by setting the values of the passed
* parameters. Any parameters that you dont provide remain unchanged.
*
* This request only accepts <code>metadata</code> as an argument.
*
* @param string $id
* @param null|array{expand?: string[], metadata?: null|array<string, string>} $params
* @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts
*
* @return \Stripe\Refund
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/refunds/%s', $id), $params, $opts);
}
}