diff --git a/modules/ppcp-api-client/src/Repository/CustomerRepository.php b/modules/ppcp-api-client/src/Repository/CustomerRepository.php index eb6e0cf6a..93134624e 100644 --- a/modules/ppcp-api-client/src/Repository/CustomerRepository.php +++ b/modules/ppcp-api-client/src/Repository/CustomerRepository.php @@ -13,6 +13,7 @@ namespace WooCommerce\PayPalCommerce\ApiClient\Repository; * Class CustomerRepository */ class CustomerRepository { + const CLIENT_ID_MAX_LENGTH = 22; /** * The prefix. @@ -43,7 +44,7 @@ class CustomerRepository { return $guest_customer_id; } - $unique_id = $this->prefix . uniqid(); + $unique_id = substr( $this->prefix . strrev( uniqid() ), 0, self::CLIENT_ID_MAX_LENGTH ); WC()->session->set( 'ppcp_guest_customer_id', $unique_id ); return $unique_id; diff --git a/modules/ppcp-button/src/Assets/SmartButton.php b/modules/ppcp-button/src/Assets/SmartButton.php index 46a1f44fc..667560dbc 100644 --- a/modules/ppcp-button/src/Assets/SmartButton.php +++ b/modules/ppcp-button/src/Assets/SmartButton.php @@ -647,7 +647,7 @@ class SmartButton implements SmartButtonInterface { $localize = array( 'script_attributes' => $this->attributes(), 'data_client_id' => array( - 'set_attribute' => $this->can_save_vault_token(), + 'set_attribute' => ( is_checkout() && $this->dcc_is_enabled() ) || $this->can_save_vault_token(), 'endpoint' => home_url( \WC_AJAX::get_endpoint( DataClientIdEndpoint::ENDPOINT ) ), 'nonce' => wp_create_nonce( DataClientIdEndpoint::nonce() ), 'user' => get_current_user_id(),