Copy
using OneKhusa.SDK;
using OneKhusa.SDK.Models.Analytics;
using OneKhusa.SDK.Models.Constants.Analytics;
//code omitted for brevity \
OneKhusaResponse<GetTransactionMetricsResponse> response = await client
.Merchants
.Analytics
.GetTransactionMetricsAsync(new GetTransactionMetrcisRequest
{
MerchantAccountNumber = 12345678,
SummaryType = SummaryTypes.Disbursements,
FromDate = new DateTime(2026, 1, 1),
ToDate = new DateTime(2026, 1, 31)
});
if (response is { IsSuccess: true, Data: not null })
{
Console.WriteLine($"""
NumberOfFailedTransactions: {response.Data.NumberOfFailedTransactions};
NumberOfSuccessfulTransactions: {response.Data.NumberOfSuccessfulTransactions};
NumberOfTransactions: {response.Data.NumberOfTransactions};
SuccessRate: {response.Data.SuccessRate};
FailureRate: {response.Data.FailureRate};
TotalFailedTransactionsAmount: {response.Data.TotalFailedTransactionsAmount};
TotalSuccessfulTransactionsAmount: {response.Data.TotalSuccessfulTransactionsAmount};
TotalTransactionsAmount: {response.Data.TotalTransactionsAmount};
TransactionsTrend: {response.Data.TransactionsTrend}
""");
Console.ReadLine();
return;
}
//it means an error has occurred: RFC7807 compliant error object
Console.WriteLine($"""
Type: {response.Error?.Type};
Title: {response.Error?.Title};
Detail: {response.Error?.Detail};
ErrorCode: {response.Error?.ErrorCode};
Status: {response.Error?.Status};
Instance: {response.Error?.Instance};
Errors: {string.Join(";", response.Error?.Errors ?? [])}
""");
Console.ReadLine();