| Current File : /home/digitaw/www/wp-content/plugins/event-tickets/src/Tickets/Commerce/Gateways/PayPal/Buttons.php |
<?php
namespace TEC\Tickets\Commerce\Gateways\PayPal;
use Tribe__Utils__Array as Arr;
use TEC\Tickets\Commerce\Module;
use TEC\Tickets\Commerce\Cart;
/**
* Class Buttons
*
* @since 5.1.9
*
* @package TEC\Tickets\Commerce\Gateways\PayPal
*/
class Buttons {
/**
* Stores the instance of the template engine that we will use for rendering the elements.
*
* @since 5.1.9
*
* @var \Tribe__Template
*/
protected $template;
/**
* Gets the template instance used to setup the rendering of the page.
*
* @since 5.1.9
*
* @return \Tribe__Template
*/
public function get_template() {
if ( empty( $this->template ) ) {
$this->template = new \Tribe__Template();
$this->template->set_template_origin( \Tribe__Tickets__Main::instance() );
$this->template->set_template_folder( 'src/views/v2/commerce/gateway/paypal' );
$this->template->set_template_context_extract( true );
$this->template->set_template_folder_lookup( true );
}
return $this->template;
}
/**
* Returns the variables for gateway's checkout template.
*
* @since 5.3.0
*
* @return []
*/
public function get_checkout_template_vars() {
$client = tribe( Client::class );
$template_vars = [
'url' => $client->get_js_sdk_url(),
'attribution_id' => Gateway::ATTRIBUTION_ID,
];
$client_token_data = $client->get_client_token();
$client_token = Arr::get( $client_token_data, 'client_token' );
$client_token_expires_in = Arr::get( $client_token_data, 'expires_in' );
if ( ! empty( $client_token ) && ! empty( $client_token_expires_in ) ) {
$template_vars['client_token'] = $client_token;
$template_vars['client_token_expires_in'] = $client_token_expires_in - 60;
}
$merchant = tribe( Merchant::class );
$template_vars['supports_custom_payments'] = $merchant->get_supports_custom_payments();
$template_vars['active_custom_payments'] = $merchant->get_active_custom_payments();
return $template_vars;
}
}