From 72202ce3e87588a4712ea672cc4ec506f7ff7118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armando=20Rodr=C3=ADguez?= <127134616+armando-rodriguez-cko@users.noreply.github.com> Date: Fri, 25 Apr 2025 12:09:30 +0200 Subject: [PATCH] Fix decline reason --- .../Issuing/Transactions/Responses/Messages.cs | 2 +- test/CheckoutSdkTest/CheckoutSdkTest.csproj | 3 +++ test/CheckoutSdkTest/JsonSerializerTest.cs | 12 ++++++++++++ .../Metadata/MetadataIntegrationTest.cs | 12 +----------- .../Resources/IssuingTransactionsDeclinedReason.json | 12 ++++++++++++ 5 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 test/CheckoutSdkTest/Resources/IssuingTransactionsDeclinedReason.json diff --git a/src/CheckoutSdk/Issuing/Transactions/Responses/Messages.cs b/src/CheckoutSdk/Issuing/Transactions/Responses/Messages.cs index 034fc317..c26aedef 100644 --- a/src/CheckoutSdk/Issuing/Transactions/Responses/Messages.cs +++ b/src/CheckoutSdk/Issuing/Transactions/Responses/Messages.cs @@ -17,7 +17,7 @@ public class Messages public IndicatorType? Indicator { get; set; } - public string DeclinedReason { get; set; } + public string DeclineReason { get; set; } public long? BillingAmount { get; set; } diff --git a/test/CheckoutSdkTest/CheckoutSdkTest.csproj b/test/CheckoutSdkTest/CheckoutSdkTest.csproj index a18b7313..f080ea18 100644 --- a/test/CheckoutSdkTest/CheckoutSdkTest.csproj +++ b/test/CheckoutSdkTest/CheckoutSdkTest.csproj @@ -41,6 +41,9 @@ PreserveNewest + + PreserveNewest + diff --git a/test/CheckoutSdkTest/JsonSerializerTest.cs b/test/CheckoutSdkTest/JsonSerializerTest.cs index 6100a44c..a2a1901b 100644 --- a/test/CheckoutSdkTest/JsonSerializerTest.cs +++ b/test/CheckoutSdkTest/JsonSerializerTest.cs @@ -6,6 +6,7 @@ using Checkout.Issuing.Controls; using Checkout.Issuing.Controls.Requests.Create; using Checkout.Issuing.Controls.Responses.Create; +using Checkout.Issuing.Transactions.Responses; using Checkout.Payments.Contexts; using Checkout.Payments.Response; using Checkout.Payments.Response.Source; @@ -119,6 +120,17 @@ public void ShouldDeserializeDefaultCardCTypeResponse() cardDetailsResponse.Type.ShouldBe(CardType.Physical); } + [Fact] + public void ShouldDeserializeIssuingTransactionsDeclinedReasonResponse() + { + var fileContent = GetJsonFileContent("./Resources/IssuingTransactionsDeclinedReason.json"); + Messages messages = + (Messages)new JsonSerializer().Deserialize(fileContent, + typeof(Messages)); + messages.ShouldNotBeNull(); + messages.DeclineReason.ShouldBe("velocity_reached"); + } + [Fact] public void ShouldDeserializeKnetResponse() { diff --git a/test/CheckoutSdkTest/Metadata/MetadataIntegrationTest.cs b/test/CheckoutSdkTest/Metadata/MetadataIntegrationTest.cs index 66231ced..74b4e470 100644 --- a/test/CheckoutSdkTest/Metadata/MetadataIntegrationTest.cs +++ b/test/CheckoutSdkTest/Metadata/MetadataIntegrationTest.cs @@ -25,18 +25,8 @@ private async Task ShouldRequestCardMetadataForCardNumber() Source = new CardMetadataCardSource { Number = CardNumberConstant }, Format = CardMetadataFormatType.Basic }; - CardMetadataResponse response = await DefaultApi.MetadataClient().RequestCardMetadata(request); - response.ShouldNotBeNull(); - response.Bin.ShouldBe(TestCardSource.Visa.Number[..11]); - response.Scheme.ShouldNotBeNull(); - response.CardType.ShouldBeOfType(); - response.CardCategory.ShouldBeOfType(); - response.IssuerCountry.ShouldBeOfType(); - response.IssuerCountryName.ShouldNotBeNull(); - response.ProductId.ShouldNotBeNull(); - response.ProductType.ShouldNotBeNull(); - response.HttpStatusCode.ShouldBe(200); + await MakeCardMetadataRequest(request); } [Fact(Skip = "unavailable")] diff --git a/test/CheckoutSdkTest/Resources/IssuingTransactionsDeclinedReason.json b/test/CheckoutSdkTest/Resources/IssuingTransactionsDeclinedReason.json new file mode 100644 index 00000000..d9125194 --- /dev/null +++ b/test/CheckoutSdkTest/Resources/IssuingTransactionsDeclinedReason.json @@ -0,0 +1,12 @@ +{ + "id": "msg_abatreternbygkaeqqter6gs4de", + "initiator": "cardholder", + "type": "authorization", + "result": "declined", + "is_relayed": false, + "indicator": "normal_authorization", + "decline_reason": "velocity_reached", + "billing_amount": 1000056, + "billing_currency": "GBP", + "created_on": "2025-04-07T11:48:57.0000000Z" +} \ No newline at end of file