Skip to content

Commit ea607a3

Browse files
Update payment response post and get with account holder and payment plan. Add payment context sources
1 parent da32d63 commit ea607a3

File tree

13 files changed

+214
-38
lines changed

13 files changed

+214
-38
lines changed

src/CheckoutSdk/Common/PaymentSourceType.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public enum PaymentSourceType
5656
[EnumMember(Value = "trustly")] Trustly,
5757
[EnumMember(Value = "cvconnect")] Cvconnect,
5858
[EnumMember(Value = "sepa")] Sepa,
59-
[EnumMember(Value = "sequra")] Sequra
59+
[EnumMember(Value = "sequra")] Sequra,
60+
[EnumMember(Value = "tabby")] Tabby
6061
}
6162
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System.Runtime.Serialization;
2+
3+
namespace Checkout.Payments
4+
{
5+
public enum AccountUpdateStatus
6+
{
7+
[EnumMember(Value = "card_updated")]
8+
CardUpdated,
9+
10+
[EnumMember(Value = "card_expiry_updated")]
11+
CardExpiryUpdated,
12+
13+
[EnumMember(Value = "card_closed")]
14+
CardClosed,
15+
16+
[EnumMember(Value = "contact_cardholder")]
17+
ContactCardholder
18+
}
19+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System.Runtime.Serialization;
2+
3+
namespace Checkout.Payments
4+
{
5+
public enum AmountVariabilityType
6+
{
7+
[EnumMember(Value = "Fixed")]
8+
Fixed,
9+
10+
[EnumMember(Value = "Variable")]
11+
Variable
12+
}
13+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using System;
2+
3+
namespace Checkout.Payments
4+
{
5+
public class PaymentPlan
6+
{
7+
// Recurring
8+
public AmountVariabilityType? AmountVariability { get; set; }
9+
10+
// Installment
11+
public bool? Financing { get; set; }
12+
13+
public string Amount { get; set; }
14+
15+
// Common properties
16+
public int? DaysBetweenPayments { get; set; }
17+
18+
public int? TotalNumberOfPayments { get; set; }
19+
20+
public int? CurrentPaymentNumber { get; set; }
21+
22+
public DateTime Expiry { get; set; }
23+
}
24+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using Checkout.Common;
2+
3+
namespace Checkout.Payments.Request.Source.Contexts
4+
{
5+
public class PaymentContextsStcpaySource : AbstractRequestSource
6+
{
7+
public PaymentContextsStcpaySource() : base(PaymentSourceType.Stcpay)
8+
{
9+
}
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using Checkout.Common;
2+
3+
namespace Checkout.Payments.Request.Source.Contexts
4+
{
5+
public class PaymentContextsTabbySource : AbstractRequestSource
6+
{
7+
public PaymentContextsTabbySource() : base(PaymentSourceType.Tabby)
8+
{
9+
}
10+
}
11+
}

src/CheckoutSdk/Payments/Response/GetPaymentResponse.cs

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,42 @@ public class GetPaymentResponse : Resource
1717

1818
public DateTime? RequestedOn { get; set; }
1919

20+
public string ProcessedOn { get; set; }
21+
2022
[JsonConverter(typeof(PaymentResponseSourceTypeConverter))]
2123
public IResponseSource Source { get; set; }
2224

2325
[JsonConverter(typeof(PaymentResponseDestinationTypeConverter))]
2426
public IPaymentResponseDestination Destination { get; set; }
2527

26-
[JsonConverter(typeof(PaymentResponseSenderTypeConverter))]
27-
public ISender Sender { get; set; }
28-
2928
public long? Amount { get; set; }
3029

3130
public long? AmountRequested { get; set; }
32-
31+
32+
[JsonConverter(typeof(PaymentResponseSenderTypeConverter))]
33+
public ISender Sender { get; set; }
34+
3335
public Currency? Currency { get; set; }
3436

3537
public PaymentType? PaymentType { get; set; }
3638

37-
public string Reference { get; set; }
39+
public PaymentPlan PaymentPlan { get; set; }
3840

41+
public string Reference { get; set; }
42+
3943
public string Description { get; set; }
40-
44+
4145
public bool? Approved { get; set; }
42-
46+
4347
public DateTime? ExpiresOn { get; set; }
44-
48+
4549
public PaymentStatus? Status { get; set; }
46-
50+
4751
public PaymentResponseBalances Balances { get; set; }
48-
49-
[JsonProperty(PropertyName = "3ds")] public ThreeDsData ThreeDs { get; set; }
52+
53+
54+
[JsonProperty(PropertyName = "3ds")]
55+
public ThreeDsData ThreeDs { get; set; }
5056

5157
public RiskAssessment Risk { get; set; }
5258

@@ -83,8 +89,8 @@ public class GetPaymentResponse : Resource
8389

8490
public bool? CkoNetworkTokenAvailable { get; set; }
8591

86-
public string ProcessedOn { get; set; }
87-
8892
public PaymentInstruction Instruction { get; set; }
93+
94+
8995
}
9096
}

src/CheckoutSdk/Payments/Response/PaymentResponse.cs

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,47 +9,51 @@ namespace Checkout.Payments.Response
99
{
1010
public class PaymentResponse : Resource
1111
{
12+
public string Id { get; set; }
13+
1214
public string ActionId { get; set; }
1315

1416
public long? Amount { get; set; }
15-
16-
public bool? Approved { get; set; }
17-
18-
public string AuthCode { get; set; }
19-
20-
public string Id { get; set; }
21-
17+
18+
public long? AmountRequested { get; set; }
19+
2220
public Currency? Currency { get; set; }
2321

24-
public CustomerResponse Customer { get; set; }
25-
26-
[JsonConverter(typeof(PaymentResponseSourceTypeConverter))]
27-
public IResponseSource Source { get; set; }
28-
22+
public bool? Approved { get; set; }
23+
2924
public PaymentStatus? Status { get; set; }
3025

31-
[JsonProperty(PropertyName = "3ds")] public ThreeDsEnrollment ThreeDs { get; set; }
32-
33-
public string Reference { get; set; }
34-
26+
public string AuthCode { get; set; }
27+
3528
public string ResponseCode { get; set; }
36-
29+
3730
public string ResponseSummary { get; set; }
38-
31+
32+
33+
public DateTime? ExpiresOn { get; set; }
34+
35+
[JsonProperty(PropertyName = "3ds")]
36+
public ThreeDsEnrollment ThreeDs { get; set; }
37+
3938
public RiskAssessment Risk { get; set; }
40-
39+
40+
[JsonConverter(typeof(PaymentResponseSourceTypeConverter))]
41+
public IResponseSource Source { get; set; }
42+
43+
public CustomerResponse Customer { get; set; }
44+
45+
public PaymentResponseBalances Balances { get; set; }
46+
4147
public DateTime? ProcessedOn { get; set; }
4248

43-
public DateTime? ExpiresOn { get; set; }
44-
45-
public PaymentResponseBalances Balances { get; set; }
49+
public string Reference { get; set; }
4650

4751
public PaymentProcessing Processing { get; set; }
48-
52+
4953
public string Eci { get; set; }
5054

5155
public string SchemeId { get; set; }
52-
56+
5357
public PaymentRetryResponse Retry { get; set; }
5458
}
5559
}

src/CheckoutSdk/Payments/Response/Source/CardResponseSource.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ public class CardResponseSource : AbstractResponseSource, IResponseSource
4848

4949
public string EncryptedCardNumber { get; set; }
5050

51+
public AccountUpdateStatus? AccountUpdateStatus { get; set; }
52+
53+
public AccountHolder AccountHolder { get; set; }
54+
5155
public new PaymentSourceType? Type()
5256
{
5357
return base.Type;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using Checkout.Common;
2+
3+
namespace Checkout.Payments.Response.Source.Contexts
4+
{
5+
public class PaymentContextsStcpayResponseSource : AbstractPaymentContextsResponseSource, IResponseSource
6+
{
7+
public new PaymentSourceType? Type()
8+
{
9+
return base.Type;
10+
}
11+
}
12+
}

0 commit comments

Comments
 (0)