diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c44cb8..525f9d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +### Fixed +- Do not save error responses to payment data + +### Changed +- Updated to apps-graphql 3.x + ## [1.21.2] - 2024-04-12 ### Fixed diff --git a/dotnet/Services/CybersourcePaymentService.cs b/dotnet/Services/CybersourcePaymentService.cs index 8b68871..3a0194f 100644 --- a/dotnet/Services/CybersourcePaymentService.cs +++ b/dotnet/Services/CybersourcePaymentService.cs @@ -770,22 +770,26 @@ public async Task BuildPayment(CreatePaymentRequest createPaymentReque decimal.TryParse(paymentsResponse.OrderInformation.amountDetails.totalAmount, out capturedAmount); } - paymentData.AuthorizationId = createPaymentResponse.AuthorizationId; - paymentData.TransactionId = createPaymentResponse.Tid; - paymentData.PaymentId = createPaymentResponse.PaymentId; - paymentData.Value = authAmount; - paymentData.RequestId = null; - paymentData.CaptureId = null; - paymentData.CreatePaymentResponse = createPaymentResponse; - - if (capturedAmount > 0) - { - paymentData.ImmediateCapture = true; - paymentData.CaptureId = paymentsResponse.Id; - paymentData.Value = capturedAmount; + if (!paymentsResponse.Status.Equals("ERROR")) + { + paymentData.AuthorizationId = createPaymentResponse.AuthorizationId; + paymentData.TransactionId = createPaymentResponse.Tid; + paymentData.PaymentId = createPaymentResponse.PaymentId; + paymentData.Value = authAmount; + paymentData.RequestId = null; + paymentData.CaptureId = null; + paymentData.CreatePaymentResponse = createPaymentResponse; + + if (capturedAmount > 0) + { + paymentData.ImmediateCapture = true; + paymentData.CaptureId = paymentsResponse.Id; + paymentData.Value = capturedAmount; + } + + await _cybersourceRepository.SavePaymentData(createPaymentRequest.PaymentId, paymentData); } - await _cybersourceRepository.SavePaymentData(createPaymentRequest.PaymentId, paymentData); if (doCancel) { // Reverse Authorization due to failed 3DS condition diff --git a/manifest.json b/manifest.json index ffbdf44..d671315 100644 --- a/manifest.json +++ b/manifest.json @@ -20,7 +20,7 @@ }, "dependencies": { "vtex.styleguide": "9.x", - "vtex.apps-graphql": "2.x" + "vtex.apps-graphql": "3.x" }, "policies": [ {