Transaction: Search
Returns a collection of Transaction response objects.
For operators available on search fields, see the search fields page.
- C#
var request = new TransactionSearchRequest().
CustomerId.Is("the_customer_id");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);
foreach (Transaction transaction in collection)
{
Console.WriteLine(transaction.Amount);
}Parameters
Amountrangexx or x.xx.AuthorizedAtrangeBillingCompanytextBillingFirstNametextBillingLastNametextBillingLocalitytextBillingRegiontextCreatedAtrangeCreatedUsingmultipleThe data used to create the transaction. Possible values:
TransactionCreatedUsing.TOKENTransactionCreatedUsing.FULL_INFORMATION
CreditCardCardTypemultipleThe type of credit card used in the transaction. Possible values:
"American Express""Discover""Maestro""JCB""MasterCard""UnionPay""Visa"
CreditCardCustomerLocationmultipleThe location of the customer in the transaction. Possible values:
internationalus
CreditCardNumbertextThe number of the card used in the transaction.
Card number search is restricted: starts with searches up to the first 6 digits, ends with searches last 4 digits, and contains is not allowed.
The unique identifier of the card number. See the transaction response reference for more details.
CurrencytextCustomerCompanytextCustomerEmailtextCustomerFaxtextCustomerIdtextCustomerLastNametextCustomerPhonetextCustomerWebsitetextDebitNetworkmultipleDisbursementDaterangeOnly available for certain account types; contact us for details.
The date the transaction was disbursed to your bank account. This field does not include a time value.
DisputeDaterangeOnly available for certain account types; contact us for details.
The date the transaction was disputed. This field does not include a time value.
FailedAtrangeGatewayRejectedAtrangeIdtextIdsmultipleMerchantAccountIdmultipleThe merchant account IDs associated with transactions.
A fragment of the merchant account ID to search for.
ContainstextEndsWithtextIstextIsNottextStartsWithtextOrderIdtextPaymentInstrumentTypemultiplePaypalPayerEmailtextPaypalPaymentIdtextProcessorDeclinedAtrangeRefundmultipleWhether or not the transaction is a refund. The value may be either true or false. This parameter must be used in conjunction with Type.
SettledAtrangeShippingCompanytextShippingLastNametextShippingLocalitytextShippingRegiontextSourcemultipleHow a transaction was created. Possible values:
APICONTROL_PANELRECURRING
- OAuth application client ID of the transaction facilitator
StatusmultipleThe list of statuses to search for. Possible statuses:
AUTHORIZINGAUTHORIZEDAUTHORIZATION_EXPIREDSUBMITTED_FOR_SETTLEMENTSETTLINGSETTLEMENT_PENDINGSETTLEMENT_DECLINEDSETTLEDVOIDEDPROCESSOR_DECLINEDGATEWAY_REJECTEDFAILED
TypemultiplePossible values:
SALECREDIT
UsermultipleVoidedAtrangeExamples
Credit card
- C#
var request = new TransactionSearchRequest().
CreditCardCardholderName.Is("Patrick Smith").
CreditCardExpirationDate.Is("05/2012").
CreditCardNumber.EndsWith("1111");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Searching On Customer Details
- C#
var request = new TransactionSearchRequest().
CustomerCompany.Is("Braintree").
CustomerEmail.Is("smith@example.com").
CustomerFax.Is("5551231234").
CustomerFirstName.Is("Tom").
CustomerLastName.Is("Smith").
CustomerPhone.Is("5551231234").
CustomerWebsite.Is("http://example.com");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);See search fields for a list of available operators. They allow you to do nice things like this:
- C#
var request = new TransactionSearchRequest().
CustomerEmail.EndsWith("example.com");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Billing address
- C#
var request = new TransactionSearchRequest().
BillingFirstName.Is("Paul").
BillingLastName.Is("Smith").
BillingCompany.Is("Braintree").
BillingStreetAddress.Is("123 Main St").
BillingExtendedAddress.Is("Suite 123").
BillingLocality.Is("Chicago").
BillingRegion.Is("Illinois").
BillingPostalCode.Is("12345").
BillingCountryName.Is("United States of America");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Shipping address
- C#
var request = new TransactionSearchRequest().
ShippingFirstName.Is("Paul").
ShippingLastName.Is("Smith").
ShippingCompany.Is("Braintree").
ShippingStreetAddress.Is("123 Main St").
ShippingExtendedAddress.Is("Suite 123").
ShippingLocality.Is("Chicago").
ShippingRegion.Is("Illinois").
ShippingPostalCode.Is("12345").
ShippingCountryName.Is("United States of America");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Other top-level attributes
- C#
var request = new TransactionSearchRequest().
OrderId.Is("myorder").
ProcessorAuthorizationCode.Is("123456");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Vault associations
You can search for transactions associated to a payment method token.
- C#
var request = new TransactionSearchRequest().
PaymentMethodToken.Is("the_token");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);How the transaction was created
You can search for transactions that were created using a token.
- C#
var request = new TransactionSearchRequest().
CreatedUsing.Is(TransactionCreatedUsing.TOKEN);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Or transactions that were created using full credit card information.
- C#
var request = new TransactionSearchRequest().
CreatedUsing.Is(TransactionCreatedUsing.FULL_INFORMATION);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Those are the only two choices for created_using.
Customer location
Customers in the US.
- C#
var request = new TransactionSearchRequest().
CreditCardCustomerLocation.Is(CreditCardCustomerLocation.US);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Or international customers.
- C#
var request = new TransactionSearchRequest().
CreditCardCustomerLocation.Is(CreditCardCustomerLocation.INTERNATIONAL);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Merchant account
A specific one.
- C#
var request = new TransactionSearchRequest().
MerchantAccountId.Is("the_merchant_account_id");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Or any of several.
- C#
var request = new TransactionSearchRequest().
MerchantAccountId.IncludedIn("account_1", "account_2");
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Credit card type
A specific one.
- C#
var request = new TransactionSearchRequest().
CreditCardCardType.Is(CreditCardCardType.VISA);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Or any of several.
- C#
var request = new TransactionSearchRequest().
CreditCardCardType.IncludedIn(CreditCardCardType.VISA, CreditCardCardType.MASTER_CARD, CreditCardCardType.DISCOVER);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Transaction status
Another one or many search field.
- C#
var request = new TransactionSearchRequest().
Status.Is(TransactionStatus.AUTHORIZED);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);
request = new TransactionSearchRequest().
Status.IncludedIn(TransactionStatus.AUTHORIZED,
TransactionStatus.SUBMITTED_FOR_SETTLEMENT);
collection = gateway.Transaction.Search(request);Transaction source
API, Control Panel, or Recurring Billing.
- C#
var request = new TransactionSearchRequest().
Source.Is(TransactionSource.API);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);
request = new TransactionSearchRequest().
Source.IncludedIn(
TransactionSource.API, TransactionSource.CONTROL_PANEL
);
collection = gateway.Transaction.Search(request);Transaction type
The two types of transactions are sale and credit. Refunds are a special kind of credit, so there are some extra options around them.
- C#
var request = new TransactionSearchRequest().
Type.Is(TransactionType.SALE);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);This will return all credits, regardless of whether they're refunds, or standalone credits.
- C#
var request = new TransactionSearchRequest().
Type.Is(TransactionType.CREDIT);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);If you only want the refunds:
- C#
var request = new TransactionSearchRequest().
Type.Is(TransactionType.CREDIT).
Refund.Is(true);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);And if you only want the credits that aren't refunds:
- C#
var request = new TransactionSearchRequest().
Type.Is(TransactionType.CREDIT).
Refund.Is(false);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);Amount
It's a range field .
- C#
var request = new TransactionSearchRequest().
Amount.Between(100.00M, 200.00M);
ResourceCollection<Transaction> collection = gateway.Transaction.Search(request);
request = new TransactionSearchRequest().
Amount.GreaterThanOrEqualTo(100.00M);
collection = gateway.Transaction.Search(request);
request = new TransactionSearchRequest().
Amount.LessThanOrEqualTo(200.00M);
collection = gateway.Transaction.Search(request);Status changes
You can search for transactions that entered a given status at a certain date and time. For instance, you can find all transactions which were submitted for settlement in the past 3 days.
You can search on these statuses:
- CreatedAt
- AuthorizedAt
- SubmittedForSettlementAt
- SettledAt
- VoidedAt
- ProcessorDeclinedAt
- GatewayRejectedAt
- FailedAt
- AuthorizationExpiredAt
A few examples:
- C#
var searchRequest = new TransactionSearchRequest().
CreatedAt.GreaterThanOrEqualTo(DateTime.Now.AddDays(-1));
ResourceCollection<Transaction> results = gateway.Transaction.Search(searchRequest);- C#
var searchRequest = new TransactionSearchRequest().
SettledAt.GreaterThanOrEqualTo(DateTime.Now.AddDays(-1));
ResourceCollection<Transaction> results = gateway.Transaction.Search(searchRequest);- C#
var searchRequest = new TransactionSearchRequest().
ProcessorDeclinedAt.GreaterThanOrEqualTo(DateTime.Now.AddDays(-1));
ResourceCollection<Transaction> results = gateway.Transaction.Search(searchRequest);Dispute date range
- C#
var searchRequest = new TransactionSearchRequest().
DisputeDate.GreaterThanOrEqualTo(DateTime.Now.AddDays(-1));
ResourceCollection<Transaction> results = gateway.Transaction.Search(searchRequest);Time zones specified in the time value will be respected in the search; if you do not specify a time zone, the search will default to the time zone associated with your gateway account. Results will always be returned with time values in UTC.