@@ 7-69 (lines=63) @@ | ||
4 | exit; |
|
5 | } |
|
6 | ||
7 | if ( ! class_exists( 'WC_Stripe_Connect_REST_Oauth_Connect_Controller' ) ) { |
|
8 | /** |
|
9 | * Stripe Connect Oauth Connect controller class. |
|
10 | */ |
|
11 | class WC_Stripe_Connect_REST_Oauth_Connect_Controller extends WC_Stripe_Connect_REST_Controller { |
|
12 | ||
13 | /** |
|
14 | * REST base. |
|
15 | * |
|
16 | * @var string |
|
17 | */ |
|
18 | protected $rest_base = 'connect/stripe/oauth/connect'; |
|
19 | ||
20 | /** |
|
21 | * Stripe Connect. |
|
22 | * |
|
23 | * @var WC_Stripe_Connect |
|
24 | */ |
|
25 | protected $connect; |
|
26 | ||
27 | /** |
|
28 | * Constructor. |
|
29 | * |
|
30 | * @param WC_Stripe_Connect $connect stripe connect. |
|
31 | * @param WC_Stripe_Connect_API $api stripe connect api. |
|
32 | */ |
|
33 | public function __construct( WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api ) { |
|
34 | ||
35 | parent::__construct( $api ); |
|
36 | ||
37 | $this->connect = $connect; |
|
38 | } |
|
39 | ||
40 | /** |
|
41 | * OAuth Connection flow. |
|
42 | * |
|
43 | * @param array $request POST request. |
|
44 | * |
|
45 | * @return array|WP_Error |
|
46 | */ |
|
47 | public function post( $request ) { |
|
48 | ||
49 | $data = $request->get_json_params(); |
|
50 | $response = $this->connect->connect_oauth( $data['state'], $data['code'] ); |
|
51 | ||
52 | if ( is_wp_error( $response ) ) { |
|
53 | ||
54 | WC_Stripe_Logger::log( $response, __CLASS__ ); |
|
55 | ||
56 | return new WP_Error( |
|
57 | $response->get_error_code(), |
|
58 | $response->get_error_message(), |
|
59 | array( 'status' => 400 ) |
|
60 | ); |
|
61 | } |
|
62 | ||
63 | return array( |
|
64 | 'success' => true, |
|
65 | 'account_id' => $response->accountId, // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase |
|
66 | ); |
|
67 | } |
|
68 | } |
|
69 | } |
|
70 |
@@ 7-69 (lines=63) @@ | ||
4 | exit; |
|
5 | } |
|
6 | ||
7 | if ( ! class_exists( 'WC_Stripe_Connect_REST_Oauth_Init_Controller' ) ) { |
|
8 | /** |
|
9 | * Stripe Connect Oauth Init controller class. |
|
10 | */ |
|
11 | class WC_Stripe_Connect_REST_Oauth_Init_Controller extends WC_Stripe_Connect_REST_Controller { |
|
12 | ||
13 | /** |
|
14 | * REST base. |
|
15 | * |
|
16 | * @var string |
|
17 | */ |
|
18 | protected $rest_base = 'connect/stripe/oauth/init'; |
|
19 | ||
20 | /** |
|
21 | * Stripe Connect. |
|
22 | * |
|
23 | * @var WC_Stripe_Connect |
|
24 | */ |
|
25 | protected $connect; |
|
26 | ||
27 | /** |
|
28 | * Constructor. |
|
29 | * |
|
30 | * @param WC_Stripe_Connect $connect stripe connect. |
|
31 | * @param WC_Stripe_Connect_API $api stripe connect api. |
|
32 | */ |
|
33 | public function __construct( WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api ) { |
|
34 | ||
35 | parent::__construct( $api ); |
|
36 | ||
37 | $this->connect = $connect; |
|
38 | } |
|
39 | ||
40 | /** |
|
41 | * Initiate OAuth flow. |
|
42 | * |
|
43 | * @param array $request POST request. |
|
44 | * |
|
45 | * @return array|WP_Error |
|
46 | */ |
|
47 | public function post( $request ) { |
|
48 | ||
49 | $data = $request->get_json_params(); |
|
50 | $response = $this->connect->get_oauth_url( isset( $data['returnUrl'] ) ? $data['returnUrl'] : '' ); |
|
51 | ||
52 | if ( is_wp_error( $response ) ) { |
|
53 | ||
54 | WC_Stripe_Logger::log( $response, __CLASS__ ); |
|
55 | ||
56 | return new WP_Error( |
|
57 | $response->get_error_code(), |
|
58 | $response->get_error_message(), |
|
59 | array( 'status' => 400 ) |
|
60 | ); |
|
61 | } |
|
62 | ||
63 | return array( |
|
64 | 'success' => true, |
|
65 | 'oauthUrl' => $response, |
|
66 | ); |
|
67 | } |
|
68 | } |
|
69 | } |
|
70 |