Avoid PDM dependency in components/facilitated_payments

FacilitatedPaymentsClients currently has a GetPersonalDataManager()
function. Since the component only cares about payments, this should
be GetPaymentsDataManager() instead. This CL makes this change.

This requires two changes:
- Exposing the app locale through the payments data manager. It already
  knows about it, so this simply requires adding a getter.
- Changing the PDM parameter of GetBillingCustomerId() to payments data
  manager. This is trivial too, since the function only calls the PDM's
  payments_data_manager() getter - but requires updating several
  existing usages in Autofill code.
  As a drive-by, this CL also updates the parameter of
  HasGooglePaymentsAccount(), since it only has a single caller.

Bug: b/322170538
Change-Id: I95bf37344183cc7d7196d165d8edf7805da375ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5538271
Reviewed-by: Vishwas Uppoor <vishwasuppoor@google.com>
Commit-Queue: Florian Leimgruber <fleimgruber@google.com>
Cr-Commit-Position: refs/heads/main@{#1301281}
diff --git a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.cc b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.cc
index b91cbd7..5444dd1 100644
--- a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.cc
+++ b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.cc
@@ -9,6 +9,7 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/browser/ui/autofill/risk_util.h"
+#include "components/autofill/core/browser/payments_data_manager.h"
 #include "components/autofill/core/browser/personal_data_manager.h"
 #include "components/facilitated_payments/core/browser/network_api/facilitated_payments_network_interface.h"
 #include "components/signin/public/identity_manager/identity_manager.h"
@@ -31,14 +32,16 @@
                                     std::move(on_risk_data_loaded_callback));
 }
 
-autofill::PersonalDataManager*
-ChromeFacilitatedPaymentsClient::GetPersonalDataManager() {
+autofill::PaymentsDataManager*
+ChromeFacilitatedPaymentsClient::GetPaymentsDataManager() {
   Profile* profile =
       Profile::FromBrowserContext(GetWebContents().GetBrowserContext());
-  if (profile) {
-    return autofill::PersonalDataManagerFactory::GetForProfile(profile);
+  if (!profile) {
+    return nullptr;
   }
-  return nullptr;
+  autofill::PersonalDataManager* pdm =
+      autofill::PersonalDataManagerFactory::GetForProfile(profile);
+  return pdm ? &pdm->payments_data_manager() : nullptr;
 }
 
 payments::facilitated::FacilitatedPaymentsNetworkInterface*
@@ -53,8 +56,7 @@
         payments::facilitated::FacilitatedPaymentsNetworkInterface>(
         profile->GetURLLoaderFactory(),
         IdentityManagerFactory::GetForProfile(profile->GetOriginalProfile()),
-        &GetPersonalDataManager()->payments_data_manager(),
-        profile->IsOffTheRecord());
+        GetPaymentsDataManager(), profile->IsOffTheRecord());
   }
   return facilitated_payments_network_interface_.get();
 }
diff --git a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.h b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.h
index 183580a..b6eab81 100644
--- a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.h
+++ b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.h
@@ -43,13 +43,13 @@
   friend class content::WebContentsUserData<ChromeFacilitatedPaymentsClient>;
 
   FRIEND_TEST_ALL_PREFIXES(ChromeFacilitatedPaymentsClientTest,
-                           GetPersonalDataManager);
+                           GetPaymentsDataManager);
   FRIEND_TEST_ALL_PREFIXES(ChromeFacilitatedPaymentsClientTest,
                            GetFacilitatedPaymentsNetworkInterface);
 
   // FacilitatedPaymentsClient:
   // This returns nullptr if the `Profile` associated is null.
-  autofill::PersonalDataManager* GetPersonalDataManager() override;
+  autofill::PaymentsDataManager* GetPaymentsDataManager() override;
   // This returns nullptr if the `Profile` associated is null.
   payments::facilitated::FacilitatedPaymentsNetworkInterface*
   GetFacilitatedPaymentsNetworkInterface() override;
diff --git a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client_unittest.cc b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client_unittest.cc
index 88f9e70..6f9d57b 100644
--- a/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client_unittest.cc
+++ b/chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client_unittest.cc
@@ -43,12 +43,12 @@
 
 using ChromeFacilitatedPaymentsClientTest = ChromeRenderViewHostTestHarness;
 
-TEST_F(ChromeFacilitatedPaymentsClientTest, GetPersonalDataManager) {
+TEST_F(ChromeFacilitatedPaymentsClientTest, GetPaymentsDataManager) {
   MockOptimizationGuideDecider optimization_guide_decider;
   auto client = std::make_unique<ChromeFacilitatedPaymentsClient>(
       web_contents(), &optimization_guide_decider);
 
-  EXPECT_NE(nullptr, client->GetPersonalDataManager());
+  EXPECT_NE(nullptr, client->GetPaymentsDataManager());
 }
 
 TEST_F(ChromeFacilitatedPaymentsClientTest,
diff --git a/components/autofill/core/browser/autofill_experiments.cc b/components/autofill/core/browser/autofill_experiments.cc
index 8aa39f4c..3712a23 100644
--- a/components/autofill/core/browser/autofill_experiments.cc
+++ b/components/autofill/core/browser/autofill_experiments.cc
@@ -23,6 +23,7 @@
 #include "components/autofill/core/browser/metrics/autofill_metrics.h"
 #include "components/autofill/core/browser/metrics/payments/credit_card_save_metrics.h"
 #include "components/autofill/core/browser/payments/payments_util.h"
+#include "components/autofill/core/browser/payments_data_manager.h"
 #include "components/autofill/core/browser/personal_data_manager.h"
 #include "components/autofill/core/browser/ui/suggestion.h"
 #include "components/autofill/core/common/autofill_features.h"
@@ -208,27 +209,26 @@
                                   syncer::SyncService* sync_service,
                                   bool is_test_mode,
                                   LogManager* log_manager) {
+  PaymentsDataManager& payments_data_manager =
+      personal_data_manager->payments_data_manager();
   // If |is_test_mode| is set, assume we are in a browsertest and
   // credit card upload should be enabled by default to fix flaky
   // local card migration browsertests.
   if (!is_test_mode &&
-      !IsCreditCardUploadEnabled(sync_service,
-                                 personal_data_manager->payments_data_manager()
-                                     .GetAccountInfoForPaymentsServer()
-                                     .email,
-                                 personal_data_manager->payments_data_manager()
-                                     .GetCountryCodeForExperimentGroup(),
-                                 personal_data_manager->payments_data_manager()
-                                     .GetPaymentsSigninStateForMetrics(),
-                                 log_manager)) {
+      !IsCreditCardUploadEnabled(
+          sync_service,
+          payments_data_manager.GetAccountInfoForPaymentsServer().email,
+          payments_data_manager.GetCountryCodeForExperimentGroup(),
+          payments_data_manager.GetPaymentsSigninStateForMetrics(),
+          log_manager)) {
     return false;
   }
 
-  if (!payments::HasGooglePaymentsAccount(personal_data_manager))
+  if (!payments::HasGooglePaymentsAccount(&payments_data_manager)) {
     return false;
+  }
 
-  return personal_data_manager->payments_data_manager()
-      .IsPaymentsDownloadActive();
+  return payments_data_manager.IsPaymentsDownloadActive();
 }
 
 bool IsInAutofillSuggestionsDisabledExperiment() {
diff --git a/components/autofill/core/browser/payments/credit_card_access_manager.cc b/components/autofill/core/browser/payments/credit_card_access_manager.cc
index 4d219f9..ee5fb99 100644
--- a/components/autofill/core/browser/payments/credit_card_access_manager.cc
+++ b/components/autofill/core/browser/payments/credit_card_access_manager.cc
@@ -634,7 +634,8 @@
               card_.get(), *selected_challenge_option_,
               weak_ptr_factory_.GetWeakPtr(),
               virtual_card_unmask_response_details_.context_token,
-              payments::GetBillingCustomerId(personal_data_manager_));
+              payments::GetBillingCustomerId(
+                  &personal_data_manager_->payments_data_manager()));
       break;
     }
     case UnmaskAuthFlowType::kThreeDomainSecure:
diff --git a/components/autofill/core/browser/payments/credit_card_risk_based_authenticator.cc b/components/autofill/core/browser/payments/credit_card_risk_based_authenticator.cc
index d6aff830..ad7d204b 100644
--- a/components/autofill/core/browser/payments/credit_card_risk_based_authenticator.cc
+++ b/components/autofill/core/browser/payments/credit_card_risk_based_authenticator.cc
@@ -78,7 +78,7 @@
 
   unmask_request_details_->billing_customer_number =
       payments::GetBillingCustomerId(
-          autofill_client_->GetPersonalDataManager());
+          &autofill_client_->GetPersonalDataManager()->payments_data_manager());
 
   autofill_client_->GetPaymentsAutofillClient()
       ->GetPaymentsNetworkInterface()
diff --git a/components/autofill/core/browser/payments/credit_card_save_manager.cc b/components/autofill/core/browser/payments/credit_card_save_manager.cc
index ab7f63e..40f4f38 100644
--- a/components/autofill/core/browser/payments/credit_card_save_manager.cc
+++ b/components/autofill/core/browser/payments/credit_card_save_manager.cc
@@ -380,7 +380,8 @@
       base::BindOnce(&CreditCardSaveManager::OnDidGetUploadDetails,
                      weak_ptr_factory_.GetWeakPtr()),
       payments::kUploadPaymentMethodBillableServiceNumber,
-      payments::GetBillingCustomerId(personal_data_manager_),
+      payments::GetBillingCustomerId(
+          &personal_data_manager_->payments_data_manager()),
       payments::PaymentsNetworkInterface::UploadCardSource::
           UPSTREAM_CHECKOUT_FLOW);
 }
@@ -1047,7 +1048,8 @@
   // Payments account. Include a bit for existence of this account (NOT the id
   // itself), as it will help determine if a new Payments customer might need to
   // be created when save is accepted.
-  if (payments::GetBillingCustomerId(personal_data_manager_) != 0) {
+  if (payments::GetBillingCustomerId(
+          &personal_data_manager_->payments_data_manager()) != 0) {
     detected_values |= DetectedValue::HAS_GOOGLE_PAYMENTS_ACCOUNT;
   }
 
@@ -1279,8 +1281,8 @@
     observer_for_testing_->OnSentUploadCardRequest();
   }
   upload_request_.app_locale = app_locale_;
-  upload_request_.billing_customer_number =
-      payments::GetBillingCustomerId(personal_data_manager_);
+  upload_request_.billing_customer_number = payments::GetBillingCustomerId(
+      &personal_data_manager_->payments_data_manager());
 
   AutofillMetrics::LogUploadAcceptedCardOriginMetric(
       uploading_local_card_
diff --git a/components/autofill/core/browser/payments/full_card_request.cc b/components/autofill/core/browser/payments/full_card_request.cc
index 15a5b95..f84e1cdb 100644
--- a/components/autofill/core/browser/payments/full_card_request.cc
+++ b/components/autofill/core/browser/payments/full_card_request.cc
@@ -164,7 +164,7 @@
   if (should_unmask_card_) {
     payments_network_interface_->Prepare();
     request_->billing_customer_number =
-        GetBillingCustomerId(personal_data_manager_);
+        GetBillingCustomerId(&personal_data_manager_->payments_data_manager());
   }
 
   request_->fido_assertion_info = std::move(fido_assertion_info);
diff --git a/components/autofill/core/browser/payments/iban_access_manager.cc b/components/autofill/core/browser/payments/iban_access_manager.cc
index 8076ea69..3e124971 100644
--- a/components/autofill/core/browser/payments/iban_access_manager.cc
+++ b/components/autofill/core/browser/payments/iban_access_manager.cc
@@ -96,8 +96,8 @@
   payments::PaymentsNetworkInterface::UnmaskIbanRequestDetails request_details;
   request_details.billable_service_number =
       payments::kUnmaskPaymentMethodBillableServiceNumber;
-  request_details.billing_customer_number =
-      payments::GetBillingCustomerId(client_->GetPersonalDataManager());
+  request_details.billing_customer_number = payments::GetBillingCustomerId(
+      &client_->GetPersonalDataManager()->payments_data_manager());
   request_details.instrument_id = instrument_id;
   base::TimeTicks unmask_request_timestamp = base::TimeTicks::Now();
   client_->GetPaymentsAutofillClient()
diff --git a/components/autofill/core/browser/payments/iban_save_manager.cc b/components/autofill/core/browser/payments/iban_save_manager.cc
index 33cb8f6e..5f74bd2 100644
--- a/components/autofill/core/browser/payments/iban_save_manager.cc
+++ b/components/autofill/core/browser/payments/iban_save_manager.cc
@@ -197,7 +197,8 @@
       ->GetPaymentsNetworkInterface()
       ->GetIbanUploadDetails(
           personal_data_manager_->app_locale(),
-          payments::GetBillingCustomerId(personal_data_manager_),
+          payments::GetBillingCustomerId(
+              &personal_data_manager_->payments_data_manager()),
           payments::kUploadPaymentMethodBillableServiceNumber,
           import_candidate.GetCountryCode(),
           base::BindOnce(&IbanSaveManager::OnDidGetUploadDetails,
@@ -343,8 +344,8 @@
   details.app_locale = personal_data_manager_->app_locale();
   details.billable_service_number =
       payments::kUploadPaymentMethodBillableServiceNumber;
-  details.billing_customer_number =
-      payments::GetBillingCustomerId(personal_data_manager_);
+  details.billing_customer_number = payments::GetBillingCustomerId(
+      &personal_data_manager_->payments_data_manager());
   details.context_token = context_token_;
   details.value = import_candidate.value();
   details.nickname = import_candidate.nickname();
diff --git a/components/autofill/core/browser/payments/local_card_migration_manager.cc b/components/autofill/core/browser/payments/local_card_migration_manager.cc
index a5479e6..6316fe7 100644
--- a/components/autofill/core/browser/payments/local_card_migration_manager.cc
+++ b/components/autofill/core/browser/payments/local_card_migration_manager.cc
@@ -161,7 +161,8 @@
       base::BindOnce(&LocalCardMigrationManager::OnDidGetUploadDetails,
                      weak_ptr_factory_.GetWeakPtr(), is_from_settings_page),
       payments::kMigrateCardsBillableServiceNumber,
-      payments::GetBillingCustomerId(personal_data_manager_),
+      payments::GetBillingCustomerId(
+          &personal_data_manager_->payments_data_manager()),
       is_from_settings_page
           ? payments::PaymentsNetworkInterface::UploadCardSource::
                 LOCAL_CARD_MIGRATION_SETTINGS_PAGE
@@ -371,8 +372,8 @@
     observer_for_testing_->OnSentMigrateCardsRequest();
 
   migration_request_.app_locale = app_locale_;
-  migration_request_.billing_customer_number =
-      payments::GetBillingCustomerId(personal_data_manager_);
+  migration_request_.billing_customer_number = payments::GetBillingCustomerId(
+      &personal_data_manager_->payments_data_manager());
   client_->GetPaymentsAutofillClient()
       ->GetPaymentsNetworkInterface()
       ->MigrateCards(
@@ -428,7 +429,8 @@
 
   // Local card migration should ONLY be offered when the user already has a
   // Google Payments account.
-  DCHECK_NE(0, payments::GetBillingCustomerId(personal_data_manager_));
+  DCHECK_NE(0, payments::GetBillingCustomerId(
+                   &personal_data_manager_->payments_data_manager()));
   detected_values |=
       CreditCardSaveManager::DetectedValue::HAS_GOOGLE_PAYMENTS_ACCOUNT;
 
diff --git a/components/autofill/core/browser/payments/payments_util.cc b/components/autofill/core/browser/payments/payments_util.cc
index 24ebcc2..adccf31 100644
--- a/components/autofill/core/browser/payments/payments_util.cc
+++ b/components/autofill/core/browser/payments/payments_util.cc
@@ -9,7 +9,6 @@
 #include "base/strings/string_number_conversions.h"
 #include "components/autofill/core/browser/payments/payments_customer_data.h"
 #include "components/autofill/core/browser/payments_data_manager.h"
-#include "components/autofill/core/browser/personal_data_manager.h"
 
 namespace autofill {
 namespace payments {
@@ -18,12 +17,12 @@
 constexpr int kCustomerHasNoBillingCustomerNumber = 0;
 }
 
-int64_t GetBillingCustomerId(PersonalDataManager* personal_data_manager) {
-  DCHECK(personal_data_manager);
+int64_t GetBillingCustomerId(PaymentsDataManager* payments_data_manager) {
+  DCHECK(payments_data_manager);
 
   // Get billing customer ID from the synced PaymentsCustomerData.
   PaymentsCustomerData* customer_data =
-      personal_data_manager->payments_data_manager().GetPaymentsCustomerData();
+      payments_data_manager->GetPaymentsCustomerData();
   if (customer_data && !customer_data->customer_id.empty()) {
     int64_t billing_customer_id = 0;
     if (base::StringToInt64(std::string_view(customer_data->customer_id),
@@ -34,8 +33,8 @@
   return kCustomerHasNoBillingCustomerNumber;
 }
 
-bool HasGooglePaymentsAccount(PersonalDataManager* personal_data_manager) {
-  return GetBillingCustomerId(personal_data_manager) !=
+bool HasGooglePaymentsAccount(PaymentsDataManager* payments_data_manager) {
+  return GetBillingCustomerId(payments_data_manager) !=
          kCustomerHasNoBillingCustomerNumber;
 }
 
diff --git a/components/autofill/core/browser/payments/payments_util.h b/components/autofill/core/browser/payments/payments_util.h
index 53aa6d0..bf3205e 100644
--- a/components/autofill/core/browser/payments/payments_util.h
+++ b/components/autofill/core/browser/payments/payments_util.h
@@ -12,17 +12,17 @@
 
 namespace autofill {
 
-class PersonalDataManager;
+class PaymentsDataManager;
 
 namespace payments {
 
 // Returns the billing customer ID (a.k.a. the customer number) for the Google
 // Payments account for this user. Obtains it from the synced data. Returns 0
 // if the customer ID was not found.
-int64_t GetBillingCustomerId(PersonalDataManager* personal_data_manager);
+int64_t GetBillingCustomerId(PaymentsDataManager* payments_data_manager);
 
 // Returns if the customer has an existing Google payments account.
-bool HasGooglePaymentsAccount(PersonalDataManager* personal_data_manager);
+bool HasGooglePaymentsAccount(PaymentsDataManager* payments_data_manager);
 
 // Checks if |card_number| matches one of the ranges in
 // |supported_card_bin_ranges|, inclusive of the start and end boundaries.
diff --git a/components/autofill/core/browser/payments/payments_util_unittest.cc b/components/autofill/core/browser/payments/payments_util_unittest.cc
index c76d56c..22c60977c 100644
--- a/components/autofill/core/browser/payments/payments_util_unittest.cc
+++ b/components/autofill/core/browser/payments/payments_util_unittest.cc
@@ -9,7 +9,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "components/autofill/core/browser/autofill_test_utils.h"
 #include "components/autofill/core/browser/payments/payments_customer_data.h"
-#include "components/autofill/core/browser/test_personal_data_manager.h"
+#include "components/autofill/core/browser/test_payments_data_manager.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace autofill {
@@ -25,39 +25,39 @@
   ~PaymentsUtilTest() override = default;
 
  protected:
-  TestPersonalDataManager personal_data_manager_;
+  TestPaymentsDataManager payments_data_manager_;
 };
 
 TEST_F(PaymentsUtilTest, GetBillingCustomerId_PaymentsCustomerData_Normal) {
-  personal_data_manager_.test_payments_data_manager().SetPaymentsCustomerData(
+  payments_data_manager_.SetPaymentsCustomerData(
       std::make_unique<PaymentsCustomerData>(/*customer_id=*/"123456"));
 
-  EXPECT_EQ(123456, GetBillingCustomerId(&personal_data_manager_));
+  EXPECT_EQ(123456, GetBillingCustomerId(&payments_data_manager_));
 }
 
 TEST_F(PaymentsUtilTest, GetBillingCustomerId_PaymentsCustomerData_Garbage) {
-  personal_data_manager_.test_payments_data_manager().SetPaymentsCustomerData(
+  payments_data_manager_.SetPaymentsCustomerData(
       std::make_unique<PaymentsCustomerData>(/*customer_id=*/"garbage"));
 
-  EXPECT_EQ(0, GetBillingCustomerId(&personal_data_manager_));
+  EXPECT_EQ(0, GetBillingCustomerId(&payments_data_manager_));
 }
 
 TEST_F(PaymentsUtilTest, GetBillingCustomerId_PaymentsCustomerData_NoData) {
   // Explictly do not set PaymentsCustomerData. Nothing crashes and the returned
   // customer ID is 0.
-  EXPECT_EQ(0, GetBillingCustomerId(&personal_data_manager_));
+  EXPECT_EQ(0, GetBillingCustomerId(&payments_data_manager_));
 }
 
 TEST_F(PaymentsUtilTest, HasGooglePaymentsAccount_Normal) {
-  personal_data_manager_.test_payments_data_manager().SetPaymentsCustomerData(
+  payments_data_manager_.SetPaymentsCustomerData(
       std::make_unique<PaymentsCustomerData>(/*customer_id=*/"123456"));
 
-  EXPECT_TRUE(HasGooglePaymentsAccount(&personal_data_manager_));
+  EXPECT_TRUE(HasGooglePaymentsAccount(&payments_data_manager_));
 }
 
 TEST_F(PaymentsUtilTest, HasGooglePaymentsAccount_NoData) {
   // Explicitly do not set Prefs data. Nothing crashes and returns false.
-  EXPECT_FALSE(HasGooglePaymentsAccount(&personal_data_manager_));
+  EXPECT_FALSE(HasGooglePaymentsAccount(&payments_data_manager_));
 }
 
 TEST_F(PaymentsUtilTest, IsCreditCardNumberSupported_EmptyBin) {
diff --git a/components/autofill/core/browser/payments/payments_window_manager_util.cc b/components/autofill/core/browser/payments/payments_window_manager_util.cc
index 313e3bd3..4e4f06c 100644
--- a/components/autofill/core/browser/payments/payments_window_manager_util.cc
+++ b/components/autofill/core/browser/payments/payments_window_manager_util.cc
@@ -11,6 +11,7 @@
 #include "components/autofill/core/browser/payments/card_unmask_challenge_option.h"
 #include "components/autofill/core/browser/payments/payments_util.h"
 #include "components/autofill/core/browser/payments/payments_window_manager.h"
+#include "components/autofill/core/browser/personal_data_manager.h"
 #include "url/gurl.h"
 #include "url/origin.h"
 
@@ -64,8 +65,8 @@
     PaymentsWindowManager::RedirectCompletionProof redirect_completion_proof) {
   payments::PaymentsNetworkInterface::UnmaskRequestDetails request_details;
   request_details.card = context.card;
-  request_details.billing_customer_number =
-      GetBillingCustomerId(client.GetPersonalDataManager());
+  request_details.billing_customer_number = GetBillingCustomerId(
+      &client.GetPersonalDataManager()->payments_data_manager());
   request_details.context_token = context.context_token;
 
   if (const url::Origin& origin =
diff --git a/components/autofill/core/browser/payments/test_local_card_migration_manager.cc b/components/autofill/core/browser/payments/test_local_card_migration_manager.cc
index 8a73be1..70c6157 100644
--- a/components/autofill/core/browser/payments/test_local_card_migration_manager.cc
+++ b/components/autofill/core/browser/payments/test_local_card_migration_manager.cc
@@ -22,7 +22,8 @@
 TestLocalCardMigrationManager::~TestLocalCardMigrationManager() = default;
 
 bool TestLocalCardMigrationManager::IsCreditCardMigrationEnabled() {
-  return payments::GetBillingCustomerId(personal_data_manager_) != 0;
+  return payments::GetBillingCustomerId(
+             &personal_data_manager_->payments_data_manager()) != 0;
 }
 
 bool TestLocalCardMigrationManager::LocalCardMigrationWasTriggered() {
diff --git a/components/autofill/core/browser/payments/virtual_card_enrollment_manager.cc b/components/autofill/core/browser/payments/virtual_card_enrollment_manager.cc
index 9233a75d..74910c7 100644
--- a/components/autofill/core/browser/payments/virtual_card_enrollment_manager.cc
+++ b/components/autofill/core/browser/payments/virtual_card_enrollment_manager.cc
@@ -123,8 +123,8 @@
       state_.virtual_card_enrollment_fields.virtual_card_enrollment_source;
   request_details.virtual_card_enrollment_request_type =
       VirtualCardEnrollmentRequestType::kEnroll;
-  request_details.billing_customer_number =
-      payments::GetBillingCustomerId(personal_data_manager_);
+  request_details.billing_customer_number = payments::GetBillingCustomerId(
+      &personal_data_manager_->payments_data_manager());
   request_details.instrument_id =
       state_.virtual_card_enrollment_fields.credit_card.instrument_id();
   request_details.vcn_context_token = state_.vcn_context_token;
@@ -163,8 +163,8 @@
 
   request_details.virtual_card_enrollment_request_type =
       VirtualCardEnrollmentRequestType::kUnenroll;
-  request_details.billing_customer_number =
-      payments::GetBillingCustomerId(personal_data_manager_);
+  request_details.billing_customer_number = payments::GetBillingCustomerId(
+      &personal_data_manager_->payments_data_manager());
   request_details.instrument_id = instrument_id;
 
   virtual_card_enrollment_update_response_callback_ =
@@ -390,8 +390,8 @@
       request_details;
   request_details.app_locale = personal_data_manager_->app_locale();
   request_details.risk_data = state_.risk_data.value_or("");
-  request_details.billing_customer_number =
-      payments::GetBillingCustomerId(personal_data_manager_);
+  request_details.billing_customer_number = payments::GetBillingCustomerId(
+      &personal_data_manager_->payments_data_manager());
   request_details.instrument_id =
       state_.virtual_card_enrollment_fields.credit_card.instrument_id();
   request_details.source =
diff --git a/components/autofill/core/browser/payments/virtual_card_enrollment_manager_unittest.cc b/components/autofill/core/browser/payments/virtual_card_enrollment_manager_unittest.cc
index 0a46a88..801dbf0 100644
--- a/components/autofill/core/browser/payments/virtual_card_enrollment_manager_unittest.cc
+++ b/components/autofill/core/browser/payments/virtual_card_enrollment_manager_unittest.cc
@@ -285,7 +285,8 @@
   EXPECT_EQ(request_details.instrument_id,
             state->virtual_card_enrollment_fields.credit_card.instrument_id());
   EXPECT_EQ(request_details.billing_customer_number,
-            payments::GetBillingCustomerId(&personal_data_manager()));
+            payments::GetBillingCustomerId(
+                &personal_data_manager().payments_data_manager()));
   EXPECT_EQ(
       request_details.source,
       state->virtual_card_enrollment_fields.virtual_card_enrollment_source);
diff --git a/components/autofill/core/browser/payments_data_manager.h b/components/autofill/core/browser/payments_data_manager.h
index ec6272d..af7de294 100644
--- a/components/autofill/core/browser/payments_data_manager.h
+++ b/components/autofill/core/browser/payments_data_manager.h
@@ -440,6 +440,8 @@
   // when Chrome is restarted.
   const std::string& GetCountryCodeForExperimentGroup() const;
 
+  const std::string& app_locale() const { return app_locale_; }
+
   // Returns if there are any pending queries to the web database.
   bool HasPendingPaymentQueries() const;
 
diff --git a/components/facilitated_payments/content/browser/content_facilitated_payments_driver_unittest.cc b/components/facilitated_payments/content/browser/content_facilitated_payments_driver_unittest.cc
index 7dc1676..7f3b8224 100644
--- a/components/facilitated_payments/content/browser/content_facilitated_payments_driver_unittest.cc
+++ b/components/facilitated_payments/content/browser/content_facilitated_payments_driver_unittest.cc
@@ -53,8 +53,8 @@
               LoadRiskData,
               (base::OnceCallback<void(const std::string&)>),
               (override));
-  MOCK_METHOD(autofill::PersonalDataManager*,
-              GetPersonalDataManager,
+  MOCK_METHOD(autofill::PaymentsDataManager*,
+              GetPaymentsDataManager,
               (),
               (override));
   MOCK_METHOD(FacilitatedPaymentsNetworkInterface*,
diff --git a/components/facilitated_payments/core/browser/facilitated_payments_client.h b/components/facilitated_payments/core/browser/facilitated_payments_client.h
index 9806fe1..f7f97da 100644
--- a/components/facilitated_payments/core/browser/facilitated_payments_client.h
+++ b/components/facilitated_payments/core/browser/facilitated_payments_client.h
@@ -15,7 +15,7 @@
 
 namespace autofill {
 class BankAccount;
-class PersonalDataManager;
+class PaymentsDataManager;
 }  // namespace autofill
 
 namespace payments::facilitated {
@@ -27,9 +27,9 @@
  public:
   ~FacilitatedPaymentsClient() override;
 
-  // Gets the `PersonalDataManager` instance associated with the Chrome profile.
+  // Gets the `PaymentsDataManager` instance associated with the Chrome profile.
   // It is used to get user's account info.
-  virtual autofill::PersonalDataManager* GetPersonalDataManager() = 0;
+  virtual autofill::PaymentsDataManager* GetPaymentsDataManager() = 0;
 
   // Gets the `FacilitatedPaymentsNetworkInterface` instance owned by the client
   // used for making payment requests. It can be null if the browser context
diff --git a/components/facilitated_payments/core/browser/facilitated_payments_manager.cc b/components/facilitated_payments/core/browser/facilitated_payments_manager.cc
index c6a1872f..e993f9d 100644
--- a/components/facilitated_payments/core/browser/facilitated_payments_manager.cc
+++ b/components/facilitated_payments/core/browser/facilitated_payments_manager.cc
@@ -11,7 +11,7 @@
 #include "base/functional/callback_helpers.h"
 #include "components/autofill/core/browser/data_model/bank_account.h"
 #include "components/autofill/core/browser/payments/payments_util.h"
-#include "components/autofill/core/browser/personal_data_manager.h"
+#include "components/autofill/core/browser/payments_data_manager.h"
 #include "components/facilitated_payments/core/browser/facilitated_payments_client.h"
 #include "components/facilitated_payments/core/browser/network_api/facilitated_payments_network_interface.h"
 #include "components/facilitated_payments/core/features/features.h"
@@ -144,13 +144,13 @@
   // payment prompt.
   // TODO(b/339477906): The check for bank accounts should move to
   // OnPixCodeValidated.
-  auto* personal_data_manager = client_->GetPersonalDataManager();
-  if (!personal_data_manager) {
+  auto* payments_data_manager = client_->GetPaymentsDataManager();
+  if (!payments_data_manager) {
     Reset();
     return;
   }
   if (result != mojom::PixCodeDetectionResult::kValidPixCodeFound ||
-      !personal_data_manager->payments_data_manager().HasMaskedBankAccounts() ||
+      !payments_data_manager->HasMaskedBankAccounts() ||
       !base::FeatureList::IsEnabled(kEnablePixPayments)) {
     Reset();
     return;
@@ -205,12 +205,12 @@
     return;
   }
 
-  // If the personal data manager isn't available, then the flow should have
+  // If the payments data manager isn't available, then the flow should have
   // been abandoned already in `ProcessPixCodeDetectionResult`.
-  CHECK(client_->GetPersonalDataManager());
+  CHECK(client_->GetPaymentsDataManager());
   initiate_payment_request_details_->billing_customer_number_ =
       autofill::payments::GetBillingCustomerId(
-          client_->GetPersonalDataManager());
+          client_->GetPaymentsDataManager());
   // Before showing the payment prompt, load the risk data required for
   // initiating payment request. The risk data is collected once per page load
   // if a PIX code was detected.
@@ -221,9 +221,7 @@
   }
 
   client_->ShowPixPaymentPrompt(
-      client_->GetPersonalDataManager()
-          ->payments_data_manager()
-          .GetMaskedBankAccounts(),
+      client_->GetPaymentsDataManager()->GetMaskedBankAccounts(),
       base::BindOnce(&FacilitatedPaymentsManager::OnPixPaymentPromptResult,
                      weak_ptr_factory_.GetWeakPtr()));
 }
@@ -283,7 +281,7 @@
         base::BindOnce(
             &FacilitatedPaymentsManager::OnInitiatePaymentResponseReceived,
             weak_ptr_factory_.GetWeakPtr()),
-        client_->GetPersonalDataManager()->app_locale());
+        client_->GetPaymentsDataManager()->app_locale());
   }
 }
 
diff --git a/components/facilitated_payments/core/browser/facilitated_payments_manager_unittest.cc b/components/facilitated_payments/core/browser/facilitated_payments_manager_unittest.cc
index 4d1867c7..7ee0f2b 100644
--- a/components/facilitated_payments/core/browser/facilitated_payments_manager_unittest.cc
+++ b/components/facilitated_payments/core/browser/facilitated_payments_manager_unittest.cc
@@ -18,7 +18,7 @@
 #include "base/types/expected.h"
 #include "components/autofill/core/browser/autofill_test_utils.h"
 #include "components/autofill/core/browser/data_model/bank_account.h"
-#include "components/autofill/core/browser/test_personal_data_manager.h"
+#include "components/autofill/core/browser/test_payments_data_manager.h"
 #include "components/facilitated_payments/core/browser/facilitated_payments_api_client.h"
 #include "components/facilitated_payments/core/browser/facilitated_payments_client.h"
 #include "components/facilitated_payments/core/browser/facilitated_payments_driver.h"
@@ -132,8 +132,8 @@
               LoadRiskData,
               (base::OnceCallback<void(const std::string&)>),
               (override));
-  MOCK_METHOD(autofill::PersonalDataManager*,
-              GetPersonalDataManager,
+  MOCK_METHOD(autofill::PaymentsDataManager*,
+              GetPaymentsDataManager,
               (),
               (override));
   MOCK_METHOD(FacilitatedPaymentsNetworkInterface*,
@@ -197,12 +197,12 @@
     // Using Autofill preferences since we use autofill's infra for syncing bank
     // accounts.
     pref_service_ = autofill::test::PrefServiceForTesting();
-    personal_data_manager_ =
-        std::make_unique<autofill::TestPersonalDataManager>();
-    personal_data_manager_->SetPrefService(pref_service_.get());
-    personal_data_manager_->SetSyncServiceForTest(&sync_service_);
-    ON_CALL(*client_, GetPersonalDataManager)
-        .WillByDefault(testing::Return(personal_data_manager_.get()));
+    payments_data_manager_ =
+        std::make_unique<autofill::TestPaymentsDataManager>();
+    payments_data_manager_->SetPrefService(pref_service_.get());
+    payments_data_manager_->SetSyncServiceForTest(&sync_service_);
+    ON_CALL(*client_, GetPaymentsDataManager)
+        .WillByDefault(testing::Return(payments_data_manager_.get()));
 
     ON_CALL(*client_, GetFacilitatedPaymentsNetworkInterface)
         .WillByDefault(testing::Return(&payments_network_interface_));
@@ -212,9 +212,8 @@
     api_client_ = nullptr;
     allowlist_decision_timer_.Stop();
     page_load_timer_.Stop();
-    personal_data_manager_->payments_data_manager()
-        .ClearAllServerDataForTesting();
-    personal_data_manager_.reset();
+    payments_data_manager_->ClearAllServerDataForTesting();
+    payments_data_manager_.reset();
   }
 
   // Sets the allowlist `decision` (true or false).
@@ -317,7 +316,7 @@
   std::unique_ptr<MockFacilitatedPaymentsDriver> driver_;
   std::unique_ptr<MockFacilitatedPaymentsClient> client_;
   std::unique_ptr<FacilitatedPaymentsManager> manager_;
-  std::unique_ptr<autofill::TestPersonalDataManager> personal_data_manager_;
+  std::unique_ptr<autofill::TestPaymentsDataManager> payments_data_manager_;
   MockFacilitatedPaymentsNetworkInterface payments_network_interface_;
 
   // Owned by the `manager_`.
@@ -843,9 +842,9 @@
 // show the PIX payment prompt.
 TEST_F(FacilitatedPaymentsManagerTest,
        NoPixPaymentPromptWhenApiClientNotAvailable) {
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
+  payments_data_manager_->AddMaskedBankAccountForTest(
       CreatePixBankAccount(/*instrument_id=*/1));
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
+  payments_data_manager_->AddMaskedBankAccountForTest(
       CreatePixBankAccount(/*instrument_id=*/2));
 
   EXPECT_CALL(*client_, ShowPixPaymentPrompt(testing::_, testing::_)).Times(0);
@@ -861,10 +860,8 @@
       CreatePixBankAccount(/*instrument_id=*/1);
   autofill::BankAccount pix_account2 =
       CreatePixBankAccount(/*instrument_id=*/2);
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      pix_account1);
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      pix_account2);
+  payments_data_manager_->AddMaskedBankAccountForTest(pix_account1);
+  payments_data_manager_->AddMaskedBankAccountForTest(pix_account2);
 
   EXPECT_CALL(*client_, ShowPixPaymentPrompt(testing::UnorderedElementsAreArray(
                                                  {pix_account1, pix_account2}),
@@ -1051,8 +1048,7 @@
 // facilitated payment API is available.
 TEST_F(FacilitatedPaymentsManagerWithPixPaymentsDisabledTest,
        ValidPixCodeDetectionResult_HasPixAccounts_ApiClientNotTriggered) {
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      CreatePixBankAccount(1));
+  payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
 
   EXPECT_CALL(*api_client_, IsAvailable(testing::_)).Times(0);
 
@@ -1076,8 +1072,7 @@
 // checks whether the facilitated payment API is available.
 TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
        ValidPixCodeDetectionResult_HasPixAccounts_ApiClientTriggered) {
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      CreatePixBankAccount(1));
+  payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
 
   EXPECT_CALL(*api_client_, IsAvailable(testing::_));
 
@@ -1095,8 +1090,7 @@
 // the API is available.
 TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
        ValidPixCodeDetectionResult_InvalidPixCodeString_ApiClientNotTriggered) {
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      CreatePixBankAccount(1));
+  payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
 
   EXPECT_CALL(*api_client_, IsAvailable(testing::_)).Times(0);
 
@@ -1112,8 +1106,7 @@
 // facilitated payment API is available.
 TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
        InvalidPixCodeDetectionResultDoesNotTriggerApiClient) {
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      CreatePixBankAccount(1));
+  payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
 
   EXPECT_CALL(*api_client_, IsAvailable(testing::_)).Times(0);
 
@@ -1195,13 +1188,12 @@
       mojom::PixCodeDetectionResult::kValidPixCodeFound, std::string());
 }
 
-// If personal data manager is unavailable, the manager does not check
+// If payments data manager is unavailable, the manager does not check
 // whether the facilitated payment API is available.
 TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
        UnavailabilityOfPdmDoesNotTriggerApiClient) {
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      CreatePixBankAccount(1));
-  ON_CALL(*client_, GetPersonalDataManager)
+  payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
+  ON_CALL(*client_, GetPaymentsDataManager)
       .WillByDefault(testing::Return(nullptr));
 
   EXPECT_CALL(*api_client_, IsAvailable(testing::_)).Times(0);
@@ -1219,10 +1211,8 @@
       CreatePixBankAccount(/*instrument_id=*/1);
   autofill::BankAccount pix_account2 =
       CreatePixBankAccount(/*instrument_id=*/2);
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      pix_account1);
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      pix_account2);
+  payments_data_manager_->AddMaskedBankAccountForTest(pix_account1);
+  payments_data_manager_->AddMaskedBankAccountForTest(pix_account2);
   ON_CALL(*api_client_, IsAvailable)
       .WillByDefault([](base::OnceCallback<void(bool)> callback) {
         std::move(callback).Run(true);
@@ -1346,8 +1336,7 @@
 TEST_F(FacilitatedPaymentsManagerWithPixPaymentsEnabledTest,
        ApiAvailabilityHistogram) {
   base::HistogramTester histogram_tester;
-  personal_data_manager_->payments_data_manager().AddMaskedBankAccountForTest(
-      CreatePixBankAccount(1));
+  payments_data_manager_->AddMaskedBankAccountForTest(CreatePixBankAccount(1));
   EXPECT_CALL(*api_client_, IsAvailable(testing::_));
   manager_->OnPixCodeValidated(/*pix_code=*/std::string(),
                                /*is_pix_code_valid=*/true);