Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor-stripe/vendor/stripe/stripe-php/lib/OAuth.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
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
+
* @return StripeObject object containing the response from the API
38
+
*
39
+
* @throws Exception\OAuth\OAuthErrorException if the request fails
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
+
* @return StripeObject object containing the response from the API
62
+
*
63
+
* @throws Exception\OAuth\OAuthErrorException if the request fails
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
+