Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source
{
/// <summary>
/// Abstract source Class
/// The source of the payment
/// </summary>
public abstract class AbstractSource
{
public SourceType? Type;

protected AbstractSource(SourceType type)
{
Type = type;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.
AfterpaySource
{
/// <summary>
/// afterpay source Class
/// The source of the payment
/// </summary>
public class AfterpaySource : AbstractSource
{
/// <summary>
/// Initializes a new instance of the AfterpaySource class.
/// </summary>
public AfterpaySource() : base(SourceType.Afterpay)
{
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.
AlipayCnSource
{
/// <summary>
/// alipay_cn source Class
/// The source of the payment
/// </summary>
public class AlipayCnSource : AbstractSource
{
/// <summary>
/// Initializes a new instance of the AlipayCnSource class.
/// </summary>
public AlipayCnSource() : base(SourceType.AlipayCn)
{
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.
AlipayHkSource
{
/// <summary>
/// alipay_hk source Class
/// The source of the payment
/// </summary>
public class AlipayHkSource : AbstractSource
{
/// <summary>
/// Initializes a new instance of the AlipayHkSource class.
/// </summary>
public AlipayHkSource() : base(SourceType.AlipayHk)
{
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.
AlipayPlusSource
{
/// <summary>
/// alipay_plus source Class
/// The source of the payment
/// </summary>
public class AlipayPlusSource : AbstractSource
{
/// <summary>
/// Initializes a new instance of the AlipayPlusSource class.
/// </summary>
public AlipayPlusSource() : base(SourceType.AlipayPlus)
{
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.
AlmaSource
{
/// <summary>
/// alma source Class
/// The source of the payment
/// </summary>
public class AlmaSource : AbstractSource
{
/// <summary>
/// Initializes a new instance of the AlmaSource class.
/// </summary>
public AlmaSource() : base(SourceType.Alma)
{
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.
BancontactSource
{
/// <summary>
/// bancontact source Class
/// The source of the payment
/// </summary>
public class BancontactSource : AbstractSource
{
/// <summary>
/// Initializes a new instance of the BancontactSource class.
/// </summary>
public BancontactSource() : base(SourceType.Bancontact)
{
}

/// <summary>
/// The IBAN of the Consumer Bank account used for payment (if applicable).
/// [Optional]
/// <= 34
/// </summary>
public string Iban { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.
BenefitSource
{
/// <summary>
/// benefit source Class
/// The source of the payment
/// </summary>
public class BenefitSource : AbstractSource
{
/// <summary>
/// Initializes a new instance of the BenefitSource class.
/// </summary>
public BenefitSource() : base(SourceType.Benefit)
{
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder
{
/// <summary>
/// Abstract account_holder Class
/// Information about the account holder of the card
/// </summary>
public abstract class AbstractAccountHolder
{
public AccountHolderType Type;

protected AbstractAccountHolder(AccountHolderType type)
{
Type = type;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using System.Runtime.Serialization;

namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder
{
public enum AccountHolderType
{
[EnumMember(Value = "individual")]
Individual,

[EnumMember(Value = "corporate")]
Corporate,

[EnumMember(Value = "government")]
Government,

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using System.Runtime.Serialization;

namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder.Common
{
public enum AccountNameInquiryType
{
[EnumMember(Value = "full_match")]
FullMatch,

[EnumMember(Value = "partial_match")]
PartialMatch,

[EnumMember(Value = "no_match")]
NoMatch,

[EnumMember(Value = "not_performed")]
NotPerformed,

[EnumMember(Value = "not_supported")]
NotSupported,

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using Checkout.Common;

namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder.CorporateAccountHolder
{
/// <summary>
/// corporate account_holder Class
/// Information about the account holder of the card
/// </summary>
public class CorporateAccountHolder : AbstractAccountHolder
{
/// <summary>
/// Initializes a new instance of the CorporateAccountHolder class.
/// </summary>
public CorporateAccountHolder() : base(AccountHolderType.Corporate)
{
}

/// <summary>
/// The card account holder's company name
/// A valid and legal name must be populated in this field. The populated value cannot be only one character or
/// all numeric.
/// [Required]
/// <= 35
/// </summary>
public string CompanyName { get; set; }

/// <summary>
/// The Account Name Inquiry check result.
/// [Required]
/// </summary>
public AccountNameInquiryType? AccountNameInquiry { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder.Common;

namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder.GovernmentAccountHolder
{
/// <summary>
/// government account_holder Class
/// Information about the account holder of the card
/// </summary>
public class GovernmentAccountHolder : AbstractAccountHolder
{
/// <summary>
/// Initializes a new instance of the GovernmentAccountHolder class.
/// </summary>
public GovernmentAccountHolder() : base(AccountHolderType.Government)
{
}

/// <summary>
/// The card account holder's company name
/// A valid and legal name must be populated in this field. The populated value cannot be only one character or
/// all numeric.
/// [Required]
/// <= 35
/// </summary>
public string CompanyName { get; set; }

/// <summary>
/// The Account Name Inquiry check result.
/// [Required]
/// </summary>
public AccountNameInquiryType? AccountNameInquiry { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder.IndividualAccountHolder.AccountNameInquiryDetails
{
/// <summary>
/// account_name_inquiry_details
/// Details of the Account Name Inquiry check.
/// </summary>
public class AccountNameInquiryDetails
{

/// <summary>
/// The result of the first name check.
/// [Optional]
/// </summary>
public FirstNameType? FirstName { get; set; }

/// <summary>
/// The result of the middle name check.
/// [Optional]
/// </summary>
public MiddleNameType? MiddleName { get; set; }

/// <summary>
/// The result of the last name check.
/// [Optional]
/// </summary>
public LastNameType? LastName { get; set; }

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System.Runtime.Serialization;

namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder.IndividualAccountHolder.AccountNameInquiryDetails
{
public enum FirstNameType
{
[EnumMember(Value = "full_match")]
FullMatch,

[EnumMember(Value = "partial_match")]
PartialMatch,

[EnumMember(Value = "no_match")]
NoMatch,
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System.Runtime.Serialization;

namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder.IndividualAccountHolder.AccountNameInquiryDetails
{
public enum LastNameType
{
[EnumMember(Value = "full_match")]
FullMatch,

[EnumMember(Value = "partial_match")]
PartialMatch,

[EnumMember(Value = "no_match")]
NoMatch,
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System.Runtime.Serialization;

namespace Checkout.HandlePaymentsAndPayouts.Payments.Common.Source.CardSource.AccountHolder.IndividualAccountHolder.AccountNameInquiryDetails
{
public enum MiddleNameType
{
[EnumMember(Value = "full_match")]
FullMatch,

[EnumMember(Value = "partial_match")]
PartialMatch,

[EnumMember(Value = "no_match")]
NoMatch,
}
}
Loading
Loading