diff --git a/src/TrueLayer/Payments/Model/GetPaymentResponse.cs b/src/TrueLayer/Payments/Model/GetPaymentResponse.cs index 17c19f4e..ebda3f74 100644 --- a/src/TrueLayer/Payments/Model/GetPaymentResponse.cs +++ b/src/TrueLayer/Payments/Model/GetPaymentResponse.cs @@ -76,19 +76,21 @@ public record Authorizing : PaymentDetails; /// /// Represents a payment that has been authorized by the end user + /// The date and time that TrueLayer determined that the payment was ready to be credited /// /// [JsonDiscriminator("authorized")] - public record Authorized : PaymentDetails; + public record Authorized(DateTime? CreditableAt) : PaymentDetails; /// /// Represents a payment that has been executed /// For open loop payments this state is terminal. For closed-loop payments, wait for Settled. /// /// The date and time the payment executed + /// The date and time that TrueLayer determined that the payment was ready to be credited /// [JsonDiscriminator("executed")] - public record Executed(DateTime ExecutedAt) : PaymentDetails; + public record Executed(DateTime ExecutedAt, DateTime? CreditableAt) : PaymentDetails; /// /// Represents a payment that has settled @@ -97,9 +99,10 @@ public record Executed(DateTime ExecutedAt) : PaymentDetails; /// The date and time the payment executed /// The date and time the payment was settled /// Details of the source of funds for the payment + /// The date and time that TrueLayer determined that the payment was ready to be credited /// [JsonDiscriminator("settled")] - public record Settled(DateTime ExecutedAt, DateTime SettledAt, PaymentSource PaymentSource) : PaymentDetails; + public record Settled(DateTime ExecutedAt, DateTime SettledAt, PaymentSource PaymentSource, DateTime? CreditableAt) : PaymentDetails; /// /// Represents a payment that failed to complete. This is a terminal state. diff --git a/test/TrueLayer.AcceptanceTests/PaymentTests.cs b/test/TrueLayer.AcceptanceTests/PaymentTests.cs index 9e91b408..844b84c4 100644 --- a/test/TrueLayer.AcceptanceTests/PaymentTests.cs +++ b/test/TrueLayer.AcceptanceTests/PaymentTests.cs @@ -58,7 +58,7 @@ public PaymentTests(ApiTestFixture fixture) [Theory] [MemberData(nameof(ExternalAccountPaymentRequests))] - public async Task can_create_external_account_payment(CreatePaymentRequest paymentRequest) + public async Task Can_Create_External_Account_Payment(CreatePaymentRequest paymentRequest) { var response = await _fixture.Client.Payments.CreatePayment( paymentRequest, idempotencyKey: Guid.NewGuid().ToString()); @@ -139,7 +139,7 @@ public async Task can_create_merchant_account_gbp_verification_Payment() } [Fact] - public async Task can_create_merchant_account_eur_Payment() + public async Task Can_Create_Merchant_Account_Eur_Payment() { var paymentRequest = CreateTestPaymentRequest( new Provider.Preselected("mock-payments-fr-redirect", @@ -169,7 +169,7 @@ public async Task can_create_merchant_account_eur_Payment() } [Fact] - public async Task Can_create_payment_with_auth_flow() + public async Task Can_Create_payment_with_auth_flow() { var sortCodeAccountNumber = new AccountIdentifier.SortCodeAccountNumber("567890", "12345678"); var providerSelection = new Provider.Preselected("mock-payments-gb-redirect", "faster_payments_service") @@ -204,7 +204,7 @@ public async Task Can_create_payment_with_auth_flow() [Theory] [MemberData(nameof(ExternalAccountPaymentRequests))] - public async Task Can_get_authorization_required_payment(CreatePaymentRequest paymentRequest) + public async Task Can_Get_Authorization_Required_Payment(CreatePaymentRequest paymentRequest) { var response = await _fixture.Client.Payments.CreatePayment( paymentRequest, idempotencyKey: Guid.NewGuid().ToString()); @@ -250,7 +250,7 @@ var getPaymentResponse } [Fact] - public async Task Can_create_payment_with_retry_option_and_get_attemptFailed_error() + public async Task Can_Create_Payment_With_Retry_Option_And_Get_AttemptFailed_Error() { // Arrange var paymentRequest = CreateTestPaymentRequest(