Searching

Search Fieldsanchor

We support three types of search fields:

  • Text fields
  • Multiple value fields
  • Range fields

Learn more about working with search results.

Text fieldsanchor

Text Fields can be searched using 5 operators: is, is_not, starts_with, ends_with, and contains. Each search Text Field can't exceed 255 characters. Here is an example searching for customer email on a transaction.

  1. Ruby
search_results = gateway.transaction.search do |search|
  search.customer_email.is "john.smith@example.com"
end

search_results = gateway.transaction.search do |search|
  search.customer_email.is_not "john.smith@example.com"
end

search_results = gateway.transaction.search do |search|
  search.customer_email.starts_with "john.smith"
end

search_results = gateway.transaction.search do |search|
  search.customer_email.ends_with "example.com"
end

search_results = gateway.transaction.search do |search|
  search.customer_email.contains "smith"
end

Multiple value fieldsanchor

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

  1. Ruby
search_results = gateway.transaction.search do |search|
  search.status.is Braintree::Transaction::Status::Authorized
end

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

Range fieldsanchor

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

For non-time-based filters, between is inclusive and >= and <= are respected as written.

For time-based filters, the lower bound will always be inclusive and the upper bound will always be exclusive, regardless of the range operator used. Additionally, one minute is automatically added to the upper bound.

Example: A search condition of "between 12/17/2015 16:00 and 12/17/2015 17:00" will include transactions created at 12/17/2015 16:00:00 and 12/17/2015 17:00:59 but will not include a transaction created at 12/17/2015 17:01:00.

  1. Ruby
search_results = gateway.transaction.search do |search|
  search.amount.is("15.00")
end

search_results = gateway.transaction.search do |search|
  search.amount >= "10.00"
end

search_results = gateway.transaction.search do |search|
  search.amount <= "20.00"
end

search_results = gateway.transaction.search do |search|
  search.amount.between("10.00", "20.00")
end

search_results = gateway.transaction.search do |search|
  search.created_at.between("12/17/2015 17:00", "12/17/2015 17:00")
end