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.

search_results = Braintree::Transaction.search do |search|
  search.customer_email.is "john.smith@example.com"
end

search_results = Braintree::Transaction.search do |search|
  search.customer_email.is_not "john.smith@example.com"
end

search_results = Braintree::Transaction.search do |search|
  search.customer_email.starts_with "john.smith"
end

search_results = Braintree::Transaction.search do |search|
  search.customer_email.ends_with "example.com"
end

search_results = Braintree::Transaction.search do |search|
  search.customer_email.contains "smith"
end

Multiple Value Fields

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

search_results = Braintree::Transaction.search do |search|
  search.status.is Transaction::Status::Authorized
end

search_results = Braintree::Transaction.search do |search|
  search.status.in(
    Transaction::Status::Authorized,
    Transaction::Status::SubmittedForSettlement
  )
end

Range Fields

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

search_results = Braintree::Transaction.search do |search|
  search.amount.is("15.00")
end

search_results = Braintree::Transaction.search do |search|
  search.amount >= "10.00"
end

search_results = Braintree::Transaction.search do |search|
  search.amount <= "20.00"
end

search_results = Braintree::Transaction.search do |search|
  search.amount.between("10.00", "20.00")
end