Webiant Logo Webiant Logo
  1. No results found.

    Try your search with a different keyword or use * as a wildcard.

PaymentSource.cs

using Newtonsoft.Json;
using Nop.Plugin.Payments.PayPalCommerce.Services.Api.Models.PaymentSources;

namespace Nop.Plugin.Payments.PayPalCommerce.Services.Api.Models;

/// 
/// Represents the payment source
/// 
public class PaymentSource
{
    #region Properties

    /// 
    /// Gets or sets the payment card to use to fund a payment. Can be a credit or debit card.
    /// 
    [JsonProperty(PropertyName = "card")]
    public Card Card { get; set; }

    /// 
    /// Gets or sets the tokenized payment source to fund a payment.
    /// 
    [JsonProperty(PropertyName = "token")]
    public Token Token { get; set; }

    /// 
    /// Gets or sets the PayPal Wallet payment source. Main use of this selection is to provide additional instructions associated with this choice like vaulting.
    /// 
    [JsonProperty(PropertyName = "paypal")]
    public PayPal PayPal { get; set; }

    /// 
    /// Gets or sets the information needed to indicate that Venmo is being used to fund the payment.
    /// 
    [JsonProperty(PropertyName = "venmo")]
    public Venmo Venmo { get; set; }

    /// 
    /// Gets or sets the Apple Pay info.
    /// 
    [JsonProperty(PropertyName = "applepay")]
    public ApplePay ApplePay { get; set; }

    /// 
    /// Gets the instruction to vault the payment source based on the specified strategy.
    /// 
    [JsonIgnore]
    public Vault Vault => PayPal?.Attributes?.Vault ?? Card?.Attributes?.Vault ?? Venmo?.Attributes?.Vault;

    #endregion
}