#include "components/payments/content/payment_response_helper.h"
#include <string>
#include <utility>
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/strings/string_split.h"
#include "base/strings/utf_string_conversions.h"
#include "components/autofill/core/browser/address_normalizer.h"
#include "components/autofill/core/browser/autofill_data_util.h"
#include "components/autofill/core/browser/autofill_type.h"
#include "components/autofill/core/browser/geo/autofill_country.h"
#include "components/autofill/core/browser/geo/phone_number_i18n.h"
#include "components/payments/content/payment_request_spec.h"
#include "components/payments/core/features.h"
#include "components/payments/core/method_strings.h"
#include "components/payments/core/payment_request_data_util.h"
#include "components/payments/core/payment_request_delegate.h"
#include "content/public/common/content_features.h"
namespace payments {
PaymentResponseHelper::PaymentResponseHelper(
std::string app_locale,
base::WeakPtr<PaymentRequestSpec> spec,
base::WeakPtr<PaymentApp> selected_app,
base::WeakPtr<PaymentRequestDelegate> payment_request_delegate,
autofill::AutofillProfile* selected_shipping_profile,
autofill::AutofillProfile* selected_contact_profile,
base::WeakPtr<Delegate> delegate)
: … { … }
PaymentResponseHelper::~PaymentResponseHelper() { … }
void PaymentResponseHelper::OnInstrumentDetailsReady(
const std::string& method_name,
const std::string& stringified_details,
const PayerData& payer_data) { … }
void PaymentResponseHelper::OnInstrumentDetailsError(
const std::string& error_message) { … }
void PaymentResponseHelper::OnAddressNormalized(
bool success,
const autofill::AutofillProfile& normalized_profile) { … }
mojom::PayerDetailPtr PaymentResponseHelper::GeneratePayerDetail(
const autofill::AutofillProfile* selected_contact_profile) const { … }
void PaymentResponseHelper::GeneratePaymentResponse() { … }
}