This method retrieves a collection transaction (payment) performed by the customer. For payload explanations for both request and response, click here
using OneKhusa.SDK; 
using OneKhusa.SDK.Models.Transactions.Collections; 

//code omitted for brevity 

OneKhusaResponse<GetPaymentResponse> response = await client 
    .Transactions 
    .Collections 
    .GetPaymentAsync(new GetPaymentRequest 
    { 
        MerchantAccountNumber = 12345678, 
        TransactionReferenceNumber = "260219DXQ5FB" 
    }); 

if (response is { IsSuccess: true, Data: not null }) 
{ 
        Console.WriteLine($"""
            SourceAccountNumber: {response.Data.Source.AccountNumber};
            SourceCustomerName: {response.Data.Source.CustomerName};
            SourceReferenceNumber: {response.Data.Source.SourceReferenceNumber};
            SourceCurrencyCode: {response.Data.Source.CurrencyCode};
            BeneficiaryAccountNumber: {response.Data.Beneficiary.AccountNumber};
            BeneficiaryName: {response.Data.Beneficiary.AccountName};
            BeneficiaryCurrencyCode: {response.Data.Beneficiary.CurrencyCode};
            ConnectorName: {response.Data.Source.ConnectorName};
            AmountSent: {response.Data.Source.AmountSent};
            AmountReceived: {response.Data.Beneficiary.AmountReceived};
            TransactionFee: {response.Data.Transaction.TransactionFee};
            TransactionDescription: {response.Data.Transaction.TransactionDescription};
            TransactionDate: {response.Data.Transaction.TransactionDate};
            TransactionReferenceNumber: {response.Data.Transaction.TransactionReferenceNumber};
            TransactionStatusCode: {response.Data.Transaction.TransactionStatusCode};
            TransactionStatusName: {response.Data.Transaction.TransactionStatusName};
            TransactionTypeName: {response.Data.Transaction.TransactionTypeName};
            DateCreated: {response.Data.Transaction.ValueDate};
        """);
    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();