2025-12-07 05:00:42 +00:00

138 lines
3.6 KiB
PHP

<?php
class Stripe_Charge extends Stripe_ApiResource
{
/**
* @param string $id The ID of the charge to retrieve.
* @param string|null $apiKey
*
* @return Stripe_Charge
*/
public static function retrieve($id, $options=null)
{
$class = get_class();
return self::_scopedRetrieve($class, $id, $options);
}
/**
* @param array|null $params
* @param string|null $apiKey
*
* @return array An array of Stripe_Charges.
*/
public static function all($params=null, $options=null)
{
$class = get_class();
return self::_scopedAll($class, $params, $options);
}
/**
* @param array|null $params
* @param string|null $apiKey
*
* @return Stripe_Charge The created charge.
*/
public static function create($params=null, $options=null)
{
$class = get_class();
return self::_scopedCreate($class, $params, $options);
}
/**
* @return Stripe_Charge The saved charge.
*/
public function save($options=null)
{
$class = get_class();
return self::_scopedSave($class, $options);
}
/**
* @param array|null $params
*
* @return Stripe_Charge The refunded charge.
*/
public function refund($params=null, $options=null)
{
$opts = $this->parseOptions($options);
$requestor = new Stripe_ApiRequestor($opts->apiKey);
$url = $this->instanceUrl() . '/refund';
list($response, $apiKey) =
$requestor->request('post', $url, $params, $opts->headers);
$this->refreshFrom($response, $apiKey);
return $this;
}
/**
* @param array|null $params
*
* @return Stripe_Charge The captured charge.
*/
public function capture($params=null, $options=null)
{
$opts = $this->parseOptions($options);
$requestor = new Stripe_ApiRequestor($opts->apiKey);
$url = $this->instanceUrl() . '/capture';
list($response, $apiKey) =
$requestor->request('post', $url, $params, $opts->headers);
$this->refreshFrom($response, $apiKey);
return $this;
}
/**
* @param array|null $params
*
* @return array The updated dispute.
*/
public function updateDispute($params=null, $option=null)
{
$opts = $this->parseOptions($options);
$requestor = new Stripe_ApiRequestor($opts->apiKey);
$url = $this->instanceUrl() . '/dispute';
list($response, $apiKey) =
$requestor->request('post', $url, $params, $headers);
$this->refreshFrom(array('dispute' => $response), $apiKey, true);
return $this->dispute;
}
/**
* @return Stripe_Charge The updated charge.
*/
public function closeDispute($options=null)
{
$opts = $this->parseOptions($options);
$requestor = new Stripe_ApiRequestor($opts->apiKey);
$url = $this->instanceUrl() . '/dispute/close';
list($response, $apiKey) =
$requestor->request('post', $url, null, $opts->headers);
$this->refreshFrom($response, $apiKey);
return $this;
}
/**
* @return Stripe_Charge The updated charge.
*/
public function markAsFraudulent()
{
$params = array('fraud_details' => array('user_report' => 'fraudulent'));
$requestor = new Stripe_ApiRequestor($this->_apiKey);
$url = $this->instanceUrl();
list($response, $apiKey) = $requestor->request('post', $url, $params);
$this->refreshFrom($response, $apiKey);
return $this;
}
/**
* @return Stripe_Charge The updated charge.
*/
public function markAsSafe()
{
$params = array('fraud_details' => array('user_report' => 'safe'));
$requestor = new Stripe_ApiRequestor($this->_apiKey);
$url = $this->instanceUrl();
list($response, $apiKey) = $requestor->request('post', $url, $params);
$this->refreshFrom($response, $apiKey);
return $this;
}
}