Transactionanchor

A record that includes all details of a transaction, including current status.

Server-side response object returned directly or within a successful result object from the following requests:
Attributes

Optional field that is added to a transaction if parsing an ACH transaction with a return via webhook.

A unique number that tags a credit or debit card transaction when it goes from the merchant’s bank through to the cardholder's bank. Also called a Trace ID, this number is often used to determine where a transaction's funds lie at a certain time. Learn more about Trace IDs here.

The collection of add-ons associated with a subscription.

Optional additional processor response information, provided as further context for the primary processor response.

getAmount()BigDecimal

The billing amount of the request.

If getPaymentInstrumentType() is androidPayCard, these are the details of the card used for the transaction.

noteGoogle Pay cards are represented as Android Pay cards in our API to prevent breaking changes.

getBin()string

The first 6 digits of the card number, also known as the Bank Identification Number (BIN). If this Google Pay card is network tokenized, its BIN may differ from the BIN of the underlying source card.

If getPaymentInstrumentType() is androidPayCard, these are the details of the card used for the transaction.

noteGoogle Pay cards are represented as Android Pay cards in our API to prevent breaking changes.

The country that issued the credit card. Possible country values follow ISO 3166-1.

The value Unknown will be returned if we cannot immediately determine the card's country of issuance from the bank identification number (BIN).

If getPaymentInstrumentType() is androidPayCard, these are the details of the card used for the transaction.

noteGoogle Pay cards are represented as Android Pay cards in our API to prevent breaking changes.

If getPaymentInstrumentType() is androidPayCard, these are the details of the card used for the transaction.

noteGoogle Pay cards are represented as Android Pay cards in our API to prevent breaking changes.

The expiration month of the credit card, formatted MM.

The 2- or 4-digit year associated with the credit card, formatted YY or YYYY.

A unique identifier provided by Google to track the payment method's transactions.

If getPaymentInstrumentType() is androidPayCard, these are the details of the card used for the transaction.

noteGoogle Pay cards are represented as Android Pay cards in our API to prevent breaking changes.

A URL that points to a payment method image resource (a PNG file) hosted by Braintree.

Indicates whether this card has been network tokenized. A network tokenized card is a generated virtual card with a device-specific account number (DPAN) that is used in place of the underlying source card.

If getPaymentInstrumentType() is androidPayCard, these are the details of the card used for the transaction.

noteGoogle Pay cards are represented as Android Pay cards in our API to prevent breaking changes.

If getPaymentInstrumentType() is androidPayCard, these are the details of the card used for the transaction.

noteGoogle Pay cards are represented as Android Pay cards in our API to prevent breaking changes.

The code for the product type of the card (e.g. D (Visa Signature Preferred), G (Visa Business)). See Product ID codes below for possible values.

The last 4 digits of the card number. If this card is network tokenized, this is the last 4 digits of the customer's actual card.

The card type. If this card is network tokenized, this is the card type of the customer's actual card.

Indicates what type of payment method was tokenized by the network. Also includes an identifier for the account (e.g. last 4 digits if the payment method was a credit card).

An alphanumeric value that references a specific payment method stored in your Vault. Value will be nil if the transaction was not created from a vaulted Android Pay card.

The last 4 digits of the card number. If this card is network tokenized, this is the last 4 digits of the device-specific account number (DPAN).

The card type. If this card is network tokenized, this is the card type of the network tokenized card.

If getPaymentInstrumentType() is applePayCard, these are the details of the credit card used for the transaction.

getBin()string

The first 6 digits of the device-specific account number (DPAN), known as the Bank Identification Number. This BIN may differ from the BIN of the underlying card.

The type of the credit card. Possible values:

  • Apple Pay - Visa
  • Apple Pay - MasterCard
  • Apple Pay - American Express
  • Apple Pay - Discover

The cardholder name associated with the credit card.

If getPaymentInstrumentType() is applePayCard, these are the details of the credit card used for the transaction.

The country that issued the credit card. Possible country values follow ISO 3166-1.

The value Unknown will be returned if we cannot immediately determine the card's country of issuance from the bank identification number (BIN).

If getPaymentInstrumentType() is applePayCard, these are the details of the credit card used for the transaction.

If getPaymentInstrumentType() is applePayCard, these are the details of the credit card used for the transaction.

The expiration month of the credit card, formatted MM.

The 4-digit expiration year of the credit card, formatted YYYY.

If getPaymentInstrumentType() is applePayCard, these are the details of the credit card used for the transaction.

A URL that points to a payment method image resource (a PNG file) hosted by Braintree.

The bank that issued the credit card.

The last 4 digits of the device-specific account number (DPAN).

A unique identifier of the merchant token for Apple Pay MPAN cards.

A description of the payment method intended for display to the user, typically card type and last 4 digits of the physical card number stored by Wallet (formerly Passbook). We receive this description alongside the DPAN when processing an Apple Pay transaction.

If getPaymentInstrumentType() is applePayCard, these are the details of the credit card used for the transaction.

If getPaymentInstrumentType() is applePayCard, these are the details of the credit card used for the transaction.

The code for the product type of the card (e.g. D (Visa Signature Preferred), G (Visa Business)). See Product ID codes below for possible values.

The last 4 digits of the physical card number (FPAN).

Indicates what type of payment method was tokenized by the network. Also includes an identifier for the account (e.g. last 4 digits if the payment method was a credit card).

An alphanumeric value that references a specific payment method stored in your Vault. Value will be nil if the transaction was not created from a vaulted Apple Pay card.

A collection of authorization adjustments associated with the transaction.

The date/time the transaction will expire if it has the AUTHORIZED status. For more details on authorization expiration timeframes, see the Statuses reference. Returned in UTC.

This field is populated if there was an error when checking AVS or the processing bank does not support AVS. Possible values:

  • S = Issuing bank does not support AVS
  • E = AVS system error

If this value is null, you will see responses in both getAvsPostalCodeResponseCode() and getAvsStreetAddressResponseCode().

This is populated if the processor supports the address verification system (AVS). Possible values:

  • M = Matches
  • N = Does not match
  • U = Not verified
  • I = Not provided
  • A = Not applicable
  • B = Bypass

This is populated if the processor supports the address verification system (AVS). Possible values:

  • M = Matches
  • N = Does not match
  • U = Not verified
  • I = Not provided
  • A = Not applicable
  • B = Bypass

The billing address details used to process this transaction. If billing address was stored in the Vault, then the billing address details are a snapshot of the address in the Vault at the time the transaction was created.

The billing company name. See the transaction API requests section for details.

The 2-letter billing country code. See the transaction API requests section for details.

The 3-letter billing country code. See the transaction API requests section for details.

The numeric billing country code. See the transaction API requests section for details.

The billing country name. See the transaction API requests section for details.

The extended billing address. See the transaction API requests section for details.

The first name. See the transaction API requests section for details.

getId()string

The billing details ID. A customer Vault record can contain up to 50 shipping and billing addresses, each with a unique ID. See the transaction API requests section for details.

The phone number that belongs to the address that is structured with country code and national number.

Country code of phone number. 1-3 digits. Required.

National number of phone number. 4-12 digits. Required.

The last name. See the transaction API requests section for details.

The locality/city. See the transaction API requests section for details.

Deprecated.

We recommend using international_phone. This functionality still exists in the gateway but is no longer documented. This parameter will be removed in the future.

The postal code. See the transaction API requests section for details.

The state or province. See the transaction API requests section for details.

The street address. See the transaction API requests section for details.

If the transaction request was performed through a shopping cart provider or Braintree partner, this field will have a string identifier for that shopping cart provider or partner. For PayPal transactions, this maps to the PayPal account's bn_code.

The date/time the object was created. Returned in UTC.

If getPaymentInstrumentType() is creditCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the credit card in the Vault at the time the transaction was created.

The first 6 digits of the credit card, known as the bank identification number (BIN).

The cardholder name associated with the credit card.

If getPaymentInstrumentType() is creditCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the credit card in the Vault at the time the transaction was created.

The country that issued the credit card. Possible country values follow ISO 3166-1.

The value Unknown will be returned if we cannot immediately determine the card's country of issuance from the bank identification number (BIN).

If getPaymentInstrumentType() is creditCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the credit card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is creditCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the credit card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is creditCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the credit card in the Vault at the time the transaction was created.

The expiration date, formatted MM/YY or MM/YYYY. May be used instead of expiration month and expiration year.

The expiration month of the credit card used, formatted MM.

The expiration year of the credit card used, formatted YYYY.

If getPaymentInstrumentType() is creditCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the credit card in the Vault at the time the transaction was created.

A URL that points to an image resource (a PNG file) hosted by Braintree, which represents the issuing card network (Visa, Mastercard, American Express, Discover, JCB).

The bank that issued the credit card.

The last 4 digits of the credit card number.

A value comprising the bank identification number (BIN), 6 asterisks blocking out the middle numbers (regardless of the number of digits present), and the last 4 digits of the card number. This complies with PCI security standards.

If the transaction was carried out at a physical store location with a payment reader, these are the details of the cardholder's interaction with the payment reader.

The cryptogram provided by an integrated circuit card (ICC) used for processing the transaction. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

The application identifier (AID) value returned by a payment reader that is used to identify the kind of card used to process a transaction.

An indicator of the credit card's capabilities within the processing application. This field is required to be included on an in-store transaction receipt that was offline declined by the issuer.

A value returned by a payment reader that represents the preferred mnemonic associated with the application identifier (AID). This field is required to be included on an in-store transaction receipt.

A counter managed by an integrated circuit card (ICC) that provides a reference to each transaction using that card. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

An indicator used to specify an issuer's restrictions for processing in a geographic region. This field is required to be included on an in-store transaction receipt that was offline declined by the issuer.

Whether the transaction was authorized by an integrated circuit card (ICC) or by the issuing bank. This field is required to be included on an in-store transaction receipt. Possible values:

  • Issuer
  • Card

The authorization code received from the processor in response to an authorization request. This field is required to be included on an in-store transaction receipt.

The card entry method that was used by the cardholder to initiate the transaction at the payment reader. This field is required to be included on an in-store transaction receipt.

The sequence number of the card, which is a unique identifier for credit cards that share the same PAN. This field is required to be included on an in-store transaction receipt that was offline declined by the issuer.

An indicator of the cardholder verification method and if it was successful or unsuccessful. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

An additional amount associated with the transaction that represents the cashback amount requested by the cardholder. This field is required to be included on an in-store transaction receipt that was offline declined by the issuer.

An indicator for the type of application cryptogram provided by an integrated circuit card (ICC) to process the transaction. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

Specifies the conditions that caused the transaction to be offline declined by the issuer, in a scenario where the transaction may have authorized if the payment reader made a processor request but was unable to. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

Specifies the conditions that caused the transaction to be offline declined by the issuer, in a scenario where the payment reader did not attempt to make a processor request. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

Specifies the conditions that caused the payment reader to attempt to make a processor request. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

Authentication data returned by the issuer in response to an authorization request. This field is required to be included on an in-store transaction receipt.

The country code that the payment reader should process the transaction with. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

The local date that the transaction requested authorization from the payment reader. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

An indicator of the type of transaction specified during authorization processing. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

A value returned by a payment reader that represents the status of a series of validations against an EMV enabled credit card. This field is required to be included on an in-store transaction receipt.

A value used to uniquely differentiate an application cryptogram used during authorization processing. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

If getPaymentInstrumentType() is creditCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the credit card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is creditCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the credit card in the Vault at the time the transaction was created.

The code for the product type of the card (e.g. D (Visa Signature Preferred), G (Visa Business)). See Product ID codes below for possible values.

If getPaymentInstrumentType() is creditCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the credit card in the Vault at the time the transaction was created.

A randomly-generated string that uniquely identifies a credit card number in the Vault. If the same credit card is added to a merchant's Vault multiple times, each Vault entry will have the same unique identifier. This value is randomly generated by merchant gateway account, so it will be different for each merchant's Vault.

The currency for the transaction (e.g. "USD" for US dollars). See the ISO 4217 codes.

A collection of custom field/value pairs.

The customer details used to process this transaction. If the transaction was created using Vault tokens, then the customer details are a snapshot of the customer in the Vault at the time the transaction was created.

The customer company name. See the transaction API requests section for details.

The email address. See the transaction API requests section for details.

getFax()string

The customer fax number. See the transaction API requests section for details.

The first name. See the transaction API requests section for details.

getId()string

The customer details used to process this transaction. If the transaction was created using Vault tokens, then the customer details are a snapshot of the customer in the Vault at the time the transaction was created.

The phone number that belongs to the address that is structured with country code and national number.

Country code of phone number. 1-3 digits. Required.

National number of phone number. 4-12 digits. Required.

The last name. See the transaction API requests section for details.

Deprecated.

We recommend using international_phone. This functionality still exists in the gateway but is no longer documented. This parameter will be removed in the future.

The customer website address. See the transaction API requests section for details.

The processing bank's response to the card verification value (CVV) provided by the customer. Possible values:

  • M = Matches
  • N = Does not match
  • U = Not verified
  • I = Not provided
  • S = Issuer does not participate
  • A = Not applicable
  • B = Bypass

getName()string

The value in the business name field of a customer's statement.

The value in the phone number field of a customer's statement.

getUrl()string

The value in the URL/web address field of a customer's statement.

Disbursement details contain information about how and when the transaction was disbursed, including timing and currency information. This detail is only available if you have an eligible merchant account.

The date that the funds associated with this transaction were disbursed. This attribute is only available if you have an eligible merchant account.

A value indicating whether funds have been withheld from a disbursement to the merchant's bank account.

The amount of the transaction in the settlement currency. This attribute is only available if you have an eligible merchant account.

The base exchange rate from the presentment currency to the settlement currency. This attribute is only available if you have an eligible merchant account.

The exchange rate from the presentment currency to the settlement currency. This attribute is only available if you have an eligible merchant account.

The settlement currency. See the ISO 4217 codes. This attribute is only available if you have an eligible merchant account.

A value indicating whether the funds were disbursed successfully. This value can change over time if we receive an exception and then retry the disbursement. This attribute is only available on eligible merchant accounts.

Some of the most common reasons that funds are held from disbursement are risk reviews of the merchant's recent processing or as a result of ACH returns or rejects. If funds are held (for any reason) you will be notified with the proper steps to take.

The data field that specifies the discount amount that was included in the total transaction amount. It can't be negative, and it does not add to the total transaction amount. If Braintree has approved your merchant account for Level 3 processing, we will pass this field to the processor on your behalf. This Braintree line-item field is not used by PayPal.

A collection of discounts associated with this subscription.

A collection of disputes associated with the transaction.

This attribute is only available to Braintree Marketplace merchants. See Holding funds in escrow to learn more. Possible values:

  • HOLD_PENDING
  • HELD
  • RELEASE_PENDING
  • RELEASED
  • REFUNDED

If the transaction request was performed using payment information from a third party via the Grant API or Shared Vault, these fields will capture information about the merchant of record. These fields are primarily useful for the third party.

The merchant ID of the merchant of record.

The name of the business associated with the merchant of record.

If the transaction request was performed using payment information from a third party via the Grant API or Shared Vault, these fields will capture information about the merchant of record. These fields are primarily useful for the third party.

If the transaction request was performed using payment information from a third party via the Grant API, Shared Vault or Google Pay, these fields will capture information about the third party. These fields are primarily useful for the merchant of record.

The unique identifier for the OAuth application that owns the payment information used to create the transaction.

The display name of the OAuth application that owns the payment information used to create the transaction.

The alphanumeric value that references a specific payment method stored in the facilitator's Vault.

This value will only be set if the transaction status is GATEWAY_REJECTED. Possible values:

  • "application_incomplete"
  • "avs"
  • "avs_and_cvv"
  • "cvv"
  • "duplicate"
  • "fraud"
  • "risk_threshold"
  • "three_d_secure"
  • "token_issuance"

The unique identifier used to identify this transaction in Braintree's GraphQL API.

A collection of line items associated with the transaction.

If getPaymentInstrumentType() is localPayment, these are the details used for the transaction.

The PayPal Order's custom ID. This caller-provided ID is used to reconcile client transactions with PayPal transactions. It appears in transaction and settlement reports but is not visible to the payer.

The PayPal Order's purchase description.

The local bank used to fund the transaction.

The payment method global id that is returned from a one-time PayPal transaction with recurrent option.

The payment method token that is returned from a one-time PayPal transaction with recurrent option.

The identifier for the payer in the request.

The PayPal Order ID associated with the transaction.

The transaction fee amount of the PayPal transaction.

The transaction fee currency code of the PayPal transaction.

This functionality still exists in the gateway but is no longer documented. Will remove this param/attr when the corresponding gateway code is removed. Old description – The master merchant account ID used to create a transaction.

If getPaymentInstrumentType() is masterpassCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Masterpass card in the Vault at the time the transaction was created.

The first 6 digits of the credit card, known as the bank identification number (BIN).

The type of the credit card. Possible values:

  • American Express
  • Discover
  • JCB
  • Maestro
  • MasterCard
  • Visa

The cardholder name associated with the credit card.

If getPaymentInstrumentType() is masterpassCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Masterpass card in the Vault at the time the transaction was created.

The country that issued the credit card. Possible country values follow ISO 3166-1.

The value Unknown will be returned if we cannot immediately determine the card's country of issuance from the bank identification number (BIN).

If getPaymentInstrumentType() is masterpassCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Masterpass card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is masterpassCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Masterpass card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is masterpassCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Masterpass card in the Vault at the time the transaction was created.

The expiration date, formatted MM/YY or MM/YYYY. May be used instead of expiration month and expiration year.

The expiration month of the credit card used, formatted MM.

The expiration year of the credit card used, formatted YYYY.

If getPaymentInstrumentType() is masterpassCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Masterpass card in the Vault at the time the transaction was created.

A URL that points to an image resource (a PNG file) hosted by Braintree, which represents the issuing card network (Visa, Mastercard, American Express, Discover).

Indicates whether this card has been network tokenized. A network tokenized card is a generated virtual card with a device-specific account number (DPAN) that is used in place of the underlying source card.

The bank that issued the credit card.

The last 4 digits of the credit card number.

A value comprising the bank identification number (BIN), 6 asterisks blocking out the middle numbers (regardless of the number of digits present), and the last 4 digits of the card number. This complies with PCI security standards.

If getPaymentInstrumentType() is masterpassCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Masterpass card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is masterpassCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Masterpass card in the Vault at the time the transaction was created.

The code for the product type of the card (e.g. D (Visa Signature Preferred), G (Visa Business)). See Product ID codes below for possible values.

If getPaymentInstrumentType() is masterpassCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Masterpass card in the Vault at the time the transaction was created.

The merchant account ID used to create a transaction. Currency is also determined by merchant account ID.

The merchant address details used to process this transaction. These details are required to be included on an in-store transaction receipt.

The locality/city.

The phone number.

The postal code.

The state or province.

The street address.

The merchant advice code. When present, this field can provide additional detail about why a recurring payment transaction was declined, and the actions merchants can take to continue to serve their recurring payment customers. See the list of possible network responses.

The merchant advice code text for the getMerchantAdviceCode().

The merchant ID that is registered with the acquiring bank. This field is required to be included on an in-store transaction receipt.

The display name of the merchant. This field is required to be included on an in-store transaction receipt.

The network response code. When present, this field can provide additional detail about why a transaction was declined, but the getProcessorResponseCode() should be considered the source of truth. See the list of possible network responses.

The network response text for the getNetworkResponseCode().

If getPaymentInstrumentType() is networkToken, these are the details of the token used for the transaction.

The first 6 digits of the credit card, known as the bank identification number (BIN).

The cardholder name associated with the credit card.

If getPaymentInstrumentType() is networkToken, these are the details of the token used for the transaction.

The country that issued the credit card. Possible country values follow ISO 3166-1.

The value Unknown will be returned if we cannot immediately determine the card's country of issuance from the bank identification number (BIN).

If getPaymentInstrumentType() is networkToken, these are the details of the token used for the transaction.

If getPaymentInstrumentType() is networkToken, these are the details of the token used for the transaction.

If getPaymentInstrumentType() is networkToken, these are the details of the token used for the transaction.

The expiration date, formatted MM/YY or MM/YYYY. May be used instead of expiration month and expiration year.

The expiration month of the credit card used, formatted MM.

The expiration year of the credit card used, formatted YYYY.

If getPaymentInstrumentType() is networkToken, these are the details of the token used for the transaction.

A URL that points to an image resource (a PNG file) hosted by Braintree, which represents the issuing card network (Visa, Mastercard, American Express, Discover, JCB).

Indicates whether this card has been network tokenized. A network tokenized card is a generated virtual card with a device-specific account number (DPAN) that is used in place of the underlying source card.

The bank that issued the credit card.

The last 4 digits of the credit card number.

A value comprising the bank identification number (BIN), 6 asterisks blocking out the middle numbers (regardless of the number of digits present), and the last 4 digits of the card number. This complies with PCI security standards.

If getPaymentInstrumentType() is networkToken, these are the details of the token used for the transaction.

If getPaymentInstrumentType() is networkToken, these are the details of the token used for the transaction.

The code for the product type of the card (e.g. D (Visa Signature Preferred), G (Visa Business)). See Product ID codes below for possible values.

The network transaction identifier provided by the payment network. This should be provided in requests to create subsequent transactions if the card used in this transaction is being stored in an external vault. This identifier can be passed in the externalVault().previousNetworkTransactionId() field of subsequent transactions.

The order ID of the transaction. On PayPal transactions, this field maps to the PayPal invoice number. PayPal invoice numbers are unique in your PayPal business account.

Transaction receipt data.

The remaining balance amount on a credit or debit card after it was used to process the transaction.

getAmount()BigDecimal

The billing amount of the request.

The last 4 digits of the credit card number.

Card present details.

The cryptogram provided by an integrated circuit card (ICC) used for processing the transaction. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

The application identifier (AID) value returned by a payment reader that is used to identify the kind of card used to process a transaction.

An indicator of the credit card's capabilities within the processing application. This field is required to be included on an in-store transaction receipt that was offline declined by the issuer.

A value returned by a payment reader that represents the preferred mnemonic associated with the application identifier (AID). This field is required to be included on an in-store transaction receipt.

A counter managed by an integrated circuit card (ICC) that provides a reference to each transaction using that card. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

An indicator used to specify an issuer's restrictions for processing in a geographic region. This field is required to be included on an in-store transaction receipt that was offline declined by the issuer.

Whether the transaction was authorized by an integrated circuit card (ICC) or by the issuing bank. This field is required to be included on an in-store transaction receipt. Possible values:

  • Issuer
  • Card

The authorization code received from the processor in response to an authorization request. This field is required to be included on an in-store transaction receipt.

The card entry method that was used by the cardholder to initiate the transaction at the payment reader. This field is required to be included on an in-store transaction receipt.

The sequence number of the card, which is a unique identifier for credit cards that share the same PAN. This field is required to be included on an in-store transaction receipt that was offline declined by the issuer.

An indicator of the cardholder verification method and if it was successful or unsuccessful. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

An additional amount associated with the transaction that represents the cashback amount requested by the cardholder. This field is required to be included on an in-store transaction receipt that was offline declined by the issuer.

An indicator for the type of application cryptogram provided by an integrated circuit card (ICC) to process the transaction. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

Specifies the conditions that caused the transaction to be offline declined by the issuer, in a scenario where the transaction may have authorized if the payment reader made a processor request but was unable to. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

Specifies the conditions that caused the transaction to be offline declined by the issuer, in a scenario where the payment reader did not attempt to make a processor request. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

Specifies the conditions that caused the payment reader to attempt to make a processor request. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

Authentication data returned by the issuer in response to an authorization request. This field is required to be included on an in-store transaction receipt.

The country code that the payment reader should process the transaction with. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

The local date that the transaction requested authorization from the payment reader. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

An indicator of the type of transaction specified during authorization processing. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

A value returned by a payment reader that represents the status of a series of validations against an EMV enabled credit card. This field is required to be included on an in-store transaction receipt.

A value used to uniquely differentiate an application cryptogram used during authorization processing. This field is required to be included on an in-store transaction receipt on an offline declined transaction.

The credit card type.

The ISO code for the currency the merchant account uses. See the ISO 4217 codes.

The unique transaction global ID.

The merchant address details used to process this transaction. These details are required to be included on an in-store transaction receipt.

The locality/city.

The phone number.

The postal code.

The state or province.

The street address.

The merchant ID that is registered with the acquiring bank. This field is required to be included on an in-store transaction receipt.

The name of the business associated with the merchant of record.

An indicator for whether the transaction was successfully verified by PIN. This field is required to be included on an in-store transaction receipt.

The authorization code returned by the processor.

The processor response code. See the list of possible processor authorization responses.

The processor response text. See the list of possible processor authorization responses.

The terminal ID that was used for processing the transaction. This field is required to be included on an in-store transaction receipt.

getType()string

The value that defines whether a transaction is a sale or credit.

If getPaymentInstrumentType() is paypalAccount, these are the details of the PayPal account used for the transaction.

The identification value of the authorization within PayPal's API.

PayPal id for a transaction.

Custom field/value pairs.

A URL that points to a PayPal image resource (a PNG file) hosted by Braintree.

The payment method global id that is returned from a one-time PayPal transaction with billing agreement creation.

The payment method token that is returned from a one-time PayPal transaction with billing agreement creation.

The email address associated with the PayPal account that was used to create the request. This field will not be populated if the PayPal transaction declines and the payment method was not previously stored in the Vault.

The first name associated with the PayPal account used to create the request.

The identifier for the PayPal account used in the request.

The last name associated with the PayPal account used to create the request.

The primary phone number of the PayPal account used to create the request.

The status of the PayPal account used to create the request.

The identification value of the payment within PayPal's API.

The description of the refund transaction. On PayPal transactions, this field maps to the PayPal refund description.

The refund from the transaction fee amount of the PayPal transaction.

A refund from transaction fee of 1 will always be returned for sandbox integrations.

The currency of the associated refund from the transaction fee.

PayPal id for a refund.

The reason of the refund transaction. On PayPal transactions, this field maps to the PayPal refund reason.

The currency code for the selected financing option.

Optional discount amount for the selected financing option.

Optional discount percentage on interest rates for the selected financing option.

The monthly amount to be paid for the selected financing option.

The agreed term in months for the selected financing option.

Indicates whether a transaction qualifies for PayPal Seller Protection.

The identification value of the shipping option selected during PayPal Checkout.

Payer's tax id. Only returned for payments from Brazilian accounts.

Payer's tax id type. Only returned for payments from Brazilian accounts. Allowed values BR_CPF or BR_CNPJ.

An alphanumeric value that references a specific payment method stored in your Vault. Length and format of gateway-generated tokens and IDs may change at any time.

The transaction fee amount of the PayPal transaction.

A transaction fee of 1 will always be returned for sandbox integrations.

The currency of the associated transaction fee.

If getPaymentInstrumentType() is paypalHere, these are the details of the PayPal Here payment method used for the transaction. See the PayPal Here guide for details.

The identification value of the authorization within PayPal's API.

PayPal ID for a transaction.

PayPal ID for the invoice for the transaction.

The last 4 digits of the credit card number.

The identification value of the payment within PayPal's API.

The type of the credit card. Possible values:

  • A - American Express
  • D - Discover
  • J - JCB
  • T - Maestro
  • M - MasterCard
  • V - Visa

PayPal ID for a refund.

The amount of the transaction fee assessed for the PayPal Here transaction.

The currency of the associated transaction fee.

The date/time the transaction was initiated in PayPal systems. Returned in UTC.

The date/time the transaction was last updated in PayPal systems. Returned in UTC.

An indicator for whether the transaction was successfully verified by PIN. This field is required to be included on an in-store transaction receipt.

The plan identifier.

Indicates whether this transaction has been processed with a network token.

The authorization code returned by the processor.

The processor response code. See the list of possible processor authorization responses.

The processor response text. See the list of possible processor authorization responses.

The processor response type. Possible values:

  • "approved"
  • "soft_declined"
  • "hard_declined"

See the list of possible processor authorization responses, and definitions of soft and hard declines.

The status of the request to capture the funds. See the list of possible processor settlement responses.

A Level 2 data field that can be used to store a purchase order identification value.

A value indicating whether the transaction was passed with a recurring ecommerce indicator (ECI) flag.

This functionality still exists in the gateway but is no longer documented. Will remove this param/attr when the corresponding gateway code is removed. Old description – The first transaction refund ID.

The transaction refund ID(s) associated with a sale transaction. See the transaction API requests section for details.

The sale transaction ID associated with a refund transaction. See the transaction API requests section for details.

Response EMV data provided by the processor if this was an EMV transaction.

The transaction ID of the transaction that was retried.

The string value representing the reference number provided by the processor (if any).

An array of transation IDs for all retry attempts for this transaction.

Any applicable risk data associated with the transaction. The data includes the risk identifier, the device data captured flag, and the risk decision, which can provide further context on how a transaction was scored by Braintree.

The risk decision. Possible values:

  • Not Evaluated
  • Approve
  • Review
  • Decline

An array of strings containing the rules triggered by the fraud provider when generating the decision.

Flag indicating whether device session data was successfully captured and processed by the fraud service.

The fraud service used to determine if a transaction is likely to be fraudulent.

getId()string

The risk data identifier.

Map to indicate under what circumstances liability for a chargeback has shifted and who is the new responsible party.

An array of strings containing the conditions under which liability for a chargeback has shifted.

The party that is now responsible for the chargeback.

The score returned by the fraud provider as a measurement of the transaction's likelihood for being fraudulent. Only applicable to Fraud Protection Advanced product.

If getPaymentInstrumentType() is samsungPayCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Samsung Pay card in the Vault at the time the transaction was created.

The first 6 digits of the credit card, known as the bank identification number (BIN).

The type of the credit card. Possible values:

  • American Express
  • MasterCard
  • Visa

The cardholder name associated with the credit card.

If getPaymentInstrumentType() is samsungPayCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Samsung Pay card in the Vault at the time the transaction was created.

The country that issued the credit card. Possible country values follow ISO 3166-1.

The value Unknown will be returned if we cannot immediately determine the card's country of issuance from the bank identification number (BIN).

If getPaymentInstrumentType() is samsungPayCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Samsung Pay card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is samsungPayCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Samsung Pay card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is samsungPayCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Samsung Pay card in the Vault at the time the transaction was created.

The expiration date, formatted MM/YY or MM/YYYY. May be used instead of expiration month and expiration year.

The expiration month of the credit card used, formatted MM.

The expiration year of the credit card used, formatted YYYY.

If getPaymentInstrumentType() is samsungPayCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Samsung Pay card in the Vault at the time the transaction was created.

A URL that points to an image resource (a PNG file) hosted by Braintree, which represents the issuing card network (Visa, Mastercard, American Express, Discover).

Indicates whether this card has been network tokenized. A network tokenized card is a generated virtual card with a device-specific account number (DPAN) that is used in place of the underlying source card.

The bank that issued the credit card.

The last 4 digits of the credit card number.

A value comprising the bank identification number (BIN), 6 asterisks blocking out the middle numbers (regardless of the number of digits present), and the last 4 digits of the card number. This complies with PCI security standards.

If getPaymentInstrumentType() is samsungPayCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Samsung Pay card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is samsungPayCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Samsung Pay card in the Vault at the time the transaction was created.

The code for the product type of the card (e.g. D (Visa Signature Preferred), G (Visa Business)). See Product ID codes below for possible values.

The last 4 digits of the payment method tokenized by the network.

If getPaymentInstrumentType() is samsungPayCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Samsung Pay card in the Vault at the time the transaction was created.

If an exemption to the Secure Customer Authentication requirement was requested for this transaction, this value will have the specific reason for the exemption request.

If getPaymentInstrumentType() is sepaDebitAccount, these are the details of the SEPA debit account used for the transaction.

SEPA Direct Debit payments are currently in a limited release and are only available to select merchants. See the SEPA Direct Debit guide for details.

The tokenized payment source to fund a payment.

The identification value of the capture within PayPal's API.

The last characters of the International Bank Account Number, a unique identifier for a bank account that is used by banks around Europe.

Represents the type of mandate. This can be either 'ONE_OFF' or 'RECURRENT'.

The unique ID for a customer in merchant's or partner's system of records.

The identification value of the payment within PayPal's API.

The refund from the transaction fee amount of the PayPal transaction.

A refund from transaction fee of 1 will always be returned for sandbox integrations.

The transaction refund ID associated with a sale transaction. See the transaction API requests section for details.

The currency of the associated refund from the transaction fee.

The type of settlement option that the merchant is configured for. This can be either 'INSTANT' or 'DELAYED'.

An alphanumeric value that references a specific payment method stored in your Vault. Length and format of gateway-generated tokens and IDs may change at any time.

The transaction fee amount of the PayPal transaction.

A transaction fee of 1 will always be returned for sandbox integrations.

The currency of the associated transaction fee.

The portion of a sub-merchant's transaction revenue that was routed to the master merchant account.

Available to Braintree Marketplace merchants. See Creating Transactions with Service Fees for more details.

The identification value of the settlement batch in which the transaction was processed. The format may change at any time but is currently YYYY-MM-DD_m_d where m is the merchant account token without special characters and d is an alphanumeric string to guarantee uniqueness.

The data field that specifies the shipping cost on the entire transaction. It can't be negative, and it does not add to the total transaction amount. If Braintree has approved your merchant account for Level 3 processing, we will pass this field to the processor on your behalf.

The shipping address details used to process this transaction. If shipping address was stored in the Vault, then the shipping address details are a snapshot of the address in the Vault at the time the transaction was created.

The shipping company name. See the transaction API requests section for details.

The 2-letter shipping country code. See the transaction API requests section for details.

The 3-letter shipping country code. See the transaction API requests section for details.

The numeric shipping country code. See the transaction API requests section for details.

The shipping country name. See the transaction API requests section for details.

The extended shipping address. See the transaction API requests section for details.

The first name. See the transaction API requests section for details.

getId()string

The shipping details ID. A customer Vault record can contain up to 50 shipping and billing addresses, each with a unique ID. See the transaction API requests section for details.

The phone number that belongs to the address that is structured with country code and national number.

Country code of phone number. 1-3 digits. Required.

National number of phone number. 4-12 digits. Required.

The last name. See the transaction API requests section for details.

The locality/city. See the transaction API requests section for details.

Deprecated.

We recommend using international_phone. This functionality still exists in the gateway but is no longer documented. This parameter will be removed in the future.

The postal code. See the transaction API requests section for details.

The state or province. See the transaction API requests section for details.

The shipping address details used to process this transaction. If shipping address was stored in the Vault, then the shipping address details are a snapshot of the address in the Vault at the time the transaction was created.

The street address. See the transaction API requests section for details.

The data field that specifies the tax charged on the getShippingAmount() of the entire transaction. It can't be negative, and it does not add to the total transaction amount. If Braintree has approved your merchant account for Level 3 processing, we will pass this field to the processor on your behalf.

The data field that specifies the postal code of the shipping location. If Braintree has approved your merchant account for Level 3 processing, we will pass this field to the processor on your behalf.

Possible values:

  • authorizationExpired
  • authorized
  • authorizing
  • settlementPending
  • settlementDeclined
  • failed
  • gatewayRejected
  • processorDeclined
  • settled
  • settling
  • submittedForSettlement
  • voided

See the transaction status explanations for details.

A collection of status history details showing the transaction's status changes over time.

This functionality still exists in the gateway but is no longer documented. Will remove this param/attr when the corresponding gateway code is removed. Old description – The SubMerchantAccount ID used to create a transaction.

The end date for the current billing period, regardless of subscription status. Automatic retries on past due subscriptions do not change the start and end dates of the current billing period.

The start date for the current billing period, regardless of subscription status. Automatic retries on past due subscriptions do not change the start and end dates of the current billing period.

The value used to identify a specific subscription.

The data field that specifies the surcharge amount that was included in the total transaction amount. It can't be negative, and it does not add to the total transaction amount. Your merchant account must be registered for surcharging.

getTaxAmount()BigDecimal

A Level 2 data field that specifies the amount of tax that was included in the total transaction amount. It is never negative, and it does not add to the total transaction amount.

A Level 2 data field that indicates whether or not the transaction should be considered eligible for tax exemption. This does not affect the total transaction amount.

The terminal ID that was used for processing the transaction. This field is required to be included on an in-store transaction receipt.

The 3D Secure information for this transaction.

getCAVV()string

Cardholder Authentication Verification Value or "CAVV". The main encrypted message issuers and card networks use to verify authentication has occured. Mastercard refers to this field as AAV, while American Express refers to this field as AEVV.

Transaction identifier resulting from 3D Secure 2 authentication.

The value of the electronic commerce indicator (ECI) flag, which indicates the outcome of the 3DS authentication.

Possible values for Mastercard:

  • 00 = Failed or not attempted
  • 01 = Attempted
  • 02 = Success
  • 04 = Data-Only (Applies to limited processors)

Possible values for all other card brands:

  • 07 = Failed or not attempted
  • 06 = Attempted
  • 05 = Success

Indicates whether a card is enrolled in a 3D Secure program or not. Possible values:

  • Y = Yes
  • N = No
  • U = Unavailable
  • B = Bypass
  • E = RequestFailure

Indicates whether a liability shift is possible.

Indicates whether the liability shifted or not.

The 3D Secure status value. For a list of all possible statuses and their liability shifts, see the 3D Secure guide.

The version of 3D Secure authentication used for the transaction. Composed of digits separated by periods (e.g. 1.0.2, 2.1.0).

getXID()string

Transaction identifier resulting from 3D Secure authentication. This field will no longer be used in 3D Secure 2 authentications.

getType()string

The value that defines whether a transaction is a sale or credit.

The date/time the object was last updated. Returned in UTC.

If getPaymentInstrumentType() is usBankAccount, these are the details of the US Bank Account used for the transaction.

US bank account payments are available for eligible merchants. See the ACH Direct Debit guide for details.

Account holder name.

The type of the bank account. Possible values:

  • "business_checking"
  • "business_savings"
  • "checking"
  • "savings"

The authorization text passed by the consumer allowing their account to be debited.

The name of the issuing bank.

Business name.

The account holder's first name.

The unique identifier used to identify this bank account in Braintree's GraphQL API.

The unique identifier used to identify this bank account in Braintree's GraphQL API.

A URL that points to a payment method image resource (a PNG file) hosted by Braintree.

The last 4 digits of the bank account number.

The account holder's last name.

The ownership type of the bank account. Possible values:

  • "business"
  • "personal"

The bank routing number associated with the bank account.

An alphanumeric value that references a specific payment method stored in your Vault.

Indicates whether the bank account has been verified.

If getPaymentInstrumentType() is venmoAccount, these are the details of the Venmo account used for the transaction.

Venmo payments are currently in a limited release and are only available to select merchants. See the Venmo guide for details.

A URL that points to a payment method image resource (a PNG file) hosted by Braintree.

A short description of the payment method, including the Venmo username.

An alphanumeric value that references a specific payment method stored in your Vault. Value will be nil if the transaction was not created from a vaulted Venmo account.

The Venmo username of the Venmo account.

The Venmo user ID of the Venmo account.

If getPaymentInstrumentType() is visaCheckoutCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Visa Checkout card in the Vault at the time the transaction was created.

The first 6 digits of the credit card, known as the bank identification number (BIN).

The Visa assigned identifier of the transaction.

The type of the credit card. Possible values:

  • American Express
  • Discover
  • MasterCard
  • Visa

The cardholder name associated with the credit card.

If getPaymentInstrumentType() is visaCheckoutCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Visa Checkout card in the Vault at the time the transaction was created.

The country that issued the credit card. Possible country values follow ISO 3166-1.

The value Unknown will be returned if we cannot immediately determine the card's country of issuance from the bank identification number (BIN).

If getPaymentInstrumentType() is visaCheckoutCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Visa Checkout card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is visaCheckoutCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Visa Checkout card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is visaCheckoutCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Visa Checkout card in the Vault at the time the transaction was created.

The expiration date, formatted MM/YY or MM/YYYY. May be used instead of expiration month and expiration year.

The expiration month of the credit card used, formatted MM.

The expiration year of the credit card used, formatted YYYY.

If getPaymentInstrumentType() is visaCheckoutCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Visa Checkout card in the Vault at the time the transaction was created.

A URL that points to an image resource (a PNG file) hosted by Braintree, which represents the issuing card network (Visa, Mastercard, American Express, Discover).

Indicates whether this card has been network tokenized. A network tokenized card is a generated virtual card with a device-specific account number (DPAN) that is used in place of the underlying source card.

The bank that issued the credit card.

The last 4 digits of the credit card number.

A value comprising the bank identification number (BIN), 6 asterisks blocking out the middle numbers (regardless of the number of digits present), and the last 4 digits of the card number. This complies with PCI security standards.

If getPaymentInstrumentType() is visaCheckoutCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Visa Checkout card in the Vault at the time the transaction was created.

If getPaymentInstrumentType() is visaCheckoutCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Visa Checkout card in the Vault at the time the transaction was created.

The code for the product type of the card (e.g. D (Visa Signature Preferred), G (Visa Business)). See Product ID codes below for possible values.

If getPaymentInstrumentType() is visaCheckoutCard, these are the details of the card used for the transaction. If the transaction was created using Vault tokens, then this attribute is a snapshot of the Visa Checkout card in the Vault at the time the transaction was created.

The value passed by the merchant with a voice-authorized transaction.

Result objectanchor

Read more about result objects.

Successful resultanchor

If the result is successful, the transaction will have either a settling status, authorized status, or (if the options-submitForSettlement() option was used) a submitted for settlement status.

  1. Java
result.isSuccess();
// true

Transaction transaction = result.getTarget();
transaction.getStatus();
// Transaction.Status.AUTHORIZED

Additionally, you may inspect the result to determine if the transaction was created using a specific payment method type (e.g. PayPal account or a credit card), using the provided format.

  1. Java
Transaction transaction = result.getTarget();
transaction.getPaymentInstrumentType().equals(PaymentInstrumentType.PAYPAL_ACCOUNT);
// false
transaction.getPaymentInstrumentType().equals(PaymentInstrumentType.CREDIT_CARD);
// true

Unsuccessful resultanchor

Success will return false if:

  1. Java
result.isSuccess();
// false

ValidationErrors errors = result.getErrors();

Validation errorsanchor

If any parameters are invalid, then the success call will return false and the result object will contain one or more validation errors indicating which parameters were invalid.

When receiving a validation error, a Transaction object will not be present on the Result object.

Processor declinedanchor

If the processor declines the transaction during the authorization, the processor response will be available on the transaction object.

  1. Java
if (!result.isSuccess()) {
  Transaction transaction = result.getTransaction();

  transaction.getStatus();
  // Transaction.Status.PROCESSOR_DECLINED

  transaction.getProcessorResponseType();
  // e.g. ProcessorResponseType.SOFT_DECLINED

  transaction.getProcessorResponseCode();
  // e.g. "2001"

  transaction.getProcessorResponseText();
  // e.g. "Insufficient Funds"
}

As a supplement to the standardized processor response codes, we will return bank-specific Additional Processor Responses on the transaction object. The standardized code is what you should use when handling the result object, but the Additional Processor Response might provide further context.

  1. Java
transaction.getAdditionalProcessorResponse();
# e.g. "05 : NOT AUTHORISED"

Processor settlement declinedanchor

If the processor declines the transaction at the settlement stage, the processor response will be available on the transaction object.

  1. Java
Transaction transaction = result.getTransaction();

transaction.getStatus();
// Transaction.Status.SETTLEMENT_DECLINED

transaction.getProcessorSettlementResponseCode();
// e.g. "4001"

transaction.getProcessorSettlementResponseText();
// e.g. "Settlement Declined"

Gateway rejectionanchor

If the transaction is rejected by the gateway based on your account settings, you can check for the transaction status and gateway rejection reason.

  1. Java
if (!result.isSuccess()) {
  Transaction transaction = result.getTransaction();

  transaction.getStatus();
  // Transaction.Status.GATEWAY_REJECTED

  transaction.getGatewayRejectionReason();
  // e.g. Transaction.GatewayRejectionReason.CVV
}

Risk dataanchor

We return the risk data on credit card verifications and on transactions with all compatible payment methods. The data includes the fraud service provider, the risk identifier, the device data captured flag, and the risk decision, which can provide further context on how a verification or transaction was scored by our Premium Fraud Management Tools. For users of Fraud Protection, the data will include the decision reasons. For users of Fraud Protection Advanced, the data will also include the risk score.

note

For users of our Java and .NET SDKs, you will need to upgrade to versions .NET 5.4.0 and Java 3.7.0 or later to see the decision reasons and risk score in the risk data.

  1. Java
Transaction transaction = result.getTransaction();
transaction.getRiskData().getId();
// "1SG23YHM4BT5"
transaction.getRiskData().getDecision();
// "Decline"
transaction.getRiskData().getDeviceDataCaptured();
// true
transaction.getRiskData().getFraudServiceProvider();
// "Kount"
transaction.getRiskData().getDecisionReasons();
// ["reason1", "reason2"]
transaction.getRiskData().getRiskScore();
// 42

The possible values of the risk decision are:

  • "Not Evaluated"
  • "Approve"
  • "Review"
  • "Decline"

Params retrievalanchor

See our documentation on result objects .

Examplesanchor

Currenciesanchor

Each merchant account can only process transactions for a single currency. Setting which merchant account to use will also determine which currency the transaction is processed with.

  1. Java
Transaction transaction = result.getTarget();
transaction.getCurrencyIsoCode();
// USD

Settlement statusanchor

Check the result for success, and if it has failed, then first check for validation errors. If there are no validation errors, inspect the processorSettlementResponseCode on the transaction, which will indicate if the processor declined the request.

  1. Java
if (result.isSuccess()) {
  // transaction successfully submitted for settlement
} else if (result.getErrors().deepSize() > 0) {
  for (ValidationError error : result.getErrors().getAllDeepValidationErrors()) {
    System.out.println(error.getMessage());
  }
} else {
  System.out.println(result.getTransaction().getProcessorSettlementResponseCode());
  System.out.println(result.getTransaction().getProcessorSettlementResponseText());
}

Processor settlement declinedanchor

If the settlement request is declined by the processor, the processor response will be available on the transaction object.

  1. Java
Transaction transaction = result.getTransaction();

transaction.getStatus();
// Transaction.Status.SETTLEMENT_DECLINED

transaction.getProcessorSettlementResponseCode();
// e.g. "4001"

transaction.getProcessorSettlementResponseText();
// e.g. "Settlement Declined"

Voiding settlementanchor

If you submit a transaction for settlement and then decide you actually don't want to settle it, you can void it before it's settled. After it's settled, you'll need to refund it instead.

To check if the transaction has been settled, find the transaction and check the status.

  1. Java
Transaction transaction = gateway.transaction().find("the_transaction_id");

if (transaction.getStatus() == Transaction.Status.SUBMITTED_FOR_SETTLEMENT) {
  // can void
} else if (transaction.getStatus() == Transaction.Status.SETTLED) {
  // will have to refund it
} else {
  // this example only expected one of the two above statuses
}

Authorization adjustmentsanchor

The authorized amount of a transaction can be adjusted by using the adjust authorization endpoint. This will cause an authorization adjustment to be performed.

When submitting a transaction for settlement, if you specify a settlement amount that is different than the authorized amount , an authorization adjustment may be performed automatically.

For each adjustment performed, an authorization adjustment object will be associated with the original transaction. These adjustment objects will include the following details:

Adjustment Detail Description
amount

The difference between the authorized amount and the amount submitted for settlement. Negative values indicate the authorized amount was adjusted down.

successA boolean value indicating if the adjustment was successful.
timestampThe date/time when the adjustment was performed.
proccessorResponseType

The processor response type. Possible values: "approved", "soft_declined", "hard_declined". See the list of

possible processor authorization responses.

proccessorResponseCode

The processor response code. See the list of

possible processor authorization responses.

proccessorResponseText

The processor response text. See the list of

possible processor authorization responses.

Status history detailsanchor

Status EventDescription
amountThe amount of the request.
status

A record of the statuses that a transaction has progressed through. Possible values:

  • authorizationExpired
  • authorized
  • authorizing
  • settlementPending
  • settlementConfirmed
  • settlementDeclined
  • failed
  • gatewayRejected
  • processorDeclined
  • settled
  • settling
  • submittedForSettlement
  • voided
timestamp

The date/time the status change was performed. Results are returned in UTC.

transactionSource

How a transaction was created. Possible values:

  • Api
  • ControlPanel
  • Recurring
user

The Braintree Control Panel username of the person who performed an action that triggered the status change of the transaction.

You can use these status events to retrieve information around transaction status changes.

  1. Java
Transaction transaction = gateway.transaction().find("the_transaction_id");

for (StatusEvent event : transaction.getStatusHistory()) {
  System.out.println(event.getAmount());
  System.out.println(event.getStatus());
  System.out.println(event.getTimestamp());
  System.out.println(event.getTransactionSource());
  System.out.println(event.getUser());
}

Product ID codesanchor

The Braintree gateway returns the following product IDs for credit and debit card payment methods. The product ID is generally 1-3 characters and indicates the specific credit product that was issued to the customer.

Product ID codeProduct name
001Discover Consumer Credit – Rewards
002Discover Commercial Credit
003Discover Consumer Debit
004Discover Commercial Debit
005Discover Prepaid Gift
006Discover Prepaid ID known
007Discover Consumer Credit – Premium
008Discover Consumer Credit - Core
009Discover Private Label Credit
010Discover Commercial Credit – Executive Business
011Discover Consumer Credit – Premium Plus
012Discover Commercial Prepaid – Non-Reloadable
013Discover PayPal
014Discover PayPal Mobile
AVisa Traditional
BVisa Traditional Rewards
BPDMasterCard Business Premium Debit
CVisa Signature
CIRMasterCard Cirrus
DVisa Signature Preferred
DAGGlobal Debit MasterCard Salary
DAPPlatinum Debit MasterCard Salary
DASStandard Debit MasterCard Salary
DLGDebit MasterCard Gold Delayed Debit
DLHDebit MasterCard World Embossed Delayed Debit
DLPDebit MasterCard Platinum Delayed Debit
DLSDebit MasterCard Card Delayed Debit
DOSStandard Debit MasterCard Social
DWFDebit MasterCard Humanitarian Prepaid
EVisa Proprietary ATM
FVisa Classic
GVisa Business
G1Visa Signature Business
G3Visa Business Enhanced (US only)
G4Visa Infinite Business
G5Visa Business Rewards
IVisa Infinite
IVisa Infinite Privilege
I2Visa UHNW
IBAmerican Express Non-US
IRAmerican Express Non-US Reloadable
ISAmerican Express Non-US Stored Value
J3Visa Healthcare
KVisa Corporate T&E
K1Visa GSA Corporate T&E
LVisa Electron
MABWorld Elite MasterCard for Business Card
MACMasterCard World Elite Corporate Card
MAPMasterCard Commercial Payments Account
MAQMasterCard Prepaid Commercial Payments Account
MBBMasterCard Prepaid Consumer
MBCMasterCard Prepaid Voucher
MBDMasterCard Professional Debit BusinessCard Card
MBEMasterCard Electronic Business Card
MBFPrepaid MC Food
MBKMasterCard Black Card
MBMPrepaid MC Meal
MBPMasterCard Corporate Prepaid
MBSMasterCard B2B Product
MBTMasterCard Corporate Prepaid Travel
MBWWorld MasterCard Black Edition Debit
MCBMasterCard BusinessCard Card
MCCMasterCard Credit Card (mixed BIN)
MCDDebit MasterCard Card
MCEMasterCard Electronic Card
MCFMasterCard Fleet Card
MCGGold MasterCard Card
MCHMasterCard Premium Charge
MCOMasterCard Corporate (Meeting) Card
MCPMasterCard Purchasing Card
MCS(Unembossed) Standard MasterCard Card
MCTTitanium MasterCard Card
MCVMerchant-Branded Program
MCWWorld MasterCard Card
MDBDebit MasterCard BusinessCard Card
MDGGold Debit MasterCard Card
MDHWorld Debit Embossed MasterCard Card
MDJDebit MasterCard (Enhanced)
MDLMasterCard Business Debit Other Embossed
MDOMasterCard Debit Other
MDPPremium Debit MasterCard Card
MDRMasterCard Debit Brokerage
MDSDebit MasterCard Card
MDTCommercial Debit MasterCard Card
MDWWorld Elite Debit MasterCard
MEBMasterCard Executive BusinessCard Card
MECMasterCard Electronic Commercial
MEFMasterCard Electronic Payment Account
MEOMasterCard Corporate Executive Card
METTitanium Debit MasterCard Card
MFBMasterCard Flex World Elite
MFDMasterCard Flex Platinum
MFEMasterCard Flex Charge World Elite
MFHMasterCard Flex World
MFLMasterCard Flex Charge Platinum
MFWMasterCard Flex World Charge
MGFMasterCard Government Commercial Card
MHAMasterCard Healthcare Prepaid Non-Tax
MHBMasterCard HSA Substantiated (Debit MasterCard)
MHDMasterCard HELOC Debit Standard
MHHMasterCard HSA Non-Substantiated (Debit MasterCard)
MHKMasterCard Magna Health Access Card
MHDMasterCard HELOC Debit Gold
MHDMasterCard HELOC Debit Platninum
MHDMasterCard HELOC Debit Premium
MIAPrepaid MasterCard Unembossed Student Card
MIKPrepaid MasterCard Electronic Student (Non-US) Card
MILUnembossed MasterCard Student Card (Non-US)
MIPPrepaid Debit MasterCard Student Card
MIUDebit MasterCard Unembossed (Non-US)
MLAMasterCard Central Travel Solutions Air Card
MLBMasterCard Brazil Benefit for Home Improvement
MLDMasterCard Distribution Card
MLEMasterCard Brazil General Benefits
MLFMasterCard Agro Card
MLLMasterCard Central Travel Solutions Land Card
MNFMasterCard Public Sector Commercial Card
MNWMasterCard World Card
MOCStandard Maestro Social
MOGMaestro Gold Card
MOPMaestro Platinum
MOWWorld Maestro
MPAMasterCard Prepaid Debit Standard Payroll
MPBMasterCard Preferred Business Card
MPDMasterCard Flex Prepaid
MPFMasterCard Prepaid Debit Standard Gift
MPGDebit MasterCard Standard Prepaid General Spend
MPHMasterCard Cash
MPJPrepaid Debit MasterCard Card Gold
MPKMasterCard Prepaid Government Commercial Card
MPLPlatinum MasterCard Card
MPMMasterCard Prepaid Debit Standard Consumer Incentive
MPNMasterCard Prepaid Debit Standard Insurance
MPOMasterCard Prepaid Debit Standard Offer
MPPMasterCard Prepaid Card – Commercial Reward Funding
MPQMasterCard Prepaid Debit Standard Government Disaster
MPRMasterCard Prepaid Debit Standard Travel
MPTMasterCard Prepaid Debit Standard Teen
MPVMasterCard Prepaid Debit Standard Government
MPWDebit MasterCard Business Card Prepaid Workplace Business
MPXMasterCard Prepaid Debit Standard Flex Benefit
MPYMasterCard Prepaid Debit Standard Employee Incentive
MPZMasterCard Prepaid Debit Standard Government Consumer
MRBMasterCard Prepaid Electronic Business Card (Non-US)
MRCPrepaid MasterCard Electronic Card (Non-US)
MRFMasterCard European Regulated Individual Pay
MRGMasterCard Prepaid Card (Non-US)
MRHMasterCard Platinum Prepaid Travel (US)
MRJPrepaid MasterCard Gold Card
MRKPrepaid MasterCard Public Sector Commercial Card
MRLPrepaid MasterCard Electronic Commercial Card (Non-US)
MROMasterCard Rewards Only
MRPStandard Retailer Centric Payments
MRSPrepaid MasterCard ISIC Student Card
MRWPrepaid MasterCard Business Card (Non-US)
MSAPrepaid Maestro Payroll Card
MSBMaestro Small Business Card
MSFPrepaid Maestro Gift Card
MSGPrepaid Maestro Consumer Reloadable Card
MSIMaestro Student Card
MSJPrepaid Maestro Gold
MSMPrepaid Maestro Consumer Promotion Card
MSNPrepaid Maestro Insurance Card
MSOPrepaid Maestro Other Card
MSQUnknown MasterCard
MSRPrepaid Maestro Travel Card
MSTPrepaid Maestro Teen Card
MSVPrepaid Maestro Government Benefit Card
MSWPrepaid Maestro Corporate (Reloadable) Card
MSXPrepaid Maestro Flex Benefit Card
MSYPrepaid Maestro Employee Incentive Card
MSZPrepaid Maestro Emergency Assistance Card
MTPMasterCard Platinum Prepaid Travel (UK and Brazil)
MUSPrepaid Unembossed MasterCard Card
MUWMasterCard World Domestic Affluent
MWBWorld Elite MasterCard Business Card
MWDWorld Deferred MasterCard
MWEWorld Elite MasterCard Card
MWFMasterCard Humanitarian Prepaid
MWOWorld Elite MasterCard Corporate Card
MWRMasterCard World Retailer Centric Payments
NVisa Platform
N1Visa Rewards
N2Visa Select
OLBMaestro Small Business Delayed Debit
OLGMaestro Gold Delayed Debit
OLPMaestro Platinum Delayed Debit
OLSMaestro (Student Card) Delayed Debit
OLWWorld Maestro Delayed Debit
PVisa Gold
PMCMasterCard Proprietary Credit Card (Swedish domestic)
PMDMasterCard Proprietary Debit Card (Swedish domestic)
PSCMasterCard Common Proprietary Swedish Credit Card
PSDMasterCard Common Proprietary Swedish Debit Card
PVAMasterCard Private Label A
PVBMasterCard Private Label B
PVCMasterCard Private Label C
PVDMasterCard Private Label D
PVEMasterCard Private Label E
PVFMasterCard Private Label F
PVGMasterCard Private Label G
PVHMasterCard Private Label H
PVIMasterCard Private Label I
PVJMasterCard Private Label J
PVLMasterCard Private Label L
QVisa Private Label
Q2Visa Private Label Basic
Q3Visa Private Label Standard
Q4Visa Private Label Enhanced
Q5Visa Private Label Specialized
Q6Visa Private Label Premium
RVisa Proprietary
RPAmerican Express US Reloadable
SVisa Purchasing
S1Visa Purchasing with Fleet
S2Visa GSA Purchasing
S3Visa GSA Purchasing with Fleet
S4Visa Government Services Loan
S5Visa Commercial Transport (EBT)
S6Visa Business Loan
S7Visa Distribution
SAGGold MasterCard Salary Immediate Debit
SALStandard Maestro Salary
SAPPlatinum MasterCard Salary Immediate Debit
SASStandard MasterCard Salary Immediate Debit
SOSStandard MasterCard Social Immediate Debit
SURPrepaid Unembossed MasterCard Card (Non-US)
SVAmerican Express US Stored Value
TBEMasterCard Electronic Business Immediate Debit
TCBMasterCard Corporate Immediate Debit
TCCMasterCard (mixed BIN) Immediate Debit
TCEMasterCard (Electronic) Student Card Immediate Debit
TCFMasterCard Fleet Card Immediate Debit
TCGGold MasterCard Card Immediate Debit
TCOMasterCard (Corporate) Immediate Debit
TCPMasterCard Purchasing Card Immediate Debit
TCSMasterCard Standard (Unembossed) Card Immediate Debit
TCWMasterCard World Signia Immediate Debit
TEBMasterCard Executive BusinessCard Card Immediate Debit
TECMasterCard Electronic Commercial Immediate Debit
TEOMasterCard Corporate Executive Card Immediate Debit
TNFMasterCard Public Sector Commercial Card Immediate Debit
TNWMasterCard New World Immediate Debit
TPBMasterCard Preferred Business Card Immediate Debit
TPLPlatinum MasterCard Immediate Debit
TWBWorld MasterCard Black Edition Immediate Debit
UVisa Travel Money
VVisa V Pay
WBEWorld MasterCard Black Edition
XVisa B2B Virtual Payments

Network response codesanchor

In addition to the processor response code and text, some transaction and verification objects also include a network response code and text.

These network response values are the raw responses that may be returned by the card network, and when present they can provide additional detail about why a request was approved or declined. However, this information is supplemental to the processor response code; you should consider the processor response code to be the source of truth.

Each card network has distinct response codes:

Card NetworkCodeText
Visa00Successful approval/completion or V.I.P. PIN verification is successful
Visa01Refer to card issuer
Visa02Refer to card issuer, special condition
Visa03Invalid merchant or service provider
Visa04Pick up card
Visa05Do not Honor
Visa06Error
Visa07Pick up card, special condition (other than lost/stolen card)
Visa10Partial Approval
Visa11V.I.P. approval
Visa12Invalid transaction
Visa13Invalid amount (currency conversion field overflow); or amount exceeds maximum for card program
Visa14Invalid account number (no such number)
Visa15No such issuer
Visa19Re-enter transaction
Visa21No action taken (unable to back out prior transaction)
Visa25Unable to locate record in file, or account number is missing from the inquiry
Visa28File is temporarily unavailable
Visa39No credit account
Visa41Pick up card (lost card)
Visa43Pick up card (stolen card)
Visa46Closed Account
Visa51Insufficient funds
Visa52No checking account
Visa53No savings account
Visa54Expired card
Visa55Incorrect PIN
Visa57Transaction not permitted to cardholder
Visa58Transaction not allowed at terminal
Visa59Suspected fraud
Visa61Activity amount limit exceeded
Visa62Restricted card (for instance, in Country Exclusion table)
Visa63Security violation
Visa64Transaction does not fulfill AML requirement
Visa65Activity count limit exceeded
Visa75Allowable number of PIN-entry tries exceeded
Visa76Unable to locate previous message (no match on retrieval reference number)
Visa77Previous message located for a repeat or reversal, but repeat or reversal data inconsistent with original message
Visa78Blocked, first used — Transaction from new cardholder, and card not properly unblocked
Visa79Transaction reversed
Visa80Visa transactions: credit issuer unavailable. Private label: invalid date
Visa81PIN cryptographic error found (error found by VIC security module during PIN decryption)
Visa82Negative Online CAM, dCVV, iCVV, or CVV results Or Offline PIN authentication interrupted
Visa85No reason to decline request for account number verification, address verification, CVV2 verification, or credit voucher or merchandise return
Visa86Cannot verify PIN
Visa91Issuer unavailable or switch inoperative (STIP not applicable or available for this transaction) Issuers can respond with this code, which V.I.P. passes to the acquirer without invoking stand-in processing (STIP). Issuer processors use the code to indicate they cannot perform authorization on issuers’ behalf. Code causes decline at POS.
Visa1AAdditional customer authentication required
VisaB1B116 Surcharge amount not permitted on Visa cards
VisaN0Force STIP
VisaN3Cash service not available
VisaN4Cashback request exceeds issuer limit
VisaN7Decline for CVV2 failure
VisaN8Transaction amount exceeds pre-authorized approval amount
VisaP2P2 Invalid biller information
VisaP5PIN change/unblock request declined
VisaP6Unsafe PIN
VisaR0Stop payment order
VisaR1Revocation of authorization order
VisaR3Revocation of all authorizations order
VisaZ3Unable to go online; declined
VisaXAForward to issuer
VisaXDForward to issuer
VisaQ1Card authentication failed Or Offline PIN authentication interrupted
Mastercard00Approved or completed successfully
Mastercard01Refer to card issuer
Mastercard03Invalid merchant
Mastercard04Capture card Capture
Mastercard05Do not honor
Mastercard08Honor with ID
Mastercard10Partial Approval
Mastercard12Invalid transaction
Mastercard13Invalid amount
Mastercard14Invalid card number
Mastercard15Invalid issuer
Mastercard30Format error
Mastercard41Lost card
Mastercard43Stolen Card
Mastercard51Insufficient funds/over credit limit
Mastercard54Expired card
Mastercard55Invalid PIN
Mastercard57Transaction not permitted to issuer/cardholder
Mastercard58Transaction not permitted to acquirer/terminal
Mastercard61Exceeds withdrawal amount limit
Mastercard62Restricted card
Mastercard63Security violation
Mastercard65Exceeds withdrawal count limit
Mastercard70Contact Card Issuer
Mastercard71PIN Not Changed
Mastercard75Allowable number of PIN tries exceeded
Mastercard76Invalid/nonexistent To Account specified
Mastercard77Invalid/nonexistent From Account specified
Mastercard78Invalid/nonexistent account specified (general)
Mastercard79Lifecycle Declines
Mastercard81Domestic Debit Transaction Not Allowed (Regional use only)
Mastercard82Policy Declines
Mastercard84Invalid Authorization Life Cycle
Mastercard85Not declined. Valid for all zero amount transactions.
Mastercard86PIN Validation not possible
Mastercard87Purchase Amount Only, No Cash Back Allowed
Mastercard88Cryptographic failure
Mastercard89Unacceptable PIN—Transaction Declined—Retry
Mastercard91Authorization System or issuer system inoperative
Mastercard92Unable to route transaction
Mastercard94Duplicate transmission detected
Mastercard96System error
Discover00Approved or completed successfully
Discover01Reserved for future use
Discover02Reserved for future use
Discover03Invalid Merchant
Discover04Capture Card
Discover05Do not honor
Discover07Pick-up Card, special condition
Discover08Reserved for future use
Discover10Approved for partial amount
Discover11Approved
Discover12Invalid transaction
Discover13Invalid amount
Discover14Invalid Card Number
Discover15Reserved for future use
Discover19Re-enter transaction
Discover30Format error
Discover31Bank not supported by switch
Discover33Reserved for future use
Discover34Reserved for future use
Discover35Reserved for future use
Discover36Reserved for future use
Discover37Reserved for future use
Discover38Allowable PIN tries exceeded
Discover39No credit Account
Discover40Requested function not supported
Discover41Lost Card
Discover43Stolen Card
Discover51Decline
Discover53No savings Account
Discover54Expired Card
Discover55Invalid PIN
Discover56No Card record
Discover57Transaction not permitted to Issuer/Cardholder
Discover58Transaction not permitted to Acquirer/terminal
Discover59Suspected fraud
Discover60Card acceptor contact Acquirer
Discover61Exceeds withdrawal amount limit
Discover62Restricted Card
Discover63Security violation
Discover64Original amount incorrect
Discover65Exceeds withdrawal count limit
Discover66Card Acceptor call Acquirer’s security dept
Discover67Hard capture (requires ATM pick-up)
Discover68Response received too late Decline
Discover75Allowable number of PIN tries exceeded
Discover76Invalid/nonexistent “to” Account specified
Discover77Invalid/nonexistent “from” Account specified
Discover78Invalid/nonexistent Account specified (general)
Discover83Domain Restriction Controls Failure
Discover85No reason to decline
Discover87Network unavailable
Discover91Authorization system or Issuer system inoperative
Discover92Unable to route transaction Decline
Discover93Transaction cannot be completed, violation of law
Discover94Duplicate transmission detected
Discover96System malfunction Decline
DiscoverN1System up
DiscoverN2Soft down
DiscoverN3System down
DiscoverN7Decline for AVS or CID mismatch
DiscoverP5PIN Change/Unblock failed
DiscoverP6New PIN not accepted
American Express000Approved
American Express001Approved with ID
American Express002Partial Approval (Prepaid Cards only)
American Express100Deny
American Express101Expired Card / Invalid Expiration Date
American Express106Exceeded PIN attempts
American Express107Please Call Issuer
American Express109Invalid merchant
American Express110Invalid amount
American Express111Invalid account / Invalid MICR (Travelers Cheque)
American Express115Requested function not supported
American Express117Invalid PIN
American Express119Cardmember not enrolled / not permitted
American Express122Invalid card security code (a.k.a., CID, 4DBC, 4CSC)
American Express125Invalid effective date
American Express181Format error
American Express183Invalid currency code
American Express187Deny - New card issued
American Express189Deny - Canceled or Closed Merchant/SE
American Express200Deny - Pick up card
American Express900Accepted - ATC Synchronization
American Express909System Malfunction (Cryptographic error)
American Express912Issuer not available

See alsoanchor