Search Fields

We support three types of search fields: text fields, multiple value fields, and range fields.

Text Fields

Text Fields can be searched using 5 operators: is, is not, starts with, ends with, and contains. Here is an example searching for customer email on a transaction.

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    customerEmail().is("john.smith@example.com");

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    customerEmail().isNot("john.smith@example.com");

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    customerEmail().startsWith("john.smith");

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    customerEmail().endsWith("example.com");

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    customerEmail().contains("smith");

Multiple Value Fields

Search fields that accept multiple values support two operators: is and in.

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    status().is(Transaction.Status.AUTHORIZED);

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    status().in(Transaction.Status.AUTHORIZED,
                Transaction.Status.SUBMITTED_FOR_SETTLEMENT);

Range Fields

Ranges support four operators: is, between, >=, and <=. Between is inclusive.

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    amount().is(new BigDecimal("15.00"));

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    amount().greaterThanOrEqualTo(new BigDecimal("10.00"));

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    amount().lessThanOrEqualTo(new BigDecimal("20.00"));

TransactionSearchRequest searchRequest = new TransactionSearchRequest().
    amount().between(new BigDecimal("10.00"), new BigDecimal("20.00"));