Skip to content

Commit

Permalink
Merge pull request #471 from nofrixion/feature/MOOV-3796-proof-of-pay…
Browse files Browse the repository at this point in the history
…ment

MOOV-3796: Add proof of payment models
  • Loading branch information
agranillonf authored Nov 29, 2024
2 parents 8943cdc + cc80d71 commit 7bf46db
Show file tree
Hide file tree
Showing 2 changed files with 114 additions and 0 deletions.
23 changes: 23 additions & 0 deletions src/NoFrixion.MoneyMoov/Enums/ProofOfPaymentResourceTypeEnum.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// -----------------------------------------------------------------------------
// Filename: ProofOfPaymentResourceTypeEnum.cs
//
// Description: Possible entity types supported for proof of payment generation.
//
// Author(s):
// Axel Granillo ([email protected])
//
// History:
// 26 11 2024 Axel Granillo Created, Remote, Mexico City, Mexico.
//
// License:
// Proprietary NoFrixion.
// -----------------------------------------------------------------------------

namespace NoFrixion.MoneyMoov.Enums;

public enum ProofOfPaymentResourceTypeEnum
{
None = 0,
Payout = 1,
Transaction = 2
}
91 changes: 91 additions & 0 deletions src/NoFrixion.MoneyMoov/Models/ProofOfPayment/PaymentDetails.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
// -----------------------------------------------------------------------------
// Filename: PaymentDetails.cs
//
// Description: Class containing payment details for a proof of payment document.
//
// Author(s):
// Axel Granillo ([email protected])
//
// History:
// 21 11 2024 Axel Granillo Created, Remote, Mexico City, Mexico.
//
// License:
// MIT.
// -----------------------------------------------------------------------------

#nullable disable

using NoFrixion.MoneyMoov.Enums;

namespace NoFrixion.MoneyMoov.Models.ProofOfPayment;

/// <summary>
/// Class containing payment details for a proof of payment document.
/// </summary>
public class PaymentDetails
{
/// <summary>
/// Transaction or Payout ID.
/// </summary>
public Guid PaymentID { get; set; }

/// <summary>
/// Payment amount.
/// </summary>
public decimal Amount { get; set; }

/// <summary>
/// Indicates if the payment is a payout or a transaction. See <see cref="ProofOfPaymentResourceTypeEnum"/>.
/// </summary>
public ProofOfPaymentResourceTypeEnum ResourceType { get; set; }

/// <summary>
/// NoFrixion's name and address.
/// </summary>
public string NoFrixionDetails { get; set; }

/// <summary>
/// Currency of the payment.
/// </summary>
public CurrencyTypeEnum Currency { get; set; }

/// <summary>
/// Name of the payer.
/// </summary>
public string PayerName { get; set; }

/// <summary>
/// IBAN or account number and sort code of the source account.
/// </summary>
public string SourceAccount { get; set; }

/// <summary>
/// Name of the recipient.
/// </summary>
public string RecipientName { get; set; }

/// <summary>
/// IBAN or account number and sort code of the destination account.
/// </summary>
public string DestinationAccount { get; set; }

/// <summary>
/// Payment reference.
/// </summary>
public string Reference { get; set; }

/// <summary>
/// List of invoice IDs, separated by commas.
/// </summary>
public string InvoiceList { get; set; }

/// <summary>
/// Date when the payment was initiated.
/// </summary>
public DateTimeOffset PaymentInitializationDate { get; set; }

/// <summary>
/// Date when the payment was completed.
/// </summary>
public DateTimeOffset PaymentCompletionDate { get; set; }
}

0 comments on commit 7bf46db

Please sign in to comment.