using Newtonsoft.Json; namespace Nop.Plugin.Payments.PayPalCommerce.Services.Api.Models; /// /// Represents the merchant details object /// public class Merchant : IWebhookResource { #region Properties /// /// Gets or sets the payer ID of the seller after creation of their PayPal account. /// [JsonProperty(PropertyName = "merchant_id")] public string MerchantId { get; set; } /// /// Gets or sets the partner's unique identifier for this customer in their system which can be used to track user in PayPal. /// [JsonProperty(PropertyName = "tracking_id")] public string TrackingId { get; set; } /// /// Gets or sets the array of PayPal products to which the partner wants to onboard the customer. /// [JsonProperty(PropertyName = "products")] public List Products { get; set; } /// /// Gets or sets the array of capabilities associated with the products integrated between seller and partner. /// [JsonProperty(PropertyName = "capabilities")] public List Capabilities { get; set; } /// /// Gets or sets a value indicating whether the seller account can receive payments. /// [JsonProperty(PropertyName = "payments_receivable")] public bool? PaymentsReceivable { get; set; } /// /// Gets or sets the seller legal name. /// [JsonProperty(PropertyName = "legal_name")] public string LegalName { get; set; } /// /// Gets or sets the primary email address of the seller. /// [JsonProperty(PropertyName = "primary_email")] public string PrimaryEmail { get; set; } /// /// Gets or sets a value indicating whether the primary email of the seller has been confirmed. /// [JsonProperty(PropertyName = "primary_email_confirmed")] public bool? PrimaryEmailConfirmed { get; set; } /// /// Gets or sets the array of information about OAuth integrations between partners and sellers. /// [JsonProperty(PropertyName = "oauth_integrations")] public List OauthIntegrations { get; set; } /// /// Gets or sets the primary currency of the seller account. /// [JsonProperty(PropertyName = "primary_currency")] public string PrimaryCurrency { get; set; } /// /// Gets or sets the seller account country. /// [JsonProperty(PropertyName = "country")] public string Country { get; set; } /// /// Gets or sets the API caller-provided external ID /// [JsonIgnore] public string CustomId { get; set; } /// /// Gets or sets a value indicating whether the Advanced Credit and Debit Card payments is active /// [JsonIgnore] public (bool Active, string Status) AdvancedCards { get; set; } /// /// Gets or sets additional details about Advanced Credit and Debit Card status /// [JsonIgnore] public (bool OnReview, bool NeedMoreData, bool BelowLimit, bool OverLimit, bool Denied) AdvancedCardsDetails { get; set; } /// /// Gets or sets a value indicating whether the Apple Pay is active /// [JsonIgnore] public (bool Active, string Status) ApplePay { get; set; } /// /// Gets or sets a value indicating whether the Google Pay is active /// [JsonIgnore] public (bool Active, string Status) GooglePay { get; set; } /// /// Gets or sets a value indicating whether the Vaulting is active /// [JsonIgnore] public (bool Active, string Status) Vaulting { get; set; } /// /// Gets or sets a value indicating whether the Messaging Configurator is supported /// [JsonIgnore] public bool ConfiguratorSupported { get; set; } #endregion }