Searching
Search Fields
We support three types of search fields:
- Text fields
- Multiple value fields
- Range fields
Learn more about working with search results.
Text fields
Text Fields can be searched using 5 operators: ==
, !=
, 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.
- Python
search_results = gateway.transaction.search([
braintree.TransactionSearch.customer_email == "john.smith@example.com"
])
search_results = gateway.transaction.search([
braintree.TransactionSearch.customer_email != "john.smith@example.com"
])
search_results = gateway.transaction.search([
braintree.TransactionSearch.customer_email.starts_with("john.smith")
])
search_results = gateway.transaction.search([
braintree.TransactionSearch.customer_email.ends_with("example.com")
])
search_results = gateway.transaction.search([
braintree.TransactionSearch.customer_email.contains("smith")
])
Multiple value fields
Search fields that accept multiple values support two operators: ==
and in_list
.
- Python
search_results = gateway.transaction.search([
braintree.TransactionSearch.status == braintree.Transaction.Status.Authorized
])
search_results = gateway.transaction.search([
braintree.TransactionSearch.status.in_list([
braintree.Transaction.Status.Authorized,
braintree.Transaction.Status.SubmittedForSettlement
])
])
Range fields
Ranges support four operators: ==
, 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.
- Python
search_results = gateway.transaction.search([
braintree.TransactionSearch.amount == "15.00"
])
search_results = gateway.transaction.search([
braintree.TransactionSearch.amount >= "10.00"
])
search_results = gateway.transaction.search([
braintree.TransactionSearch.amount <= "20.00"
])
search_results = gateway.transaction.search([
braintree.TransactionSearch.amount.between("10.00", "20.00")
])
search_results = gateway.transaction.search([
braintree.TransactionSearch.created_at.between("12/17/2015 17:00", "12/17/2015 17:00")
])