Transaction: Search
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.customerId().is("the_customer_id");
ResourceCollection<Transaction> collection = gateway.transaction().search(request);
for (Transaction transaction : collection) {
System.out.println(transaction.getAmount());
}
Parameters
.amount(…)
rangexx
or x.xx
..authorizedAt(…)
range.createdAt(…)
range.createdUsing(…)
multipleThe data used to create the transaction. Possible values:
Transaction.CreatedUsing.TOKEN
Transaction.CreatedUsing.FULL_INFORMATION
.creditCardCardType(…)
multipleThe type of credit card used in the transaction. Possible values:
"American Express"
"Discover"
"Maestro"
"JCB"
"MasterCard"
"UnionPay"
"Visa"
.creditCardCustomerLocation(…)
multipleThe location of the customer in the transaction. Possible values:
international
us
The 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.
.currency(…)
text.customerId(…)
text.debitNetwork(…)
multipleOnly 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.
.disputeDate(…)
rangeOnly available for certain account types; contact us for details.
The date the transaction was disputed. This field does not include a time value.
.failedAt(…)
range.id(…)
text.ids(…)
multiple.merchantAccountId(…)
multipleThe merchant account IDs associated with transactions.
A fragment of the merchant account ID to search for.
.contains(…)
text.endsWith(…)
text.is(…)
text.isNot(…)
text.startsWith(…)
text.orderId(…)
text.paymentInstrumentType(…)
multiple.refund(…)
multipleWhether or not the transaction is a refund. The value may be either true or false. This parameter must be used in conjunction with type()
.
.settledAt(…)
range.source(…)
multipleHow a transaction was created. Possible values:
API
CONTROL_PANEL
RECURRING
- OAuth application client ID of the transaction facilitator
.status(…)
multipleThe list of statuses to search for. Possible statuses:
AUTHORIZING
AUTHORIZED
AUTHORIZATION_EXPIRED
SUBMITTED_FOR_SETTLEMENT
SETTLING
SETTLEMENT_PENDING
SETTLEMENT_DECLINED
SETTLED
VOIDED
PROCESSOR_DECLINED
GATEWAY_REJECTED
FAILED
.type(…)
multiplePossible values:
SALE
CREDIT
.user(…)
multiple.voidedAt(…)
rangeExamples
Credit card
- Java
TransactionSearchRequest 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
- Java
TransactionSearchRequest 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);
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.customerEmail().endsWith("example.com");
ResourceCollection<Transaction> collection = gateway.transaction().search(request);
Billing address
- Java
TransactionSearchRequest 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
- Java
TransactionSearchRequest 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
- Java
TransactionSearchRequest 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.
- Java
TransactionSearchRequest 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.
- Java
TransactionSearchRequest request = new TransactionSearchRequest() .createdUsing().is(Transaction.CreatedUsing.TOKEN); ResourceCollection<transaction> collection = gateway.transaction().search(request);
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.createdUsing()
.is(Transaction.CreatedUsing.FULL_INFORMATION);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
Customer location
Customers in the US.
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.creditCardCustomerLocation()
.is(CreditCard.CustomerLocation.US);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.creditCardCustomerLocation()
.is(CreditCard.CustomerLocation.INTERNATIONAL);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
Merchant account
A specific one.
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.merchantAccountId()
.is("the_merchant_account_id");
ResourceCollection<transaction> collection = gateway.transaction().search(request);
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.merchantAccountId()
.in("account_1", "account_2");
ResourceCollection<transaction> collection = gateway.transaction().search(request);
Credit card type
A specific one.
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.creditCardCardType()
.is(CreditCard.CardType.VISA);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.creditCardCardType()
.in(CreditCard.CardType.VISA, CreditCard.CardType.MASTER_CARD, CreditCard.CardType.DISCOVER);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
Transaction status
Another one or many search field.
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.status()
.is(Transaction.Status.AUTHORIZED);
TransactionSearchRequest request2 = new TransactionSearchRequest()
.status()
.in(Transaction.Status.AUTHORIZED, Transaction.Status.SUBMITTED_FOR_SETTLEMENT);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
Transaction source
API, Control Panel, or Recurring Billing.
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.source()
.is(Transaction.Source.API);
TransactionSearchRequest request2 = new TransactionSearchRequest()
.source()
.in(Transaction.Source.API, Transaction.Source.CONTROL_PANEL);
ResourceCollection<transaction> 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.
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.type()
.is(Transaction.Type.SALE);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.type()
.is(Transaction.Type.CREDIT);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.type()
.is(Transaction.Type.CREDIT)
.refund()
.is(true);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.type()
.is(Transaction.Type.CREDIT)
.refund()
.is(false);
ResourceCollection<transaction> collection = gateway.transaction().search(request);
Amount
It's a
range field
.
- Java
TransactionSearchRequest request = new TransactionSearchRequest()
.amount()
.between(new BigDecimal("100.00"), new BigDecimal("200.00"));
TransactionSearchRequest request2 = new TransactionSearchRequest()
.amount()
.greaterThanOrEqualTo(new BigDecimal("100.00"));
TransactionSearchRequest request3 = new TransactionSearchRequest()
.amount()
.lessThanOrEqualTo(new BigDecimal("200.00"));
ResourceCollection<transaction> 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
- Java
TransactionSearchRequest searchRequest = new TransactionSearchRequest()
.createdAt()
.lessThanOrEqual(Calendar.getInstance());
ResourceCollection<transaction> collection = gateway.transaction().search(searchRequest);
- Java
TransactionSearchRequest searchRequest = new TransactionSearchRequest()
.settledAt()
.lessThanOrEqual(Calendar.getInstance());
ResourceCollection<transaction> collection = gateway.transaction().search(searchRequest);
- Java
TransactionSearchRequest searchRequest = new TransactionSearchRequest()
.processorDeclinedAt()
.lessThanOrEqual(Calendar.getInstance());
ResourceCollection<transaction> collection = gateway.transaction().search(searchRequest);
Dispute date range
- Java
TransactionSearchRequest searchRequest = new TransactionSearchRequest()
.disputeDate()
.lessThanOrEqual(Calendar.getInstance());
ResourceCollection<transaction> collection = gateway.transaction().search(searchRequest);