Transaction
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:Transaction: Adjust Authorization
Transaction: Cancel Release
Transaction: Find
Transaction: Hold In Escrow
Transaction: Refund
Transaction: Release From Escrow
Transaction: Sale
Transaction: Search
Transaction: Submit For Partial Settlement
Transaction: Submit For Settlement
Transaction: Void
Transaction: Clone Transaction
Transaction: Adjust Authorization
Transaction: Cancel Release
Transaction: Find
Transaction: Hold In Escrow
Transaction: Refund
Transaction: Release From Escrow
Transaction: Sale
Transaction: Search
Transaction: Submit For Partial Settlement
Transaction: Submit For Settlement
Transaction: Void
Transaction: Clone Transaction
Attributes
ach_return_code
StringOptional 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.
Optional additional processor response information, provided as further context for the primary processor response.
amount
BigDecimalThe billing amount of the request.
If payment_instrument_type
is android_pay_card, these are the details of the card used for the transaction.
bin
StringThe 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.
commercial
enumIf payment_instrument_type
is android_pay_card, these are the details of the card used for the transaction.
country_of_issuance
StringThe 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).
debit
enumIf payment_instrument_type
is android_pay_card, these are the details of the card used for the transaction.
durbin_regulated
enumIf payment_instrument_type
is android_pay_card, these are the details of the card used for the transaction.
expiration_month
StringThe expiration month of the credit card, formatted MM
.
expiration_year
StringThe 2- or 4-digit year associated with the credit card, formatted YY
or YYYY
.
google_transaction_id
StringA unique identifier provided by Google to track the payment method's transactions.
healthcare
enumIf payment_instrument_type
is android_pay_card, these are the details of the card used for the transaction.
image_url
StringA 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.
payroll
enumIf payment_instrument_type
is android_pay_card, these are the details of the card used for the transaction.
prepaid
enumIf payment_instrument_type
is android_pay_card, these are the details of the card used for the transaction.
product_id
StringThe 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.
source_card_last_4
StringThe 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.
source_card_type
StringThe card type. If this card is network tokenized, this is the card type of the customer's actual card.
source_description
StringIndicates 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).
token
StringAn 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.
virtual_card_last_4
StringThe 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).
virtual_card_type
StringThe card type. If this card is network tokenized, this is the card type of the network tokenized card.
If payment_instrument_type
is apple_pay_card, these are the details of the credit card used for the transaction.
bin
StringThe 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.
card_type
StringThe type of the credit card. Possible values:
- Apple Pay - Visa
- Apple Pay - MasterCard
- Apple Pay - American Express
- Apple Pay - Discover
cardholder_name
StringThe cardholder name associated with the credit card.
commercial
enumIf payment_instrument_type
is apple_pay_card, these are the details of the credit card used for the transaction.
country_of_issuance
StringThe 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).
debit
enumIf payment_instrument_type
is apple_pay_card, these are the details of the credit card used for the transaction.
durbin_regulated
enumIf payment_instrument_type
is apple_pay_card, these are the details of the credit card used for the transaction.
expiration_month
StringThe expiration month of the credit card, formatted MM
.
expiration_year
StringThe 4-digit expiration year of the credit card, formatted YYYY
.
healthcare
enumIf payment_instrument_type
is apple_pay_card, these are the details of the credit card used for the transaction.
image_url
StringA URL that points to a payment method image resource (a PNG file) hosted by Braintree.
issuing_bank
StringThe bank that issued the credit card.
last_4
StringThe last 4 digits of the device-specific account number (DPAN).
A unique identifier of the merchant token for Apple Pay MPAN cards.
payment_instrument_name
StringA 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.
payroll
enumIf payment_instrument_type
is apple_pay_card, these are the details of the credit card used for the transaction.
prepaid
enumIf payment_instrument_type
is apple_pay_card, these are the details of the credit card used for the transaction.
product_id
StringThe 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.
source_card_last4
StringThe last 4 digits of the physical card number (FPAN).
source_description
StringIndicates 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).
token
StringAn 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 AVSE
= AVS system error
If this value is nil, you will see responses in both avs_postal_code_response_code
and avs_street_address_response_code
.
This is populated if the processor supports the address verification system (AVS). Possible values:
M
= MatchesN
= Does not matchU
= Not verifiedI
= Not providedA
= Not applicableB
= Bypass
This is populated if the processor supports the address verification system (AVS). Possible values:
M
= MatchesN
= Does not matchU
= Not verifiedI
= Not providedA
= Not applicableB
= 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.
company
StringThe billing company name. See the transaction API requests section for details.
country_code_alpha2
StringThe 2-letter billing country code. See the transaction API requests section for details.
country_code_alpha3
StringThe 3-letter billing country code. See the transaction API requests section for details.
country_code_numeric
StringThe numeric billing country code. See the transaction API requests section for details.
country_name
StringThe billing country name. See the transaction API requests section for details.
extended_address
StringThe extended billing address. See the transaction API requests section for details.
first_name
StringThe first name. See the transaction API requests section for details.
id
StringThe 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
StringCountry code of phone number. 1-3 digits. Required.
national_number
StringNational number of phone number. 4-12 digits. Required.
last_name
StringThe last name. See the transaction API requests section for details.
locality
StringThe locality/city. See the transaction API requests section for details.
phone_number
StringDeprecated.
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.
postal_code
StringThe postal code. See the transaction API requests section for details.
region
StringThe state or province. See the transaction API requests section for details.
street_address
StringThe street address. See the transaction API requests section for details.
channel
StringIf 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
.
created_at
TimeThe date/time the object was created. Returned in UTC.
If payment_instrument_type
is credit_card, 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).
cardholder_name
StringThe cardholder name associated with the credit card.
commercial
enumIf payment_instrument_type
is credit_card, 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.
country_of_issuance
StringThe 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 payment_instrument_type
is credit_card, 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.
debit
enumIf payment_instrument_type
is credit_card, 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.
durbin_regulated
enumIf payment_instrument_type
is credit_card, 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.
expiration_date
StringThe expiration date, formatted MM/YY
or MM/YYYY
. May be used instead of expiration month and expiration year.
expiration_month
StringThe expiration month of the credit card used, formatted MM
.
expiration_year
StringThe expiration year of the credit card used, formatted YYYY
.
healthcare
enumIf payment_instrument_type
is credit_card, 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).
issuing_bank
StringThe 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.
application_cryptogram
StringThe 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.
application_identifier
StringThe 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.
application_name
StringA 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.
card_entry_method
StringThe 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.
card_sequence_number
StringThe 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.
cashback_amount
StringAn 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.
terminal_country_code
StringThe 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.
unpredictable_number
StringA 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.
payroll
enumIf payment_instrument_type
is credit_card, 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.
prepaid
enumIf payment_instrument_type
is credit_card, 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.
product_id
StringThe 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.
token
StringIf payment_instrument_type
is credit_card, 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.
company
StringThe customer company name. See the transaction API requests section for details.
email
StringThe email address. See the transaction API requests section for details.
fax
StringThe customer fax number. See the transaction API requests section for details.
first_name
StringThe first name. See the transaction API requests section for details.
id
StringThe 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
StringCountry code of phone number. 1-3 digits. Required.
national_number
StringNational number of phone number. 4-12 digits. Required.
last_name
StringThe last name. See the transaction API requests section for details.
phone
StringDeprecated.
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.
website
StringThe 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
= MatchesN
= Does not matchU
= Not verifiedI
= Not providedS
= Issuer does not participateA
= Not applicableB
= Bypass
descriptor
mapname
StringThe value in the business name field of a customer's statement.
phone
StringThe value in the phone number field of a customer's statement.
url
StringThe 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.
funds_held?
boolA value indicating whether funds have been withheld from a disbursement to the merchant's bank account.
settlement_amount
BigDecimalThe 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 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.
discount_amount
BigDecimalThe 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.
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.
merchant_id
StringThe merchant ID of the merchant of record.
merchant_name
StringThe name of the business associated with the merchant of record.
payment_method_nonce
StringIf 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.
oauth_application_name
StringThe 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"
graphql_id
StringThe unique identifier used to identify this transaction in Braintree's GraphQL API.
id
StringThe unique transaction identifier. Length and format of gateway-generated tokens and IDs may change at any time.
A collection of line items associated with the transaction.
If payment_instrument_type
is local_payment, these are the details used for the transaction.
custom_field
StringThe 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.
description
StringThe PayPal Order's purchase description.
funding_source
StringThe 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.
payer_id
StringThe identifier for the payer in the request.
payment_id
StringThe PayPal Order ID associated with the transaction.
transaction_fee_amount
StringThe 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 payment_instrument_type
is masterpass_card, 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
cardholder_name
StringThe cardholder name associated with the credit card.
commercial
enumIf payment_instrument_type
is masterpass_card, 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.
country_of_issuance
StringThe 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 payment_instrument_type
is masterpass_card, 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.
debit
enumIf payment_instrument_type
is masterpass_card, 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.
durbin_regulated
enumIf payment_instrument_type
is masterpass_card, 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.
expiration_date
StringThe expiration date, formatted MM/YY
or MM/YYYY
. May be used instead of expiration month and expiration year.
expiration_month
StringThe expiration month of the credit card used, formatted MM
.
expiration_year
StringThe expiration year of the credit card used, formatted YYYY
.
healthcare
enumIf payment_instrument_type
is masterpass_card, 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.
issuing_bank
StringThe 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.
payroll
enumIf payment_instrument_type
is masterpass_card, 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.
prepaid
enumIf payment_instrument_type
is masterpass_card, 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.
product_id
StringThe 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.
token
StringIf payment_instrument_type
is masterpass_card, 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.
merchant_account_id
StringThe 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.
locality
StringThe locality/city.
phone
StringThe phone number.
postal_code
StringThe postal code.
region
StringThe state or province.
street_address
StringThe street address.
merchant_advice_code
StringThe 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 merchant_advice_code
.
The merchant ID that is registered with the acquiring bank. This field is required to be included on an in-store transaction receipt.
merchant_name
StringThe display name of the merchant. This field is required to be included on an in-store transaction receipt.
network_response_code
StringThe network response code. When present, this field can provide additional detail about why a transaction was declined, but the processor_response_code
should be considered the source of truth. See the list of possible network responses.
network_response_text
StringThe network response text for the network_response_code
.
If payment_instrument_type
is network_token, 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).
cardholder_name
StringThe cardholder name associated with the credit card.
commercial
enumIf payment_instrument_type
is network_token, these are the details of the token used for the transaction.
country_of_issuance
StringThe 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 payment_instrument_type
is network_token, these are the details of the token used for the transaction.
debit
enumIf payment_instrument_type
is network_token, these are the details of the token used for the transaction.
durbin_regulated
enumIf payment_instrument_type
is network_token, these are the details of the token used for the transaction.
expiration_date
StringThe expiration date, formatted MM/YY
or MM/YYYY
. May be used instead of expiration month and expiration year.
expiration_month
StringThe expiration month of the credit card used, formatted MM
.
expiration_year
StringThe expiration year of the credit card used, formatted YYYY
.
healthcare
enumIf payment_instrument_type
is network_token, 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.
issuing_bank
StringThe 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.
payroll
enumIf payment_instrument_type
is network_token, these are the details of the token used for the transaction.
prepaid
enumIf payment_instrument_type
is network_token, these are the details of the token used for the transaction.
product_id
StringThe 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.
network_transaction_id
StringThe 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 external_vault.previous_network_transaction_id
field of subsequent transactions.
order_id
StringThe 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.
account_balance
BigDecimalThe remaining balance amount on a credit or debit card after it was used to process the transaction.
amount
BigDecimalThe billing amount of the request.
card_last_4
StringThe last 4 digits of the credit card number.
Card present details.
application_cryptogram
StringThe 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.
application_identifier
StringThe 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.
application_name
StringA 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.
card_entry_method
StringThe 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.
card_sequence_number
StringThe 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.
cashback_amount
StringAn 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.
terminal_country_code
StringThe 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.
unpredictable_number
StringA 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.
card_type
StringThe credit card type.
currency_iso_code
StringThe ISO code for the currency the merchant account uses. See the ISO 4217 codes.
global_id
StringThe unique transaction global ID.
id
StringThe unique transaction identifier. Length and format of gateway-generated tokens and IDs may change at any time.
The merchant address details used to process this transaction. These details are required to be included on an in-store transaction receipt.
locality
StringThe locality/city.
phone
StringThe phone number.
postal_code
StringThe postal code.
region
StringThe state or province.
street_address
StringThe 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.
merchant_name
StringThe name of the business associated with the merchant of record.
pin_verified
boolAn 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.
processor_response_code
StringThe processor response code. See the list of possible processor authorization responses.
processor_response_text
StringThe 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.
type
StringThe value that defines whether a transaction is a sale or credit.
If payment_instrument_type
is paypal_account, these are the details of the PayPal account used for the transaction.
authorization_id
StringThe identification value of the authorization within PayPal's API.
capture_id
StringPayPal id for a transaction.
custom_field
StringCustom field/value pairs.
image_url
StringA 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.
payer_email
StringThe 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.
payer_first_name
StringThe first name associated with the PayPal account used to create the request.
payer_id
StringThe identifier for the PayPal account used in the request.
payer_last_name
StringThe last name associated with the PayPal account used to create the request.
payer_phone
StringThe primary phone number of the PayPal account used to create the request.
payer_status
StringThe status of the PayPal account used to create the request.
payment_id
StringThe identification value of the payment within PayPal's API.
refund_description
StringThe 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.
refund_id
StringPayPal id for a refund.
refund_reason
StringThe 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.
selected_financing_discount_percentage
BigDecimalOptional discount percentage on interest rates for the selected financing option.
The monthly amount to be paid for the selected financing option.
selected_financing_term
integerThe agreed term in months for the selected financing option.
seller_protection_status
StringIndicates whether a transaction qualifies for PayPal Seller Protection.
shipping_option_id
StringThe identification value of the shipping option selected during PayPal Checkout.
tax_id
StringPayer's tax id. Only returned for payments from Brazilian accounts.
tax_id_type
StringPayer's tax id type. Only returned for payments from Brazilian accounts. Allowed values BR_CPF
or BR_CNPJ
.
token
StringAn 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.
transaction_fee_amount
StringThe 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 payment_instrument_type
is paypal_here, these are the details of the PayPal Here payment method used for the transaction. See the PayPal Here guide for details.
authorization_id
StringThe identification value of the authorization within PayPal's API.
capture_id
StringPayPal ID for a transaction.
invoice_id
StringPayPal ID for the invoice for the transaction.
last_4
StringThe last 4 digits of the credit card number.
payment_id
StringThe identification value of the payment within PayPal's API.
payment_type
StringThe type of the credit card. Possible values:
- A - American Express
- D - Discover
- J - JCB
- T - Maestro
- M - MasterCard
- V - Visa
refund_id
StringPayPal 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.
pin_verified
boolAn indicator for whether the transaction was successfully verified by PIN. This field is required to be included on an in-store transaction receipt.
plan_id
StringThe plan identifier.
Indicates whether this transaction has been processed with a network token.
The authorization code returned by the processor.
processor_response_code
StringThe processor response code. See the list of possible processor authorization responses.
processor_response_text
StringThe processor response text. See the list of possible processor authorization responses.
processor_response_type
StringThe 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.
The text explanation of the above processor settlement response code.
purchase_order_number
StringA 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.
refund_id
StringThis 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.
refunded_transaction_id
StringThe sale transaction ID associated with a refund transaction. See the transaction API requests section for details.
response_emv_data
StringResponse EMV data provided by the processor if this was an EMV transaction.
retried_transaction_id
StringThe transaction ID of the transaction that was retried.
The string value representing the reference number provided by the processor (if any).
retry_ids
mapAn array of transation IDs for all retry attempts for this transaction.
risk_data
mapAny 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.
decision
StringThe 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.
fraud_service_provider
StringThe fraud service used to determine if a transaction is likely to be fraudulent.
id
StringThe risk data identifier.
Map to indicate under what circumstances liability for a chargeback has shifted and who is the new responsible party.
conditions
mapAn array of strings containing the conditions under which liability for a chargeback has shifted.
responsible_party
StringThe party that is now responsible for the chargeback.
transaction_risk_score
StringThe score returned by the fraud provider as a measurement of the transaction's likelihood for being fraudulent. Only applicable to Fraud Protection Advanced product.
sca_exemption_requested
StringIf 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 payment_instrument_type
is sepa_debit_account, 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.
bank_reference_token
StringThe tokenized payment source to fund a payment.
capture_id
StringThe identification value of the capture within PayPal's API.
last_4
StringThe last characters of the International Bank Account Number, a unique identifier for a bank account that is used by banks around Europe.
mandate_type
StringRepresents 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.
paypal_v2_order_id
StringThe 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.
refund_id
StringThe currency of the associated refund from the transaction fee.
settlement_type
StringThe type of settlement option that the merchant is configured for. This can be either 'INSTANT' or 'DELAYED'.
token
StringAn 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.
transaction_fee_amount
StringThe 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.
service_fee_amount
BigDecimalThe 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.
settlement_batch_id
StringThe 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.
shipping_amount
BigDecimalThe 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.
company
StringThe shipping company name. See the transaction API requests section for details.
country_code_alpha2
StringThe 2-letter shipping country code. See the transaction API requests section for details.
country_code_alpha3
StringThe 3-letter shipping country code. See the transaction API requests section for details.
country_code_numeric
StringThe numeric shipping country code. See the transaction API requests section for details.
country_name
StringThe shipping country name. See the transaction API requests section for details.
extended_address
StringThe extended shipping address. See the transaction API requests section for details.
first_name
StringThe first name. See the transaction API requests section for details.
id
StringThe 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
StringCountry code of phone number. 1-3 digits. Required.
national_number
StringNational number of phone number. 4-12 digits. Required.
last_name
StringThe last name. See the transaction API requests section for details.
locality
StringThe locality/city. See the transaction API requests section for details.
phone_number
StringDeprecated.
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.
postal_code
StringThe postal code. See the transaction API requests section for details.
region
StringThe 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.
street_address
StringThe street address. See the transaction API requests section for details.
shipping_tax_amount
BigDecimalThe data field that specifies the tax charged on the shipping_amount
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.
ships_from_postal_code
StringThe 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.
status
StringPossible values:
- authorization_expired
- authorized
- authorizing
- settlement_pending
- settlement_declined
- failed
- gateway_rejected
- processor_declined
- settled
- settling
- submitted_for_settlement
- voided
See the transaction status explanations for details.
A collection of status history details showing the transaction's status changes over time.
sub_merchant_account_id
StringThis 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.
subscription_id
StringThe value used to identify a specific subscription.
surcharge_amount
BigDecimalThe 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.
tax_amount
BigDecimalA 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.
tax_exempt
boolA 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.
cavv
StringCardholder 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.
ds_transaction_id
StringTransaction identifier resulting from 3D Secure 2 authentication.
eci_flag
StringThe value of the electronic commerce indicator (ECI) flag, which indicates the outcome of the 3DS authentication.
Possible values for Mastercard:
00
= Failed or not attempted01
= Attempted02
= Success04
= Data-Only (Applies to limited processors)
Possible values for all other card brands:
07
= Failed or not attempted06
= Attempted05
= Success
enrolled
StringIndicates whether a card is enrolled in a 3D Secure program or not. Possible values:
Y
= YesN
= NoU
= UnavailableB
= BypassE
= RequestFailure
Indicates whether a liability shift is possible.
Indicates whether the liability shifted or not.
status
StringThe 3D Secure status value. For a list of all possible statuses and their liability shifts, see the 3D Secure guide.
three_d_secure_version
StringThe version of 3D Secure authentication used for the transaction. Composed of digits separated by periods (e.g. 1.0.2
, 2.1.0
).
xid
StringTransaction identifier resulting from 3D Secure authentication. This field will no longer be used in 3D Secure 2 authentications.
type
StringThe value that defines whether a transaction is a sale or credit.
updated_at
TimeThe date/time the object was last updated. Returned in UTC.
If payment_instrument_type
is us_bank_account, 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
StringAccount holder name.
account_type
StringThe type of the bank account. Possible values:
"business_checking"
"business_savings"
"checking"
"savings"
ach_mandate
StringThe authorization text passed by the consumer allowing their account to be debited.
bank_name
StringThe name of the issuing bank.
business_name
StringBusiness name.
first_name
StringThe account holder's first name.
global_id
StringThe unique identifier used to identify this bank account in Braintree's GraphQL API.
graphql_id
StringThe unique identifier used to identify this bank account in Braintree's GraphQL API.
image_url
StringA URL that points to a payment method image resource (a PNG file) hosted by Braintree.
last_4
StringThe last 4 digits of the bank account number.
last_name
StringThe account holder's last name.
ownership_type
StringThe ownership type of the bank account. Possible values:
"business"
"personal"
routing_number
StringThe bank routing number associated with the bank account.
token
StringAn alphanumeric value that references a specific payment method stored in your Vault.
verified
boolIndicates whether the bank account has been verified.
If payment_instrument_type
is venmo_account, 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.
image_url
StringA URL that points to a payment method image resource (a PNG file) hosted by Braintree.
source_description
StringA short description of the payment method, including the Venmo username.
token
StringAn 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.
username
StringThe Venmo username of the Venmo account.
venmo_user_id
StringThe Venmo user ID of the Venmo account.
If payment_instrument_type
is visa_checkout_card, 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).
call_id
StringThe Visa assigned identifier of the transaction.
The type of the credit card. Possible values:
- American Express
- Discover
- MasterCard
- Visa
cardholder_name
StringThe cardholder name associated with the credit card.
commercial
enumIf payment_instrument_type
is visa_checkout_card, 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.
country_of_issuance
StringThe 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 payment_instrument_type
is visa_checkout_card, 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.
debit
enumIf payment_instrument_type
is visa_checkout_card, 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.
durbin_regulated
enumIf payment_instrument_type
is visa_checkout_card, 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.
expiration_date
StringThe expiration date, formatted MM/YY
or MM/YYYY
. May be used instead of expiration month and expiration year.
expiration_month
StringThe expiration month of the credit card used, formatted MM
.
expiration_year
StringThe expiration year of the credit card used, formatted YYYY
.
healthcare
enumIf payment_instrument_type
is visa_checkout_card, 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.
issuing_bank
StringThe 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.
payroll
enumIf payment_instrument_type
is visa_checkout_card, 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.
prepaid
enumIf payment_instrument_type
is visa_checkout_card, 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.
product_id
StringThe 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.
token
StringIf payment_instrument_type
is visa_checkout_card, 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 object
Read more about result objects.
Successful result
If the result is successful, the transaction will have either a
settling status,
authorized status, or (if the options-submit_for_settlement
option was used) a submitted for settlement status.
- Ruby
result.success?
#=> true
transaction = result.transaction
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.
- Ruby
transaction = result.transaction
transaction.payment_instrument_type == PaymentInstrumentType::PayPalAccount
#=> false
transaction.payment_instrument_type == PaymentInstrumentType::CreditCard
#=> true
Unsuccessful result
Success will return false if:
- Validations prevent the transaction from being created
- The processor declines the authorization or settlement
- The gateway rejects the transaction
- Ruby
result.success?
#=> false
result.errors
Validation errors
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 declined
If the processor declines the transaction during the authorization, the processor response will be available on the transaction object.
- Ruby
result.success?
#=> false
result.transaction.status
#=> "processor_declined"
result.transaction.processor_response_type
#=> "soft_declined"
result.transaction.processor_response_code
#=> "2001"
result.transaction.processor_response_text
#=> "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.
- Ruby
result.transaction.additional_processor_response
# e.g. "05 : NOT AUTHORISED"
Processor settlement declined
If the processor declines the transaction at the settlement stage, the processor response will be available on the transaction object.
- Ruby
result.success?
#=> false
result.transaction.status
#=> "settlement_declined"
result.transaction.processor_settlement_response_code
#=> "4001"
result.transaction.processor_settlement_response_text
#=> "Settlement Declined"
Gateway rejection
If the transaction is rejected by the gateway based on your account settings, you can check for the transaction status and gateway rejection reason.
- Ruby
result.success?
#=> false
result.transaction.status
#=> "gateway_rejected"
result.transaction.gateway_rejection_reason
#=> e.g. "cvv"
Risk data
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.
- Ruby
result.transaction.risk_data.id
#=> "1SG23YHM4BT5"
result.transaction.risk_data.decision
#=> "Decline"
result.transaction.risk_data.device_data_captured
#=> true
result.transaction.risk_data.fraud_service_provider
#=> "Kount"
result.transaction.risk_data.decision_reasons
#=> ["reason1", "reason2"]
result.transaction.risk_data.risk_score
#=> 42
The possible values of the risk decision are:
- "Not Evaluated"
- "Approve"
- "Review"
- "Decline"
Params retrieval
See our documentation on result objects.
Examples
Currencies
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.
- Ruby
result.transaction.currency_iso_code
#=> "USD"
Settlement status
Check the result for success, and if it has failed, then first check for validation errors. If there
are no validation errors, inspect the processor_settlement_response_code
on the transaction, which will indicate if the processor declined the request.
- Ruby
if result.success?
# transaction successfully submitted for settlement
elsif result.errors.any?
puts result.errors.inspect
else
puts result.transaction.processor_settlement_response_code
puts result.transaction.processor_settlement_response_text
end
Processor settlement declined
If the settlement request is declined by the processor, the processor response will be available on the transaction object.
- Ruby
result.success?
#=> false
result.transaction.status
#=> "settlement_declined"
result.transaction.processor_settlement_response_code
#=> "4001"
result.transaction.processor_settlement_response_text
#=> "Settlement Declined"
Voiding settlement
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.
- Ruby
transaction = gateway.transaction.find("the_transaction_id")
if transaction.status == "submitted_for_settlement"
# can void
elsif transaction.status == "settled"
# will have to refund it
else
# this example only expected one of the two above statuses
end
Authorization adjustments
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. |
success | A boolean value indicating if the adjustment was successful. |
timestamp | The date/time when the adjustment was performed. |
proccessor_response_type | The processor response type. Possible values:
possible processor authorization responses. |
proccessor_response_code | The processor response code. See the list of possible processor authorization responses. |
proccessor_response_text | The processor response text. See the list of possible processor authorization responses. |
Status history details
Status Detail | Description |
---|---|
amount | The amount of the request. |
status | A record of the statuses that a transaction has progressed through. Possible values:
|
timestamp | The date/time the status change was performed. Results are returned in UTC. |
transaction_source | How a transaction was created. Possible values:
|
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.
- Ruby
transaction = gateway.transaction.find("the_transaction_id")
transaction.status_history.each do |event|
puts event.amount
puts event.status
puts event.timestamp
puts event.transaction_source
puts event.user
end
Product ID codes
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 code | Product name |
---|---|
001 | Discover Consumer Credit – Rewards |
002 | Discover Commercial Credit |
003 | Discover Consumer Debit |
004 | Discover Commercial Debit |
005 | Discover Prepaid Gift |
006 | Discover Prepaid ID known |
007 | Discover Consumer Credit – Premium |
008 | Discover Consumer Credit - Core |
009 | Discover Private Label Credit |
010 | Discover Commercial Credit – Executive Business |
011 | Discover Consumer Credit – Premium Plus |
012 | Discover Commercial Prepaid – Non-Reloadable |
013 | Discover PayPal |
014 | Discover PayPal Mobile |
A | Visa Traditional |
B | Visa Traditional Rewards |
BPD | MasterCard Business Premium Debit |
C | Visa Signature |
CIR | MasterCard Cirrus |
D | Visa Signature Preferred |
DAG | Global Debit MasterCard Salary |
DAP | Platinum Debit MasterCard Salary |
DAS | Standard Debit MasterCard Salary |
DLG | Debit MasterCard Gold Delayed Debit |
DLH | Debit MasterCard World Embossed Delayed Debit |
DLP | Debit MasterCard Platinum Delayed Debit |
DLS | Debit MasterCard Card Delayed Debit |
DOS | Standard Debit MasterCard Social |
DWF | Debit MasterCard Humanitarian Prepaid |
E | Visa Proprietary ATM |
F | Visa Classic |
G | Visa Business |
G1 | Visa Signature Business |
G3 | Visa Business Enhanced (US only) |
G4 | Visa Infinite Business |
G5 | Visa Business Rewards |
I | Visa Infinite |
I | Visa Infinite Privilege |
I2 | Visa UHNW |
IB | American Express Non-US |
IR | American Express Non-US Reloadable |
IS | American Express Non-US Stored Value |
J3 | Visa Healthcare |
K | Visa Corporate T&E |
K1 | Visa GSA Corporate T&E |
L | Visa Electron |
MAB | World Elite MasterCard for Business Card |
MAC | MasterCard World Elite Corporate Card |
MAP | MasterCard Commercial Payments Account |
MAQ | MasterCard Prepaid Commercial Payments Account |
MBB | MasterCard Prepaid Consumer |
MBC | MasterCard Prepaid Voucher |
MBD | MasterCard Professional Debit BusinessCard Card |
MBE | MasterCard Electronic Business Card |
MBF | Prepaid MC Food |
MBK | MasterCard Black Card |
MBM | Prepaid MC Meal |
MBP | MasterCard Corporate Prepaid |
MBS | MasterCard B2B Product |
MBT | MasterCard Corporate Prepaid Travel |
MBW | World MasterCard Black Edition Debit |
MCB | MasterCard BusinessCard Card |
MCC | MasterCard Credit Card (mixed BIN) |
MCD | Debit MasterCard Card |
MCE | MasterCard Electronic Card |
MCF | MasterCard Fleet Card |
MCG | Gold MasterCard Card |
MCH | MasterCard Premium Charge |
MCO | MasterCard Corporate (Meeting) Card |
MCP | MasterCard Purchasing Card |
MCS | (Unembossed) Standard MasterCard Card |
MCT | Titanium MasterCard Card |
MCV | Merchant-Branded Program |
MCW | World MasterCard Card |
MDB | Debit MasterCard BusinessCard Card |
MDG | Gold Debit MasterCard Card |
MDH | World Debit Embossed MasterCard Card |
MDJ | Debit MasterCard (Enhanced) |
MDL | MasterCard Business Debit Other Embossed |
MDO | MasterCard Debit Other |
MDP | Premium Debit MasterCard Card |
MDR | MasterCard Debit Brokerage |
MDS | Debit MasterCard Card |
MDT | Commercial Debit MasterCard Card |
MDW | World Elite Debit MasterCard |
MEB | MasterCard Executive BusinessCard Card |
MEC | MasterCard Electronic Commercial |
MEF | MasterCard Electronic Payment Account |
MEO | MasterCard Corporate Executive Card |
MET | Titanium Debit MasterCard Card |
MFB | MasterCard Flex World Elite |
MFD | MasterCard Flex Platinum |
MFE | MasterCard Flex Charge World Elite |
MFH | MasterCard Flex World |
MFL | MasterCard Flex Charge Platinum |
MFW | MasterCard Flex World Charge |
MGF | MasterCard Government Commercial Card |
MHA | MasterCard Healthcare Prepaid Non-Tax |
MHB | MasterCard HSA Substantiated (Debit MasterCard) |
MHD | MasterCard HELOC Debit Standard |
MHH | MasterCard HSA Non-Substantiated (Debit MasterCard) |
MHK | MasterCard Magna Health Access Card |
MHD | MasterCard HELOC Debit Gold |
MHD | MasterCard HELOC Debit Platninum |
MHD | MasterCard HELOC Debit Premium |
MIA | Prepaid MasterCard Unembossed Student Card |
MIK | Prepaid MasterCard Electronic Student (Non-US) Card |
MIL | Unembossed MasterCard Student Card (Non-US) |
MIP | Prepaid Debit MasterCard Student Card |
MIU | Debit MasterCard Unembossed (Non-US) |
MLA | MasterCard Central Travel Solutions Air Card |
MLB | MasterCard Brazil Benefit for Home Improvement |
MLD | MasterCard Distribution Card |
MLE | MasterCard Brazil General Benefits |
MLF | MasterCard Agro Card |
MLL | MasterCard Central Travel Solutions Land Card |
MNF | MasterCard Public Sector Commercial Card |
MNW | MasterCard World Card |
MOC | Standard Maestro Social |
MOG | Maestro Gold Card |
MOP | Maestro Platinum |
MOW | World Maestro |
MPA | MasterCard Prepaid Debit Standard Payroll |
MPB | MasterCard Preferred Business Card |
MPD | MasterCard Flex Prepaid |
MPF | MasterCard Prepaid Debit Standard Gift |
MPG | Debit MasterCard Standard Prepaid General Spend |
MPH | MasterCard Cash |
MPJ | Prepaid Debit MasterCard Card Gold |
MPK | MasterCard Prepaid Government Commercial Card |
MPL | Platinum MasterCard Card |
MPM | MasterCard Prepaid Debit Standard Consumer Incentive |
MPN | MasterCard Prepaid Debit Standard Insurance |
MPO | MasterCard Prepaid Debit Standard Offer |
MPP | MasterCard Prepaid Card – Commercial Reward Funding |
MPQ | MasterCard Prepaid Debit Standard Government Disaster |
MPR | MasterCard Prepaid Debit Standard Travel |
MPT | MasterCard Prepaid Debit Standard Teen |
MPV | MasterCard Prepaid Debit Standard Government |
MPW | Debit MasterCard Business Card Prepaid Workplace Business |
MPX | MasterCard Prepaid Debit Standard Flex Benefit |
MPY | MasterCard Prepaid Debit Standard Employee Incentive |
MPZ | MasterCard Prepaid Debit Standard Government Consumer |
MRB | MasterCard Prepaid Electronic Business Card (Non-US) |
MRC | Prepaid MasterCard Electronic Card (Non-US) |
MRF | MasterCard European Regulated Individual Pay |
MRG | MasterCard Prepaid Card (Non-US) |
MRH | MasterCard Platinum Prepaid Travel (US) |
MRJ | Prepaid MasterCard Gold Card |
MRK | Prepaid MasterCard Public Sector Commercial Card |
MRL | Prepaid MasterCard Electronic Commercial Card (Non-US) |
MRO | MasterCard Rewards Only |
MRP | Standard Retailer Centric Payments |
MRS | Prepaid MasterCard ISIC Student Card |
MRW | Prepaid MasterCard Business Card (Non-US) |
MSA | Prepaid Maestro Payroll Card |
MSB | Maestro Small Business Card |
MSF | Prepaid Maestro Gift Card |
MSG | Prepaid Maestro Consumer Reloadable Card |
MSI | Maestro Student Card |
MSJ | Prepaid Maestro Gold |
MSM | Prepaid Maestro Consumer Promotion Card |
MSN | Prepaid Maestro Insurance Card |
MSO | Prepaid Maestro Other Card |
MSQ | Unknown MasterCard |
MSR | Prepaid Maestro Travel Card |
MST | Prepaid Maestro Teen Card |
MSV | Prepaid Maestro Government Benefit Card |
MSW | Prepaid Maestro Corporate (Reloadable) Card |
MSX | Prepaid Maestro Flex Benefit Card |
MSY | Prepaid Maestro Employee Incentive Card |
MSZ | Prepaid Maestro Emergency Assistance Card |
MTP | MasterCard Platinum Prepaid Travel (UK and Brazil) |
MUS | Prepaid Unembossed MasterCard Card |
MUW | MasterCard World Domestic Affluent |
MWB | World Elite MasterCard Business Card |
MWD | World Deferred MasterCard |
MWE | World Elite MasterCard Card |
MWF | MasterCard Humanitarian Prepaid |
MWO | World Elite MasterCard Corporate Card |
MWR | MasterCard World Retailer Centric Payments |
N | Visa Platform |
N1 | Visa Rewards |
N2 | Visa Select |
OLB | Maestro Small Business Delayed Debit |
OLG | Maestro Gold Delayed Debit |
OLP | Maestro Platinum Delayed Debit |
OLS | Maestro (Student Card) Delayed Debit |
OLW | World Maestro Delayed Debit |
P | Visa Gold |
PMC | MasterCard Proprietary Credit Card (Swedish domestic) |
PMD | MasterCard Proprietary Debit Card (Swedish domestic) |
PSC | MasterCard Common Proprietary Swedish Credit Card |
PSD | MasterCard Common Proprietary Swedish Debit Card |
PVA | MasterCard Private Label A |
PVB | MasterCard Private Label B |
PVC | MasterCard Private Label C |
PVD | MasterCard Private Label D |
PVE | MasterCard Private Label E |
PVF | MasterCard Private Label F |
PVG | MasterCard Private Label G |
PVH | MasterCard Private Label H |
PVI | MasterCard Private Label I |
PVJ | MasterCard Private Label J |
PVL | MasterCard Private Label L |
Q | Visa Private Label |
Q2 | Visa Private Label Basic |
Q3 | Visa Private Label Standard |
Q4 | Visa Private Label Enhanced |
Q5 | Visa Private Label Specialized |
Q6 | Visa Private Label Premium |
R | Visa Proprietary |
RP | American Express US Reloadable |
S | Visa Purchasing |
S1 | Visa Purchasing with Fleet |
S2 | Visa GSA Purchasing |
S3 | Visa GSA Purchasing with Fleet |
S4 | Visa Government Services Loan |
S5 | Visa Commercial Transport (EBT) |
S6 | Visa Business Loan |
S7 | Visa Distribution |
SAG | Gold MasterCard Salary Immediate Debit |
SAL | Standard Maestro Salary |
SAP | Platinum MasterCard Salary Immediate Debit |
SAS | Standard MasterCard Salary Immediate Debit |
SOS | Standard MasterCard Social Immediate Debit |
SUR | Prepaid Unembossed MasterCard Card (Non-US) |
SV | American Express US Stored Value |
TBE | MasterCard Electronic Business Immediate Debit |
TCB | MasterCard Corporate Immediate Debit |
TCC | MasterCard (mixed BIN) Immediate Debit |
TCE | MasterCard (Electronic) Student Card Immediate Debit |
TCF | MasterCard Fleet Card Immediate Debit |
TCG | Gold MasterCard Card Immediate Debit |
TCO | MasterCard (Corporate) Immediate Debit |
TCP | MasterCard Purchasing Card Immediate Debit |
TCS | MasterCard Standard (Unembossed) Card Immediate Debit |
TCW | MasterCard World Signia Immediate Debit |
TEB | MasterCard Executive BusinessCard Card Immediate Debit |
TEC | MasterCard Electronic Commercial Immediate Debit |
TEO | MasterCard Corporate Executive Card Immediate Debit |
TNF | MasterCard Public Sector Commercial Card Immediate Debit |
TNW | MasterCard New World Immediate Debit |
TPB | MasterCard Preferred Business Card Immediate Debit |
TPL | Platinum MasterCard Immediate Debit |
TWB | World MasterCard Black Edition Immediate Debit |
U | Visa Travel Money |
V | Visa V Pay |
WBE | World MasterCard Black Edition |
X | Visa B2B Virtual Payments |
Network response codes
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 Network | Code | Text |
---|---|---|
Visa | 00 | Successful approval/completion or V.I.P. PIN verification is successful |
Visa | 01 | Refer to card issuer |
Visa | 02 | Refer to card issuer, special condition |
Visa | 03 | Invalid merchant or service provider |
Visa | 04 | Pick up card |
Visa | 05 | Do not Honor |
Visa | 06 | Error |
Visa | 07 | Pick up card, special condition (other than lost/stolen card) |
Visa | 10 | Partial Approval |
Visa | 11 | V.I.P. approval |
Visa | 12 | Invalid transaction |
Visa | 13 | Invalid amount (currency conversion field overflow); or amount exceeds maximum for card program |
Visa | 14 | Invalid account number (no such number) |
Visa | 15 | No such issuer |
Visa | 19 | Re-enter transaction |
Visa | 21 | No action taken (unable to back out prior transaction) |
Visa | 25 | Unable to locate record in file, or account number is missing from the inquiry |
Visa | 28 | File is temporarily unavailable |
Visa | 39 | No credit account |
Visa | 41 | Pick up card (lost card) |
Visa | 43 | Pick up card (stolen card) |
Visa | 46 | Closed Account |
Visa | 51 | Insufficient funds |
Visa | 52 | No checking account |
Visa | 53 | No savings account |
Visa | 54 | Expired card |
Visa | 55 | Incorrect PIN |
Visa | 57 | Transaction not permitted to cardholder |
Visa | 58 | Transaction not allowed at terminal |
Visa | 59 | Suspected fraud |
Visa | 61 | Activity amount limit exceeded |
Visa | 62 | Restricted card (for instance, in Country Exclusion table) |
Visa | 63 | Security violation |
Visa | 64 | Transaction does not fulfill AML requirement |
Visa | 65 | Activity count limit exceeded |
Visa | 75 | Allowable number of PIN-entry tries exceeded |
Visa | 76 | Unable to locate previous message (no match on retrieval reference number) |
Visa | 77 | Previous message located for a repeat or reversal, but repeat or reversal data inconsistent with original message |
Visa | 78 | Blocked, first used — Transaction from new cardholder, and card not properly unblocked |
Visa | 79 | Transaction reversed |
Visa | 80 | Visa transactions: credit issuer unavailable. Private label: invalid date |
Visa | 81 | PIN cryptographic error found (error found by VIC security module during PIN decryption) |
Visa | 82 | Negative Online CAM, dCVV, iCVV, or CVV results Or Offline PIN authentication interrupted |
Visa | 85 | No reason to decline request for account number verification, address verification, CVV2 verification, or credit voucher or merchandise return |
Visa | 86 | Cannot verify PIN |
Visa | 91 | Issuer 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. |
Visa | 1A | Additional customer authentication required |
Visa | B1 | B116 Surcharge amount not permitted on Visa cards |
Visa | N0 | Force STIP |
Visa | N3 | Cash service not available |
Visa | N4 | Cashback request exceeds issuer limit |
Visa | N7 | Decline for CVV2 failure |
Visa | N8 | Transaction amount exceeds pre-authorized approval amount |
Visa | P2 | P2 Invalid biller information |
Visa | P5 | PIN change/unblock request declined |
Visa | P6 | Unsafe PIN |
Visa | R0 | Stop payment order |
Visa | R1 | Revocation of authorization order |
Visa | R3 | Revocation of all authorizations order |
Visa | Z3 | Unable to go online; declined |
Visa | XA | Forward to issuer |
Visa | XD | Forward to issuer |
Visa | Q1 | Card authentication failed Or Offline PIN authentication interrupted |
Mastercard | 00 | Approved or completed successfully |
Mastercard | 01 | Refer to card issuer |
Mastercard | 03 | Invalid merchant |
Mastercard | 04 | Capture card Capture |
Mastercard | 05 | Do not honor |
Mastercard | 08 | Honor with ID |
Mastercard | 10 | Partial Approval |
Mastercard | 12 | Invalid transaction |
Mastercard | 13 | Invalid amount |
Mastercard | 14 | Invalid card number |
Mastercard | 15 | Invalid issuer |
Mastercard | 30 | Format error |
Mastercard | 41 | Lost card |
Mastercard | 43 | Stolen Card |
Mastercard | 51 | Insufficient funds/over credit limit |
Mastercard | 54 | Expired card |
Mastercard | 55 | Invalid PIN |
Mastercard | 57 | Transaction not permitted to issuer/cardholder |
Mastercard | 58 | Transaction not permitted to acquirer/terminal |
Mastercard | 61 | Exceeds withdrawal amount limit |
Mastercard | 62 | Restricted card |
Mastercard | 63 | Security violation |
Mastercard | 65 | Exceeds withdrawal count limit |
Mastercard | 70 | Contact Card Issuer |
Mastercard | 71 | PIN Not Changed |
Mastercard | 75 | Allowable number of PIN tries exceeded |
Mastercard | 76 | Invalid/nonexistent To Account specified |
Mastercard | 77 | Invalid/nonexistent From Account specified |
Mastercard | 78 | Invalid/nonexistent account specified (general) |
Mastercard | 79 | Lifecycle Declines |
Mastercard | 81 | Domestic Debit Transaction Not Allowed (Regional use only) |
Mastercard | 82 | Policy Declines |
Mastercard | 84 | Invalid Authorization Life Cycle |
Mastercard | 85 | Not declined. Valid for all zero amount transactions. |
Mastercard | 86 | PIN Validation not possible |
Mastercard | 87 | Purchase Amount Only, No Cash Back Allowed |
Mastercard | 88 | Cryptographic failure |
Mastercard | 89 | Unacceptable PIN—Transaction Declined—Retry |
Mastercard | 91 | Authorization System or issuer system inoperative |
Mastercard | 92 | Unable to route transaction |
Mastercard | 94 | Duplicate transmission detected |
Mastercard | 96 | System error |
Discover | 00 | Approved or completed successfully |
Discover | 01 | Reserved for future use |
Discover | 02 | Reserved for future use |
Discover | 03 | Invalid Merchant |
Discover | 04 | Capture Card |
Discover | 05 | Do not honor |
Discover | 07 | Pick-up Card, special condition |
Discover | 08 | Reserved for future use |
Discover | 10 | Approved for partial amount |
Discover | 11 | Approved |
Discover | 12 | Invalid transaction |
Discover | 13 | Invalid amount |
Discover | 14 | Invalid Card Number |
Discover | 15 | Reserved for future use |
Discover | 19 | Re-enter transaction |
Discover | 30 | Format error |
Discover | 31 | Bank not supported by switch |
Discover | 33 | Reserved for future use |
Discover | 34 | Reserved for future use |
Discover | 35 | Reserved for future use |
Discover | 36 | Reserved for future use |
Discover | 37 | Reserved for future use |
Discover | 38 | Allowable PIN tries exceeded |
Discover | 39 | No credit Account |
Discover | 40 | Requested function not supported |
Discover | 41 | Lost Card |
Discover | 43 | Stolen Card |
Discover | 51 | Decline |
Discover | 53 | No savings Account |
Discover | 54 | Expired Card |
Discover | 55 | Invalid PIN |
Discover | 56 | No Card record |
Discover | 57 | Transaction not permitted to Issuer/Cardholder |
Discover | 58 | Transaction not permitted to Acquirer/terminal |
Discover | 59 | Suspected fraud |
Discover | 60 | Card acceptor contact Acquirer |
Discover | 61 | Exceeds withdrawal amount limit |
Discover | 62 | Restricted Card |
Discover | 63 | Security violation |
Discover | 64 | Original amount incorrect |
Discover | 65 | Exceeds withdrawal count limit |
Discover | 66 | Card Acceptor call Acquirer’s security dept |
Discover | 67 | Hard capture (requires ATM pick-up) |
Discover | 68 | Response received too late Decline |
Discover | 75 | Allowable number of PIN tries exceeded |
Discover | 76 | Invalid/nonexistent “to” Account specified |
Discover | 77 | Invalid/nonexistent “from” Account specified |
Discover | 78 | Invalid/nonexistent Account specified (general) |
Discover | 83 | Domain Restriction Controls Failure |
Discover | 85 | No reason to decline |
Discover | 87 | Network unavailable |
Discover | 91 | Authorization system or Issuer system inoperative |
Discover | 92 | Unable to route transaction Decline |
Discover | 93 | Transaction cannot be completed, violation of law |
Discover | 94 | Duplicate transmission detected |
Discover | 96 | System malfunction Decline |
Discover | N1 | System up |
Discover | N2 | Soft down |
Discover | N3 | System down |
Discover | N7 | Decline for AVS or CID mismatch |
Discover | P5 | PIN Change/Unblock failed |
Discover | P6 | New PIN not accepted |
American Express | 000 | Approved |
American Express | 001 | Approved with ID |
American Express | 002 | Partial Approval (Prepaid Cards only) |
American Express | 100 | Deny |
American Express | 101 | Expired Card / Invalid Expiration Date |
American Express | 106 | Exceeded PIN attempts |
American Express | 107 | Please Call Issuer |
American Express | 109 | Invalid merchant |
American Express | 110 | Invalid amount |
American Express | 111 | Invalid account / Invalid MICR (Travelers Cheque) |
American Express | 115 | Requested function not supported |
American Express | 117 | Invalid PIN |
American Express | 119 | Cardmember not enrolled / not permitted |
American Express | 122 | Invalid card security code (a.k.a., CID, 4DBC, 4CSC) |
American Express | 125 | Invalid effective date |
American Express | 181 | Format error |
American Express | 183 | Invalid currency code |
American Express | 187 | Deny - New card issued |
American Express | 189 | Deny - Canceled or Closed Merchant/SE |
American Express | 200 | Deny - Pick up card |
American Express | 900 | Accepted - ATC Synchronization |
American Express | 909 | System Malfunction (Cryptographic error) |
American Express | 912 | Issuer not available |