diff --git a/modules/ppcp-api-client/src/Endpoint/IdentityToken.php b/modules/ppcp-api-client/src/Endpoint/IdentityToken.php index c11a8d271..ecbc11913 100644 --- a/modules/ppcp-api-client/src/Endpoint/IdentityToken.php +++ b/modules/ppcp-api-client/src/Endpoint/IdentityToken.php @@ -108,7 +108,6 @@ class IdentityToken { $customer_id = $this->customer_repository->customer_id_for_user( ( $user_id ) ); if ( 0 === $user_id ) { - $customer_id = uniqid(); WC()->session->set( 'ppcp_guest_customer_id', $customer_id ); } diff --git a/modules/ppcp-api-client/src/Repository/CustomerRepository.php b/modules/ppcp-api-client/src/Repository/CustomerRepository.php index d703851ef..61a3ca7b6 100644 --- a/modules/ppcp-api-client/src/Repository/CustomerRepository.php +++ b/modules/ppcp-api-client/src/Repository/CustomerRepository.php @@ -37,9 +37,13 @@ class CustomerRepository { * @return string */ public function customer_id_for_user( int $user_id ): string { + if ( 0 === $user_id ) { + return $this->prefix . uniqid(); + } + $guest_customer_id = get_user_meta( $user_id, 'ppcp_guest_customer_id', true ); if ( $guest_customer_id ) { - return $this->prefix . $guest_customer_id; + return $guest_customer_id; } return $this->prefix . (string) $user_id;