Skip to content

Commit 7bf46db

Browse files
authored
Merge pull request #471 from nofrixion/feature/MOOV-3796-proof-of-payment
MOOV-3796: Add proof of payment models
2 parents 8943cdc + cc80d71 commit 7bf46db

File tree

2 files changed

+114
-0
lines changed

2 files changed

+114
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// -----------------------------------------------------------------------------
2+
// Filename: ProofOfPaymentResourceTypeEnum.cs
3+
//
4+
// Description: Possible entity types supported for proof of payment generation.
5+
//
6+
// Author(s):
7+
// Axel Granillo ([email protected])
8+
//
9+
// History:
10+
// 26 11 2024 Axel Granillo Created, Remote, Mexico City, Mexico.
11+
//
12+
// License:
13+
// Proprietary NoFrixion.
14+
// -----------------------------------------------------------------------------
15+
16+
namespace NoFrixion.MoneyMoov.Enums;
17+
18+
public enum ProofOfPaymentResourceTypeEnum
19+
{
20+
None = 0,
21+
Payout = 1,
22+
Transaction = 2
23+
}
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
// -----------------------------------------------------------------------------
2+
// Filename: PaymentDetails.cs
3+
//
4+
// Description: Class containing payment details for a proof of payment document.
5+
//
6+
// Author(s):
7+
// Axel Granillo ([email protected])
8+
//
9+
// History:
10+
// 21 11 2024 Axel Granillo Created, Remote, Mexico City, Mexico.
11+
//
12+
// License:
13+
// MIT.
14+
// -----------------------------------------------------------------------------
15+
16+
#nullable disable
17+
18+
using NoFrixion.MoneyMoov.Enums;
19+
20+
namespace NoFrixion.MoneyMoov.Models.ProofOfPayment;
21+
22+
/// <summary>
23+
/// Class containing payment details for a proof of payment document.
24+
/// </summary>
25+
public class PaymentDetails
26+
{
27+
/// <summary>
28+
/// Transaction or Payout ID.
29+
/// </summary>
30+
public Guid PaymentID { get; set; }
31+
32+
/// <summary>
33+
/// Payment amount.
34+
/// </summary>
35+
public decimal Amount { get; set; }
36+
37+
/// <summary>
38+
/// Indicates if the payment is a payout or a transaction. See <see cref="ProofOfPaymentResourceTypeEnum"/>.
39+
/// </summary>
40+
public ProofOfPaymentResourceTypeEnum ResourceType { get; set; }
41+
42+
/// <summary>
43+
/// NoFrixion's name and address.
44+
/// </summary>
45+
public string NoFrixionDetails { get; set; }
46+
47+
/// <summary>
48+
/// Currency of the payment.
49+
/// </summary>
50+
public CurrencyTypeEnum Currency { get; set; }
51+
52+
/// <summary>
53+
/// Name of the payer.
54+
/// </summary>
55+
public string PayerName { get; set; }
56+
57+
/// <summary>
58+
/// IBAN or account number and sort code of the source account.
59+
/// </summary>
60+
public string SourceAccount { get; set; }
61+
62+
/// <summary>
63+
/// Name of the recipient.
64+
/// </summary>
65+
public string RecipientName { get; set; }
66+
67+
/// <summary>
68+
/// IBAN or account number and sort code of the destination account.
69+
/// </summary>
70+
public string DestinationAccount { get; set; }
71+
72+
/// <summary>
73+
/// Payment reference.
74+
/// </summary>
75+
public string Reference { get; set; }
76+
77+
/// <summary>
78+
/// List of invoice IDs, separated by commas.
79+
/// </summary>
80+
public string InvoiceList { get; set; }
81+
82+
/// <summary>
83+
/// Date when the payment was initiated.
84+
/// </summary>
85+
public DateTimeOffset PaymentInitializationDate { get; set; }
86+
87+
/// <summary>
88+
/// Date when the payment was completed.
89+
/// </summary>
90+
public DateTimeOffset PaymentCompletionDate { get; set; }
91+
}

0 commit comments

Comments
 (0)