PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.3
GiveWP – Donation Plugin and Fundraising Platform v4.16.3
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / stripe / stripe-php / lib / ApiResource.php
give / vendor / stripe / stripe-php / lib Last commit date
ApiOperations 2 years ago BillingPortal 2 years ago Checkout 2 years ago Exception 4 years ago FinancialConnections 2 years ago HttpClient 2 years ago Identity 2 years ago Issuing 2 years ago Radar 2 years ago Reporting 4 years ago Service 2 years ago Sigma 4 years ago Terminal 2 years ago TestHelpers 2 years ago Util 2 years ago Account.php 2 years ago AccountLink.php 4 years ago AlipayAccount.php 4 years ago ApiRequestor.php 2 years ago ApiResource.php 2 years ago ApiResponse.php 4 years ago ApplePayDomain.php 4 years ago ApplicationFee.php 2 years ago ApplicationFeeRefund.php 4 years ago Balance.php 4 years ago BalanceTransaction.php 4 years ago BankAccount.php 4 years ago BaseStripeClient.php 2 years ago BaseStripeClientInterface.php 4 years ago BitcoinReceiver.php 2 years ago BitcoinTransaction.php 4 years ago Capability.php 4 years ago Card.php 2 years ago CashBalance.php 2 years ago Charge.php 2 years ago Collection.php 2 years ago CountrySpec.php 4 years ago Coupon.php 2 years ago CreditNote.php 2 years ago CreditNoteLineItem.php 4 years ago Customer.php 2 years ago CustomerBalanceTransaction.php 4 years ago Discount.php 2 years ago Dispute.php 4 years ago EphemeralKey.php 4 years ago ErrorObject.php 4 years ago Event.php 2 years ago ExchangeRate.php 4 years ago File.php 2 years ago FileLink.php 4 years ago FundingInstructions.php 2 years ago Invoice.php 2 years ago InvoiceItem.php 2 years ago InvoiceLineItem.php 2 years ago LineItem.php 4 years ago LoginLink.php 4 years ago Mandate.php 4 years ago OAuth.php 4 years ago OAuthErrorObject.php 4 years ago Order.php 2 years ago OrderItem.php 4 years ago OrderReturn.php 4 years ago PaymentIntent.php 2 years ago PaymentLink.php 2 years ago PaymentMethod.php 2 years ago Payout.php 4 years ago Person.php 2 years ago Plan.php 2 years ago Price.php 2 years ago Product.php 2 years ago PromotionCode.php 2 years ago Quote.php 2 years ago Recipient.php 2 years ago RecipientTransfer.php 4 years ago Refund.php 2 years ago RequestTelemetry.php 4 years ago Review.php 4 years ago SKU.php 2 years ago SearchResult.php 2 years ago SetupAttempt.php 4 years ago SetupIntent.php 2 years ago ShippingRate.php 2 years ago SingletonApiResource.php 2 years ago Source.php 4 years ago SourceTransaction.php 4 years ago Stripe.php 2 years ago StripeClient.php 2 years ago StripeClientInterface.php 4 years ago StripeObject.php 2 years ago StripeStreamingClientInterface.php 4 years ago Subscription.php 2 years ago SubscriptionItem.php 2 years ago SubscriptionSchedule.php 2 years ago TaxCode.php 2 years ago TaxId.php 2 years ago TaxRate.php 4 years ago ThreeDSecure.php 4 years ago Token.php 4 years ago Topup.php 4 years ago Transfer.php 2 years ago TransferReversal.php 4 years ago UsageRecord.php 4 years ago UsageRecordSummary.php 4 years ago Webhook.php 4 years ago WebhookEndpoint.php 4 years ago WebhookSignature.php 4 years ago
ApiResource.php
123 lines
1 <?php
2
3 namespace Stripe;
4
5 /**
6 * Class ApiResource.
7 */
8 abstract class ApiResource extends StripeObject
9 {
10 use ApiOperations\Request;
11
12 /**
13 * @return \Stripe\Util\Set A list of fields that can be their own type of
14 * API resource (say a nested card under an account for example), and if
15 * that resource is set, it should be transmitted to the API on a create or
16 * update. Doing so is not the default behavior because API resources
17 * should normally be persisted on their own RESTful endpoints.
18 */
19 public static function getSavedNestedResources()
20 {
21 static $savedNestedResources = null;
22 if (null === $savedNestedResources) {
23 $savedNestedResources = new Util\Set();
24 }
25
26 return $savedNestedResources;
27 }
28
29 /**
30 * @var bool A flag that can be set a behavior that will cause this
31 * resource to be encoded and sent up along with an update of its parent
32 * resource. This is usually not desirable because resources are updated
33 * individually on their own endpoints, but there are certain cases,
34 * replacing a customer's source for example, where this is allowed.
35 */
36 public $saveWithParent = false;
37
38 public function __set($k, $v)
39 {
40 parent::__set($k, $v);
41 $v = $this->{$k};
42 if ((static::getSavedNestedResources()->includes($k))
43 && ($v instanceof ApiResource)) {
44 $v->saveWithParent = true;
45 }
46 }
47
48 /**
49 * @throws Exception\ApiErrorException
50 *
51 * @return ApiResource the refreshed resource
52 */
53 public function refresh()
54 {
55 $requestor = new ApiRequestor($this->_opts->apiKey, static::baseUrl());
56 $url = $this->instanceUrl();
57
58 list($response, $this->_opts->apiKey) = $requestor->request(
59 'get',
60 $url,
61 $this->_retrieveOptions,
62 $this->_opts->headers
63 );
64 $this->setLastResponse($response);
65 $this->refreshFrom($response->json, $this->_opts);
66
67 return $this;
68 }
69
70 /**
71 * @return string the base URL for the given class
72 */
73 public static function baseUrl()
74 {
75 return Stripe::$apiBase;
76 }
77
78 /**
79 * @return string the endpoint URL for the given class
80 */
81 public static function classUrl()
82 {
83 // Replace dots with slashes for namespaced resources, e.g. if the object's name is
84 // "foo.bar", then its URL will be "/v1/foo/bars".
85
86 /** @phpstan-ignore-next-line */
87 $base = \str_replace('.', '/', static::OBJECT_NAME);
88
89 return "/v1/{$base}s";
90 }
91
92 /**
93 * @param null|string $id the ID of the resource
94 *
95 * @throws Exception\UnexpectedValueException if $id is null
96 *
97 * @return string the instance endpoint URL for the given class
98 */
99 public static function resourceUrl($id)
100 {
101 if (null === $id) {
102 $class = static::class;
103 $message = 'Could not determine which URL to request: '
104 . "{$class} instance has invalid ID: {$id}";
105
106 throw new Exception\UnexpectedValueException($message);
107 }
108 $id = Util\Util::utf8($id);
109 $base = static::classUrl();
110 $extn = \urlencode($id);
111
112 return "{$base}/{$extn}";
113 }
114
115 /**
116 * @return string the full API URL for this API resource
117 */
118 public function instanceUrl()
119 {
120 return static::resourceUrl($this['id']);
121 }
122 }
123