PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.7.2
GiveWP – Donation Plugin and Fundraising Platform v2.7.2
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 6 years ago Checkout 6 years ago Error 6 years ago HttpClient 6 years ago Issuing 6 years ago Radar 6 years ago Reporting 6 years ago Sigma 6 years ago Terminal 6 years ago Util 6 years ago Account.php 6 years ago AccountLink.php 6 years ago AlipayAccount.php 6 years ago ApiRequestor.php 6 years ago ApiResource.php 6 years ago ApiResponse.php 6 years ago ApplePayDomain.php 6 years ago ApplicationFee.php 6 years ago ApplicationFeeRefund.php 6 years ago Balance.php 6 years ago BalanceTransaction.php 6 years ago BankAccount.php 6 years ago BitcoinReceiver.php 6 years ago BitcoinTransaction.php 6 years ago Capability.php 6 years ago Card.php 6 years ago Charge.php 6 years ago Collection.php 6 years ago CountrySpec.php 6 years ago Coupon.php 6 years ago CreditNote.php 6 years ago Customer.php 6 years ago CustomerBalanceTransaction.php 6 years ago Discount.php 6 years ago Dispute.php 6 years ago EphemeralKey.php 6 years ago Event.php 6 years ago ExchangeRate.php 6 years ago File.php 6 years ago FileLink.php 6 years ago FileUpload.php 6 years ago Invoice.php 6 years ago InvoiceItem.php 6 years ago InvoiceLineItem.php 6 years ago IssuerFraudRecord.php 6 years ago LoginLink.php 6 years ago OAuth.php 6 years ago Order.php 6 years ago OrderItem.php 6 years ago OrderReturn.php 6 years ago PaymentIntent.php 6 years ago PaymentMethod.php 6 years ago Payout.php 6 years ago Person.php 6 years ago Plan.php 6 years ago Product.php 6 years ago Recipient.php 6 years ago RecipientTransfer.php 6 years ago Refund.php 6 years ago RequestTelemetry.php 6 years ago Review.php 6 years ago SKU.php 6 years ago SetupIntent.php 6 years ago SingletonApiResource.php 6 years ago Source.php 6 years ago SourceTransaction.php 6 years ago Stripe.php 6 years ago StripeObject.php 6 years ago Subscription.php 6 years ago SubscriptionItem.php 6 years ago SubscriptionSchedule.php 6 years ago TaxId.php 6 years ago TaxRate.php 6 years ago ThreeDSecure.php 6 years ago Token.php 6 years ago Topup.php 6 years ago Transfer.php 6 years ago TransferReversal.php 6 years ago UsageRecord.php 6 years ago UsageRecordSummary.php 6 years ago Webhook.php 6 years ago WebhookEndpoint.php 6 years ago WebhookSignature.php 6 years ago
ApiResource.php
113 lines
1 <?php
2
3 namespace Stripe;
4
5 /**
6 * Class ApiResource
7 *
8 * @package Stripe
9 */
10 abstract class ApiResource extends StripeObject
11 {
12 use ApiOperations\Request;
13
14 /**
15 * @return \Stripe\Util\Set A list of fields that can be their own type of
16 * API resource (say a nested card under an account for example), and if
17 * that resource is set, it should be transmitted to the API on a create or
18 * update. Doing so is not the default behavior because API resources
19 * should normally be persisted on their own RESTful endpoints.
20 */
21 public static function getSavedNestedResources()
22 {
23 static $savedNestedResources = null;
24 if ($savedNestedResources === null) {
25 $savedNestedResources = new Util\Set();
26 }
27 return $savedNestedResources;
28 }
29
30 /**
31 * @var boolean A flag that can be set a behavior that will cause this
32 * resource to be encoded and sent up along with an update of its parent
33 * resource. This is usually not desirable because resources are updated
34 * individually on their own endpoints, but there are certain cases,
35 * replacing a customer's source for example, where this is allowed.
36 */
37 public $saveWithParent = false;
38
39 public function __set($k, $v)
40 {
41 parent::__set($k, $v);
42 $v = $this->$k;
43 if ((static::getSavedNestedResources()->includes($k)) &&
44 ($v instanceof ApiResource)) {
45 $v->saveWithParent = true;
46 }
47 return $v;
48 }
49
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 return $this;
67 }
68
69 /**
70 * @return string The base URL for the given class.
71 */
72 public static function baseUrl()
73 {
74 return Stripe::$apiBase;
75 }
76
77 /**
78 * @return string The endpoint URL for the given class.
79 */
80 public static function classUrl()
81 {
82 // Replace dots with slashes for namespaced resources, e.g. if the object's name is
83 // "foo.bar", then its URL will be "/v1/foo/bars".
84 $base = str_replace('.', '/', static::OBJECT_NAME);
85 return "/v1/${base}s";
86 }
87
88 /**
89 * @return string The instance endpoint URL for the given class.
90 */
91 public static function resourceUrl($id)
92 {
93 if ($id === null) {
94 $class = get_called_class();
95 $message = "Could not determine which URL to request: "
96 . "$class instance has invalid ID: $id";
97 throw new Error\InvalidRequest($message, null);
98 }
99 $id = Util\Util::utf8($id);
100 $base = static::classUrl();
101 $extn = urlencode($id);
102 return "$base/$extn";
103 }
104
105 /**
106 * @return string The full API URL for this API resource.
107 */
108 public function instanceUrl()
109 {
110 return static::resourceUrl($this['id']);
111 }
112 }
113