Skip to content

Commit

Permalink
Adds compiled submitted evidence endpoint. Update Hosted Payment Requ…
Browse files Browse the repository at this point in the history
…est (#379)

* Add disabled_payment_methods in HostedPaymentRequest.cs

* Add compiled submitted evidence endpoint to disputes
  • Loading branch information
armando-rodriguez-cko authored Mar 22, 2024
1 parent e4f8c80 commit 6d3ba75
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using Checkout.Common;

namespace Checkout.Disputes
{
public class DisputeCompiledSubmittedEvidenceResponse : Resource
{
public string FileId { get; set; }
}
}
9 changes: 9 additions & 0 deletions src/CheckoutSdk/Disputes/DisputesClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ public class DisputesClient : FilesClient, IDisputesClient
{
private const string DisputesPath = "disputes";
private const string EvidencePath = "evidence";
private const string SubmittedPath = "submitted";
private const string AcceptPath = "accept";
private const string Schemefiles = "schemefiles";

Expand Down Expand Up @@ -65,6 +66,14 @@ public Task<EmptyResponse> SubmitEvidence(string disputeId, CancellationToken ca
null,
cancellationToken, null);
}

public Task<DisputeCompiledSubmittedEvidenceResponse> GetCompiledSubmittedEvidence(string disputeId,
CancellationToken cancellationToken = default)
{
CheckoutUtils.ValidateParams("disputeId", disputeId);
return ApiClient.Get<DisputeCompiledSubmittedEvidenceResponse>(BuildPath(DisputesPath, disputeId, EvidencePath, SubmittedPath),
SdkAuthorization(), cancellationToken);
}

public Task<SchemeFileResponse> GetDisputeSchemeFiles(string disputeId,
CancellationToken cancellationToken = default)
Expand Down
3 changes: 3 additions & 0 deletions src/CheckoutSdk/Disputes/IDisputesClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ Task<EmptyResponse> PutEvidence(string disputeId, DisputeEvidenceRequest dispute

Task<EmptyResponse> SubmitEvidence(string disputeId, CancellationToken cancellationToken = default);

Task<DisputeCompiledSubmittedEvidenceResponse> GetCompiledSubmittedEvidence(string disputeId,
CancellationToken cancellationToken = default);

Task<SchemeFileResponse> GetDisputeSchemeFiles(string disputeId, CancellationToken cancellationToken = default);
}
}
6 changes: 4 additions & 2 deletions src/CheckoutSdk/Payments/Hosted/HostedPaymentRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,11 @@ public class HostedPaymentRequest
public DateTime? CaptureOn { get; set; }

public IList<PaymentSourceType> AllowPaymentMethods { get; set; }

//Not available on Previous


public IList<PaymentSourceType> DisabledPaymentMethods { get; set; }

public string ProcessingChannelId { get; set; }

public IList<AmountAllocations> AmountAllocations { get; set; }
Expand Down
17 changes: 17 additions & 0 deletions test/CheckoutSdkTest/Disputes/DisputesClientTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,23 @@ private async Task ShouldSubmitEvidence()

response.ShouldNotBeNull();
}

[Fact]
private async Task ShouldGetCompiledSubmittedEvidence()
{
const string disputeId = "dispute_id";

_apiClient.Setup(apiClient =>
apiClient.Get<DisputeCompiledSubmittedEvidenceResponse>($"disputes/{disputeId}/evidence/submitted", _authorization,
CancellationToken.None))
.ReturnsAsync(() => new DisputeCompiledSubmittedEvidenceResponse());

IDisputesClient client = new DisputesClient(_apiClient.Object, _configuration.Object);

var response = await client.GetCompiledSubmittedEvidence(disputeId);

response.ShouldNotBeNull();
}

[Fact]
private async Task ShouldGetDisputeSchemeFiles()
Expand Down
7 changes: 7 additions & 0 deletions test/CheckoutSdkTest/Disputes/DisputesIntegrationTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Checkout.Payments;
using Shouldly;
using System;
using System.Threading.Tasks;
using Xunit;

Expand Down Expand Up @@ -118,6 +119,12 @@ private async Task ShouldTestFullDisputesWorkflow()

//Submit the dispute
await DefaultApi.DisputesClient().SubmitEvidence(disputeId);

//Get compiled submitted evidence
var compiledSubmittedEvidenceResponse = await DefaultApi.DisputesClient().GetCompiledSubmittedEvidence(disputeId);
compiledSubmittedEvidenceResponse.ShouldNotBeNull();
compiledSubmittedEvidenceResponse.FileId.ShouldNotBeNull();

}

private static bool HasItems(DisputesQueryResponse obj)
Expand Down

0 comments on commit 6d3ba75

Please sign in to comment.