PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.15.4
GiveWP – Donation Plugin and Fundraising Platform v4.15.4
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 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 All 255 releases
give / vendor / stripe / stripe-php / lib / OAuth.php

OAuth.php in GiveWP – Donation Plugin and Fundraising Platform 4.15.4, at vendor/stripe/stripe-php/lib/OAuth.php

102 lines 3.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Stripe;
4
5 abstract class OAuth
6 {
7 /**
8 * Generates a URL to Stripe's OAuth form.
9 *
10 * @param null|array $params
11 * @param null|array $opts
12 *
13 * @return string the URL to Stripe's OAuth form
14 */
15 public static function authorizeUrl($params = null, $opts = null)
16 {
17 $params = $params ?: [];
18
19 $base = ($opts && \array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase;
20
21 $params['client_id'] = self::_getClientId($params);
22 if (!\array_key_exists('response_type', $params)) {
23 $params['response_type'] = 'code';
24 }
25 $query = Util\Util::encodeParameters($params);
26
27 return $base . '/oauth/authorize?' . $query;
28 }
29
30 /**
31 * Use an authoriztion code to connect an account to your platform and
32 * fetch the user's credentials.
33 *
34 * @param null|array $params
35 * @param null|array $opts
36 *
37 * @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails
38 *
39 * @return StripeObject object containing the response from the API
40 */
41 public static function token($params = null, $opts = null)
42 {
43 $base = ($opts && \array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase;
44 $requestor = new ApiRequestor(null, $base);
45 list($response, $apiKey) = $requestor->request(
46 'post',
47 '/oauth/token',
48 $params,
49 null
50 );
51
52 return Util\Util::convertToStripeObject($response->json, $opts);
53 }
54
55 /**
56 * Disconnects an account from your platform.
57 *
58 * @param null|array $params
59 * @param null|array $opts
60 *
61 * @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails
62 *
63 * @return StripeObject object containing the response from the API
64 */
65 public static function deauthorize($params = null, $opts = null)
66 {
67 $params = $params ?: [];
68 $base = ($opts && \array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase;
69 $requestor = new ApiRequestor(null, $base);
70 $params['client_id'] = self::_getClientId($params);
71 list($response, $apiKey) = $requestor->request(
72 'post',
73 '/oauth/deauthorize',
74 $params,
75 null
76 );
77
78 return Util\Util::convertToStripeObject($response->json, $opts);
79 }
80
81 private static function _getClientId($params = null)
82 {
83 $clientId = ($params && \array_key_exists('client_id', $params)) ? $params['client_id'] : null;
84 if (null === $clientId) {
85 $clientId = Stripe::getClientId();
86 }
87 if (null === $clientId) {
88 $msg = 'No client_id provided. (HINT: set your client_id using '
89 . '"Stripe::setClientId(<CLIENT-ID>)". You can find your client_ids '
90 . 'in your Stripe dashboard at '
91 . 'https://dashboard.stripe.com/account/applications/settings, '
92 . 'after registering your account as a platform. See '
93 . 'https://stripe.com/docs/connect/standard-accounts for details, '
94 . 'or email support@stripe.com if you have any questions.';
95
96 throw new Exception\AuthenticationException($msg);
97 }
98
99 return $clientId;
100 }
101 }
102