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 / Service / OAuthService.php
give / vendor / stripe / stripe-php / lib / Service Last commit date
BillingPortal 2 years ago Checkout 2 years ago FinancialConnections 2 years ago Identity 2 years ago Issuing 2 years ago Radar 2 years ago Reporting 2 years ago Sigma 2 years ago Terminal 2 years ago TestHelpers 2 years ago AbstractService.php 2 years ago AbstractServiceFactory.php 4 years ago AccountLinkService.php 4 years ago AccountService.php 2 years ago ApplePayDomainService.php 2 years ago ApplicationFeeService.php 2 years ago BalanceService.php 4 years ago BalanceTransactionService.php 2 years ago ChargeService.php 2 years ago CoreServiceFactory.php 2 years ago CountrySpecService.php 2 years ago CouponService.php 2 years ago CreditNoteService.php 2 years ago CustomerService.php 2 years ago DisputeService.php 2 years ago EphemeralKeyService.php 4 years ago EventService.php 2 years ago ExchangeRateService.php 2 years ago FileLinkService.php 2 years ago FileService.php 2 years ago InvoiceItemService.php 2 years ago InvoiceService.php 2 years ago MandateService.php 4 years ago OAuthService.php 4 years ago OrderReturnService.php 2 years ago OrderService.php 2 years ago PaymentIntentService.php 2 years ago PaymentLinkService.php 2 years ago PaymentMethodService.php 2 years ago PayoutService.php 2 years ago PlanService.php 2 years ago PriceService.php 2 years ago ProductService.php 2 years ago PromotionCodeService.php 2 years ago QuoteService.php 2 years ago RefundService.php 2 years ago ReviewService.php 2 years ago SetupAttemptService.php 2 years ago SetupIntentService.php 2 years ago ShippingRateService.php 2 years ago SkuService.php 2 years ago SourceService.php 4 years ago SubscriptionItemService.php 2 years ago SubscriptionScheduleService.php 2 years ago SubscriptionService.php 2 years ago TaxCodeService.php 2 years ago TaxRateService.php 2 years ago TokenService.php 4 years ago TopupService.php 2 years ago TransferService.php 2 years ago WebhookEndpointService.php 2 years ago
OAuthService.php
151 lines
1 <?php
2
3 namespace Stripe\Service;
4
5 class OAuthService extends \Stripe\Service\AbstractService
6 {
7 /**
8 * Sends a request to Stripe's Connect API.
9 *
10 * @param string $method the HTTP method
11 * @param string $path the path of the request
12 * @param array $params the parameters of the request
13 * @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request
14 *
15 * @return \Stripe\StripeObject the object returned by Stripe's Connect API
16 */
17 protected function requestConnect($method, $path, $params, $opts)
18 {
19 $opts = $this->_parseOpts($opts);
20 $opts->apiBase = $this->_getBase($opts);
21
22 return $this->request($method, $path, $params, $opts);
23 }
24
25 /**
26 * Generates a URL to Stripe's OAuth form.
27 *
28 * @param null|array $params
29 * @param null|array $opts
30 *
31 * @return string the URL to Stripe's OAuth form
32 */
33 public function authorizeUrl($params = null, $opts = null)
34 {
35 $params = $params ?: [];
36
37 $opts = $this->_parseOpts($opts);
38 $base = $this->_getBase($opts);
39
40 $params['client_id'] = $this->_getClientId($params);
41 if (!\array_key_exists('response_type', $params)) {
42 $params['response_type'] = 'code';
43 }
44 $query = \Stripe\Util\Util::encodeParameters($params);
45
46 return $base . '/oauth/authorize?' . $query;
47 }
48
49 /**
50 * Use an authoriztion code to connect an account to your platform and
51 * fetch the user's credentials.
52 *
53 * @param null|array $params
54 * @param null|array $opts
55 *
56 * @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails
57 *
58 * @return \Stripe\StripeObject object containing the response from the API
59 */
60 public function token($params = null, $opts = null)
61 {
62 $params = $params ?: [];
63 $params['client_secret'] = $this->_getClientSecret($params);
64
65 return $this->requestConnect('post', '/oauth/token', $params, $opts);
66 }
67
68 /**
69 * Disconnects an account from your platform.
70 *
71 * @param null|array $params
72 * @param null|array $opts
73 *
74 * @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails
75 *
76 * @return \Stripe\StripeObject object containing the response from the API
77 */
78 public function deauthorize($params = null, $opts = null)
79 {
80 $params = $params ?: [];
81 $params['client_id'] = $this->_getClientId($params);
82
83 return $this->requestConnect('post', '/oauth/deauthorize', $params, $opts);
84 }
85
86 private function _getClientId($params = null)
87 {
88 $clientId = ($params && \array_key_exists('client_id', $params)) ? $params['client_id'] : null;
89
90 if (null === $clientId) {
91 $clientId = $this->client->getClientId();
92 }
93 if (null === $clientId) {
94 $msg = 'No client_id provided. (HINT: set your client_id using '
95 . '`new \Stripe\StripeClient([clientId => <CLIENT-ID>
96 ])`)". You can find your client_ids '
97 . 'in your Stripe dashboard at '
98 . 'https://dashboard.stripe.com/account/applications/settings, '
99 . 'after registering your account as a platform. See '
100 . 'https://stripe.com/docs/connect/standard-accounts for details, '
101 . 'or email support@stripe.com if you have any questions.';
102
103 throw new \Stripe\Exception\AuthenticationException($msg);
104 }
105
106 return $clientId;
107 }
108
109 private function _getClientSecret($params = null)
110 {
111 if (\array_key_exists('client_secret', $params)) {
112 return $params['client_secret'];
113 }
114
115 return $this->client->getApiKey();
116 }
117
118 /**
119 * @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request
120 *
121 * @throws \Stripe\Exception\InvalidArgumentException
122 *
123 * @return \Stripe\Util\RequestOptions
124 */
125 private function _parseOpts($opts)
126 {
127 if (\is_array($opts)) {
128 if (\array_key_exists('connect_base', $opts)) {
129 // Throw an exception for the convenience of anybody migrating to
130 // \Stripe\Service\OAuthService from \Stripe\OAuth, where `connect_base`
131 // was the name of the parameter that behaves as `api_base` does here.
132 throw new \Stripe\Exception\InvalidArgumentException('Use `api_base`, not `connect_base`');
133 }
134 }
135
136 return \Stripe\Util\RequestOptions::parse($opts);
137 }
138
139 /**
140 * @param \Stripe\Util\RequestOptions $opts
141 *
142 * @return string
143 */
144 private function _getBase($opts)
145 {
146 return isset($opts->apiBase) ?
147 $opts->apiBase :
148 $this->client->getConnectBase();
149 }
150 }
151