Gestionnaire de fichiers - Editer - /home/wwgoat/public_html/blog/wp-content/plugins/simple-membership/lib/braintree/lib/Braintree/DisputeGateway.php
Arrière
<?php namespace Braintree; use InvalidArgumentException; /** * Braintree DisputeGateway module * PHP Version 5 * Creates and manages Braintree Disputes * * @package Braintree */ class DisputeGateway { /** * @var Gateway */ private $_gateway; /** * @var Configuration */ private $_config; /** * @var Http */ private $_http; /** * @param Gateway $gateway */ public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /* public class methods */ /** * Accepts a dispute, given a dispute ID * * @param string $id */ public function accept($id) { try { if (trim($id) == "") { throw new Exception\NotFound(); } $path = $this->_config->merchantPath() . '/disputes/' . $id . '/accept'; $response = $this->_http->put($path); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } return new Result\Successful(); } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } } /** * Adds file evidence to a dispute, given a dispute ID and a document ID * * @param string $disputeId * @param string $documentIdOrRequest */ public function addFileEvidence($disputeId, $documentIdOrRequest) { $request = is_array($documentIdOrRequest) ? $documentIdOrRequest : ['documentId' => $documentIdOrRequest]; if (trim($disputeId) == "") { throw new Exception\NotFound('dispute with id "' . $disputeId . '" not found'); } if (trim($request['documentId']) == "") { throw new Exception\NotFound('document with id "' . $request['documentId'] . '" not found'); } try { if (array_key_exists('category', $request)) { if (trim($request['category']) == "") { throw new InvalidArgumentException('category cannot be blank'); } } $request['document_upload_id'] = $request['documentId']; unset($request['documentId']); $path = $this->_config->merchantPath() . '/disputes/' . $disputeId . '/evidence'; $response = $this->_http->post($path, ['evidence' => $request]); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } if (isset($response['evidence'])) { $evidence = new Dispute\EvidenceDetails($response['evidence']); return new Result\Successful($evidence); } } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $disputeId . '" not found'); } } /** * Adds text evidence to a dispute, given a dispute ID and content * * @param string $id * @param string $content */ public function addTextEvidence($id, $contentOrRequest) { $request = is_array($contentOrRequest) ? $contentOrRequest : ['content' => $contentOrRequest]; if (trim($request['content']) == "") { throw new InvalidArgumentException('content cannot be blank'); } try { $evidence = [ 'comments' => $request['content'], ]; if (trim($id) == "") { throw new Exception\NotFound(); } if (array_key_exists('tag', $request)) { $evidence['category'] = $request['tag']; } if (array_key_exists('category', $request)) { if (trim($request['category']) == "") { throw new InvalidArgumentException('category cannot be blank'); } $evidence['category'] = $request['category']; } if (array_key_exists('sequenceNumber', $request)) { if (trim($request['sequenceNumber']) == "") { throw new InvalidArgumentException('sequenceNumber cannot be blank'); } else if ((string)(int)($request['sequenceNumber']) != $request['sequenceNumber']) { throw new InvalidArgumentException('sequenceNumber must be an integer'); } $evidence['sequenceNumber'] = (int)$request['sequenceNumber']; } $path = $this->_config->merchantPath() . '/disputes/' . $id . '/evidence'; $response = $this->_http->post($path, [ 'evidence' => $evidence ]); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } if (isset($response['evidence'])) { $evidence = new Dispute\EvidenceDetails($response['evidence']); return new Result\Successful($evidence); } } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } } /** * Finalize a dispute, given a dispute ID * * @param string $id */ public function finalize($id) { try { if (trim($id) == "") { throw new Exception\NotFound(); } $path = $this->_config->merchantPath() . '/disputes/' . $id . '/finalize'; $response = $this->_http->put($path); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } return new Result\Successful(); } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } } /** * Find a dispute, given a dispute ID * * @param string $id */ public function find($id) { if (trim($id) == "") { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } try { $path = $this->_config->merchantPath() . '/disputes/' . $id; $response = $this->_http->get($path); return Dispute::factory($response['dispute']); } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } } /** * Remove evidence from a dispute, given a dispute ID and evidence ID * * @param string $disputeId * @param string $evidenceId */ public function removeEvidence($disputeId, $evidenceId) { try { if (trim($disputeId) == "" || trim($evidenceId) == "") { throw new Exception\NotFound(); } $path = $this->_config->merchantPath() . '/disputes/' . $disputeId . '/evidence/' . $evidenceId; $response = $this->_http->delete($path); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } return new Result\Successful(); } catch (Exception\NotFound $e) { throw new Exception\NotFound('evidence with id "' . $evidenceId . '" for dispute with id "' . $disputeId . '" not found'); } } /** * Search for Disputes, given a DisputeSearch query * * @param DisputeSearch $query */ public function search($query) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $pager = [ 'object' => $this, 'method' => 'fetchDisputes', 'query' => $criteria ]; return new PaginatedCollection($pager); } public function fetchDisputes($query, $page) { $response = $this->_http->post($this->_config->merchantPath() . '/disputes/advanced_search?page=' . $page, [ 'search' => $query ]); $body = $response['disputes']; $disputes = Util::extractattributeasarray($body, 'dispute'); $totalItems = $body['totalItems'][0]; $pageSize = $body['pageSize'][0]; return new PaginatedResult($totalItems, $pageSize, $disputes); } } class_alias('Braintree\DisputeGateway', 'Braintree_DisputeGateway');
| ver. 1.4 |
Github
|
.
| PHP 8.0.30 | Génération de la page: 0 |
proxy
|
phpinfo
|
Réglages