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
16 changes: 16 additions & 0 deletions src/CheckoutSdk/Issuing/IIssuingClient.Transactions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using Checkout.Issuing.Transactions.Requests.Query;
using Checkout.Issuing.Transactions.Responses.Query;
using System.Threading;
using System.Threading.Tasks;

namespace Checkout.Issuing
{
public partial interface IIssuingClient
{
Task<TransactionsListResponse> GetListTransactions(TransactionsQueryFilter query,
CancellationToken cancellationToken = default);

Task<TransactionSingleResponse> GetSingleTransaction(string transactionId,
CancellationToken cancellationToken = default);
}
}
1 change: 1 addition & 0 deletions src/CheckoutSdk/Issuing/IssuingClient.Base.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public partial class IssuingClient : AbstractClient, IIssuingClient
private const string AuthorizationPath = "authorizations";
private const string PresentmentsPath = "presentments";
private const string ReversalsPath = "reversals";
private const string TransactionsPath = "transactions";

public IssuingClient(IApiClient apiClient, CheckoutConfiguration configuration) :
base(apiClient, configuration, SdkAuthorizationType.OAuth)
Expand Down
35 changes: 35 additions & 0 deletions src/CheckoutSdk/Issuing/IssuingClient.Transactions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using Checkout.Issuing.Transactions.Requests.Query;
using Checkout.Issuing.Transactions.Responses.Query;
using System.Threading;
using System.Threading.Tasks;

namespace Checkout.Issuing
{
public partial class IssuingClient
{
public Task<TransactionsListResponse> GetListTransactions(
TransactionsQueryFilter query,
CancellationToken cancellationToken = default
)
{
CheckoutUtils.ValidateParams("query", query);
return ApiClient.Query<TransactionsListResponse>(
BuildPath(IssuingPath, TransactionsPath),
SdkAuthorization(),
query,
cancellationToken);
}

public Task<TransactionSingleResponse> GetSingleTransaction(
string transactionId,
CancellationToken cancellationToken = default
)
{
CheckoutUtils.ValidateParams("transactionId", transactionId);
return ApiClient.Get<TransactionSingleResponse>(
BuildPath(IssuingPath, TransactionsPath, transactionId),
SdkAuthorization(),
cancellationToken);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using Checkout.Issuing.Transactions.Responses;
using Checkout.Issuing.Transactions.Responses.Query;
using System;

namespace Checkout.Issuing.Transactions.Requests.Query
{
public class TransactionsQueryFilter
{
public int? Limit { get; set; }

public int? Skip { get; set; }

public string CardholderId { get; set; }

public string CardId { get; set; }

public TransactionStatusType? Status { get; set; }

public DateTime? From { get; set; }

public DateTime? To { get; set; }
}
}
15 changes: 15 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/Amounts.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
namespace Checkout.Issuing.Transactions.Responses
{
public class Amounts
{
public TotalHeld TotalHeld { get; set; }

public TotalAuthorized TotalAuthorized { get; set; }

public TotalReversed TotalReversed { get; set; }

public TotalCleared TotalCleared { get; set; }

public TotalRefunded TotalRefunded { get; set; }
}
}
9 changes: 9 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/Card.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace Checkout.Issuing.Transactions.Responses
{
public class Card
{
public string Id { get; set; }

public string Network { get; set; }
}
}
7 changes: 7 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/Cardholder.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Checkout.Issuing.Transactions.Responses
{
public class Cardholder
{
public string Id { get; set; }
}
}
7 changes: 7 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/Client.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Checkout.Issuing.Transactions.Responses
{
public class Client
{
public string Id { get; set; }
}
}
9 changes: 9 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/DigitalCard.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace Checkout.Issuing.Transactions.Responses
{
public class DigitalCard
{
public string Id { get; set; }

public WalletType? WalletType { get; set; }
}
}
7 changes: 7 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/Entity.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Checkout.Issuing.Transactions.Responses
{
public class Entity
{
public string Id { get; set; }
}
}
36 changes: 36 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/IndicatorType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using System.Runtime.Serialization;

namespace Checkout.Issuing.Transactions.Responses
{
public enum IndicatorType
{[EnumMember(Value = "incremental_preauthorization")]
IncrementalPreauthorization,

[EnumMember(Value = "deferred_authorization")]
DeferredAuthorization,

[EnumMember(Value = "preauthorization")]
Preauthorization,

[EnumMember(Value = "normal_authorization")]
NormalAuthorization,

[EnumMember(Value = "final_authorization")]
FinalAuthorization,

[EnumMember(Value = "partial_reversal")]
PartialReversal,

[EnumMember(Value = "full_reversal")]
FullReversal,

[EnumMember(Value = "partial_presentment")]
PartialPresentment,

[EnumMember(Value = "final_presentment")]
FinalPresentment,

[EnumMember(Value = "unknown")]
Unknown
}
}
22 changes: 22 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/InitiatorType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using System.Runtime.Serialization;

namespace Checkout.Issuing.Transactions.Responses
{
public enum InitiatorType
{
[EnumMember(Value = "cardholder")]
Cardholder,

[EnumMember(Value = "merchant")]
Merchant,

[EnumMember(Value = "acquirer")]
Acquirer,

[EnumMember(Value = "card_network")]
CardNetwork,

[EnumMember(Value = "issuer")]
Issuer
}
}
17 changes: 17 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/Merchant.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Checkout.Issuing.Transactions.Responses
{
public class Merchant
{
public string Id { get; set; }

public string Name { get; set; }

public string City { get; set; }

public string State { get; set; }

public string CountryCode { get; set; }

public string CategoryCode { get; set; }
}
}
28 changes: 28 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/Messages.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using Checkout.Common;
using System;

namespace Checkout.Issuing.Transactions.Responses
{
public class Messages
{
public string Id { get; set; }

public InitiatorType? Initiator { get; set; }

public Type? Type { get; set; }

public ResultType? Result { get; set; }

public bool? IsRelayed { get; set; }

public IndicatorType? Indicator { get; set; }

public string DeclinedReason { get; set; }

public long? BillingAmount { get; set; }

public Currency? BillingCurrency { get; set; }

public DateTime? CreatedOn { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using Checkout.Common;
using System;
using System.Collections.Generic;

namespace Checkout.Issuing.Transactions.Responses.Query
{
public class TransactionSingleResponse : Resource
{
public string Id { get; set; }

public DateTime? CreatedOn { get; set; }

public TransactionStatusType? Status { get; set; }

public TransactionType? TransactionType { get; set; }

public Client Client { get; set; }

public Entity Entity { get; set; }

public Card Card { get; set; }

public DigitalCard DigitalCard { get; set; }

public Cardholder Cardholder { get; set; }

public Amounts Amounts { get; set; }

public Merchant Merchant { get; set; }

public ReferenceTransaction ReferenceTransaction { get; set; }

public IList<Messages> Messages { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using Checkout.Common;
using System.Collections.Generic;

namespace Checkout.Issuing.Transactions.Responses.Query
{
public class TransactionsListResponse : HttpMetadata
{
public int? Limit { get; set; }

public int? Skip { get; set; }

public int? TotalCount { get; set; }

public IList<TransactionSingleResponse> Data { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace Checkout.Issuing.Transactions.Responses
{
public class ReferenceTransaction
{
public string TransactionId { get; set; }

public ReferenceType? ReferenceType { get; set; }
}
}
13 changes: 13 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/ReferenceType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using System.Runtime.Serialization;

namespace Checkout.Issuing.Transactions.Responses
{
public enum ReferenceType
{
[EnumMember(Value = "original_mit")]
OriginalMit,

[EnumMember(Value = "original_recurring")]
OriginalRecurring,
}
}
16 changes: 16 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/ResultType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System.Runtime.Serialization;

namespace Checkout.Issuing.Transactions.Responses
{
public enum ResultType
{
[EnumMember(Value = "approved")]
Approved,

[EnumMember(Value = "declined")]
Declined,

[EnumMember(Value = "processed")]
Processed
}
}
11 changes: 11 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/TotalAuthorized.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using Checkout.Common;

namespace Checkout.Issuing.Transactions.Responses
{
public class TotalAuthorized
{
public long? Amount { get; set; }

public Currency? Currency { get; set; }
}
}
11 changes: 11 additions & 0 deletions src/CheckoutSdk/Issuing/Transactions/Responses/TotalCleared.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using Checkout.Common;

namespace Checkout.Issuing.Transactions.Responses
{
public class TotalCleared
{
public long? Amount { get; set; }

public Currency? Currency { get; set; }
}
}
Loading
Loading