Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<VersionPrefix>10.1.3</VersionPrefix>
<VersionPrefix>10.1.4</VersionPrefix>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<Title>QuickPay Payment Window</Title>
<Description>The QuickPay Payment Window checkout handler is designed to work with QuickPay v10.</Description>
Expand Down
8 changes: 4 additions & 4 deletions src/QuickPayPaymentWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -783,7 +783,7 @@
* To make it work (temporarily), we use Response.Redirect here
*/
if (PassToCart(order) is RedirectOutputResult redirectResult)
Context.Current.Response.Redirect(redirectResult.RedirectUrl, redirectResult.IsPermanent);

Check warning on line 786 in src/QuickPayPaymentWindow.cs

View workflow job for this annotation

GitHub Actions / call-workflow / Build

'IResponse.Redirect(string, bool)' is obsolete: 'Do not use'

Check warning on line 786 in src/QuickPayPaymentWindow.cs

View workflow job for this annotation

GitHub Actions / call-workflow / Build

'IResponse.Redirect(string, bool)' is obsolete: 'Do not use'

return string.Empty;
}
Expand Down Expand Up @@ -1084,8 +1084,8 @@
LogEvent(order, "Response validation started");

var quickpayResponse = Converter.Deserialize<Dictionary<string, object>>(responseText);
var operations = Converter.Deserialize<Dictionary<string, object>[]>(Converter.ToString(quickpayResponse["operations"]));
var metadata = Converter.Deserialize<Dictionary<string, object>>(Converter.ToString(quickpayResponse["metadata"]));
var operations = Converter.Deserialize<Dictionary<string, object>[]>(Converter.Serialize(quickpayResponse["operations"]));
var metadata = Converter.Deserialize<Dictionary<string, object>>(Converter.Serialize(quickpayResponse["metadata"]));

string errorMessage = "Some unhandled error is occured.";

Expand Down Expand Up @@ -1127,7 +1127,7 @@
string fraudSuspectedKey = "fraud_suspected";
if (metadata.ContainsKey(fraudSuspectedKey) && Converter.ToBoolean(metadata[fraudSuspectedKey]) is true)
{
string[] fraudRemarks = Converter.Deserialize<string[]>(Converter.ToString(metadata["fraud_remarks"]));
string[] fraudRemarks = Converter.Deserialize<string[]>(Converter.Serialize(metadata["fraud_remarks"]));
string fraudText = string.Join(System.Environment.NewLine, fraudRemarks);
errorMessage = $"{errorMessage}. {fraudText}";
}
Expand Down Expand Up @@ -1371,7 +1371,7 @@
{
paymentModel = Converter.Deserialize<Dictionary<string, object>>(responseText);
}
var operations = Converter.Deserialize<Dictionary<string, object>[]>(Converter.ToString(paymentModel["operations"]));
var operations = Converter.Deserialize<Dictionary<string, object>[]>(Converter.Serialize(paymentModel["operations"]));

Dictionary<string, object> operation;
operation = operations.Last(o => string.IsNullOrEmpty(operationTypeLock) ||
Expand Down
17 changes: 11 additions & 6 deletions src/QuickPayRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,14 +82,19 @@ ApiService.DeleteCard or

if (!response.IsSuccessStatusCode)
{
var error = Converter.Deserialize<ServiceError>(responseText);
if (error.ErrorCode > 0 || !string.IsNullOrWhiteSpace(error.Message))
string errorMessage = $"QuickPay request failed with HTTP status {(int)response.StatusCode} {response.ReasonPhrase}.";
try
{
string errorMessage = error.ErrorCode > 0
? $"Error code: {error.ErrorCode}. Message: {error.Message}."
: $"Message: {error.Message}.";
throw new Exception(errorMessage);
var error = Converter.Deserialize<ServiceError>(responseText);
if (error?.ErrorCode > 0 || !string.IsNullOrWhiteSpace(error?.Message))
{
errorMessage = error.ErrorCode > 0
? $"Error code: {error.ErrorCode}. Message: {error.Message}."
: $"Message: {error.Message}.";
}
}
catch { }
throw new Exception(errorMessage);
}

return responseText;
Expand Down
Loading