Automattic\WooCommerce\Internal\Admin\Settings\PaymentsProviders\WooPayments

WooPaymentsRestController::handle_onboarding_business_verification_kyc_session_initprotectedWC 1.0

Handle the onboarding business verification step KYC session initialization action.

Method of the class: WooPaymentsRestController{}

No Hooks.

Returns

WP_Error|WP_REST_Response. The response or error.

Usage

// protected - for code of main (parent) or child class
$result = $this->handle_onboarding_business_verification_kyc_session_init( $request );
$request(WP_REST_Request) (required)
The request object.

WooPaymentsRestController::handle_onboarding_business_verification_kyc_session_init() code WC 10.7.0

protected function handle_onboarding_business_verification_kyc_session_init( WP_REST_Request $request ) {
	// If we receive self-assessment data with the request, we will use it.
	$self_assessment = ! empty( $request->get_param( 'self_assessment' ) ) ? wc_clean( wp_unslash( $request->get_param( 'self_assessment' ) ) ) : array();

	$location = $request->get_param( 'location' );
	if ( empty( $location ) ) {
		// Fall back to the providers country if no location is provided.
		$location = $this->payments->get_country();
	}

	$source = $request->get_param( 'source' );

	try {
		$account_session = $this->woopayments->get_onboarding_kyc_session( $location, $self_assessment, $source );
	} catch ( ApiException $e ) {
		return new WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) );
	}

	return rest_ensure_response(
		array(
			'success' => true,
			'session' => $account_session,
		)
	);
}