Skip to content

Commit 13cace0

Browse files
committed
Merge branch 'release/moov-1.8.23'
2 parents a40e407 + 5a59cd9 commit 13cace0

File tree

17 files changed

+282
-94
lines changed

17 files changed

+282
-94
lines changed

src/NoFrixion.MoneyMoov/Constants/HttpClientConstants.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ public static class HttpClientConstants
3636
public static string HTTP_BANKINGCIRCLE_AUTHORISATION_CLIENT_NAME = "BankingCircleAuthorisationClient";
3737

3838
public static string HTTP_BANKINGCIRCLE_DIRECTDEBIT_API_CLIENT_NAME = "BankingCircleDirectDebitApiClient";
39+
40+
public static string HTTP_TRIBE_CLIENT_NAME = "TribeClient";
3941

4042
/// <summary>
4143
/// The minimum value the timeout for the HTTP client timeout can be set to. The HTTP client

src/NoFrixion.MoneyMoov/Enums/AccountStatus.cs

Lines changed: 0 additions & 28 deletions
This file was deleted.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// -----------------------------------------------------------------------------
2+
// Filename: AccountTypeEnum.cs
3+
//
4+
// Description: Provides an enumeration of account types. Mainly for fee calculations.
5+
//
6+
// Author(s):
7+
// Axel Granillo ([email protected])
8+
//
9+
// History:
10+
// 16 07 2024 Axel Granillo Created, Remote, Mexico City, Mexico.
11+
//
12+
// License:
13+
// Proprietary NoFrixion.
14+
// -----------------------------------------------------------------------------
15+
16+
namespace NoFrixion.MoneyMoov.Enums;
17+
18+
/// <summary>
19+
/// Enumeration of all possible account types.
20+
/// </summary>
21+
public enum AccountTypeEnum
22+
{
23+
/// <summary>
24+
/// Standard accounts. No fees applied.
25+
/// </summary>
26+
Standard,
27+
28+
/// <summary>
29+
/// Standard fee accounts. Fees are applied.
30+
/// </summary>
31+
StandardFee,
32+
33+
/// <summary>
34+
/// Account associated with Tribe.
35+
/// </summary>
36+
Tribe,
37+
}

src/NoFrixion.MoneyMoov/Enums/PaymentProcessorsEnum.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,11 @@ public enum PaymentProcessorsEnum
100100
/// <summary>
101101
/// To pay with SEPA Direct Debit, handled by Banking Circle.
102102
/// </summary>
103-
BankingCircleDirectDebit
103+
BankingCircleDirectDebit,
104+
105+
/// <summary>
106+
/// Tribe payments processor.
107+
/// </summary>
108+
Tribe
104109
}
105110

src/NoFrixion.MoneyMoov/Enums/PaymentRailEnum.cs

100644100755
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,14 @@ public enum PaymentRailEnum
2929
SEPA_CT,
3030

3131
/// <summary>
32-
/// Single Euro Payments Area (SEPA) Instant scheme. Paymnets are processed 24/7 in
32+
/// Single Euro Payments Area (SEPA) Instant scheme. Payments are processed 24/7 in
3333
/// seconds. Not yet supported by all EU institutions.
3434
/// </summary>
35-
SEPA_INST
35+
SEPA_INST,
36+
37+
/// <summary>
38+
/// TARGET2 is the real-time gross settlement (RTGS) system for the Euro. Payments are processed
39+
/// in real-time and are used for high-value transfers within the EU.
40+
/// </summary>
41+
TARGET2
3642
}

src/NoFrixion.MoneyMoov/Enums/PayrunEventTypeEnum.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,8 @@ public enum PayrunEventTypeEnum
3737
TopupInitiated = 8,
3838

3939
FundsArrived = 9,
40+
41+
Archived = 10,
42+
43+
Unarchived = 11
4044
}

src/NoFrixion.MoneyMoov/Enums/TransactionTypesEnum.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,8 @@ public enum TransactionTypesEnum
8484
/// The transaction type was not recognised.
8585
/// </summary>
8686
[Display(Name = "Unknown type")]
87-
Unknown = 12
87+
Unknown = 12,
88+
89+
[Display(Name = "TARGET2")]
90+
TARGET2 = 13
8891
}

src/NoFrixion.MoneyMoov/Models/Account/PaymentAccount.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,6 @@ public class PaymentAccount
3535
/// </summary>
3636
public Guid MerchantID { get; set; }
3737

38-
/// <summary>
39-
/// Status of the account.
40-
/// </summary>
41-
public AccountStatus Status { get; set; }
42-
4338
/// <summary>
4439
/// Balance of the account.
4540
/// </summary>
@@ -204,6 +199,13 @@ public string Summary
204199
[CanBeNull]
205200
public User CreatedBy { get; set; }
206201

202+
/// <summary>
203+
/// Indicates the default payment rail for this account. Normally it will be left as the
204+
/// default value but in some special cases it may be set to indicate payouts from this account
205+
/// should be attempted with a specific payment rail.
206+
/// </summary>
207+
public PaymentRailEnum DefaultPaymentRail { get; set; }
208+
207209
/// <summary>
208210
/// The list of rules associated with this account.
209211
/// </summary>

src/NoFrixion.MoneyMoov/Models/Account/PaymentAccountCreate.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
// MIT.
1616
//-----------------------------------------------------------------------------
1717

18+
using NoFrixion.MoneyMoov.Enums;
19+
1820
namespace NoFrixion.MoneyMoov.Models;
1921

2022
public class PaymentAccountCreate
@@ -50,6 +52,17 @@ public class PaymentAccountCreate
5052
/// For internal use only. Leave empty unless requested otherwise.
5153
/// </summary>
5254
public Guid PhysicalAccountID { get; set; }
55+
56+
/// <summary>
57+
/// If specified the account type will be set to the specified value
58+
/// disregarding the merchant default account type.
59+
/// </summary>
60+
public AccountTypeEnum? AccountType { get; set; }
61+
62+
/// <summary>
63+
/// If creating a Tribe account type, then this is the tribe account id
64+
/// </summary>
65+
public string? TribeAccountId { get; set; }
5366

5467
/// <summary>
5568
/// Places all the payment request's properties into a dictionary.
@@ -64,6 +77,8 @@ public Dictionary<string, string> ToDictionary()
6477
{ nameof(Currency), Currency.ToString() },
6578
{ nameof(AccountName), AccountName ?? string.Empty },
6679
{ nameof(PhysicalAccountID), PhysicalAccountID.ToString() },
80+
{ nameof(AccountType), AccountType?.ToString() ?? string.Empty },
81+
{ nameof(TribeAccountId), TribeAccountId ?? string.Empty }
6782
};
6883
}
6984
}

src/NoFrixion.MoneyMoov/Models/PaymentRequests/PaymentRequestEvent.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,11 @@ public class PaymentRequestEvent
159159
/// </summary>
160160
public string? DirectDebitPaymentID { get; set; }
161161

162+
/// <summary>
163+
/// Reference string issued by the Direct Debit supplier.
164+
/// </summary>
165+
public string? DirectDebitPaymentReference { get; set; }
166+
162167
/// <summary>
163168
/// Gets the amount to display with the correct number of decimal places based on the currency type.
164169
/// </summary>

0 commit comments

Comments
 (0)