---
title: "Get Transaction"
method: GET
path: "/transactions/{id}"
tags: ["Transactions"]
---

# Get Transaction

`GET /transactions/{id}`

Called by the Independent Software Vendor. The ISV issues a request to TB to check the transaction status (ex card was swiped response). This URL is accessed repeatedly by the ISV (polling). If the transaction is approved then the read_at field with be updated with the current timestamp.

## Path parameters

- `id` integer, required

## Headers

- `Authorization` string, api_id:api_token, required
- `Accept` string, required

## Response `200`

Success

- TransactionResponseFields
  - `id` integer — The id of the transaction.
  - `amount` string — The amount in USD with 2 decimals that will be charged, must be a number greater than 0. (e.g. "1", "1.00", "1.01", "1.2").
  - `serial_number` string — The serial number of the terminal that was selected for this transaction. Size range - `256`
  - `client_id` string — The id of the client for wich a transaction was initiated. Size range - `256`
  - `invoice` string — Number of the invoice. If this field is not sent then the invoice will be given a unique identifier. Size range - `1..10`
  - `ip_address` string — IP address of the client requesting the transaction.
  - `user_name` string — The user name of the user that requested the transaction.
  - `customer_name` string — The name of the customer for this transaction.
  - `software_name` string — ISV software identifier.
  - `clerk_number` string — Identifies the clerk or person executing the transaction for reporting purposes.
  - `transaction_status` string — Confirmation from the payment gateway regarding the CC credentials and payment finalization. Allowed values - `"approved"`, `"awaiting_amount"`, `"awaiting_confirmation"`, `"canceled"`, `"declined"`, `"emv_needing_reversal"`, `"error"`, `"in progress"`, `"internal error"`, `"timeout"`, `"verification"`
  - `credit_card_token` string — Token issued by the gateway and that can be used for future transactions. Size range - `19`
  - `card_type` string — The type of the card that was submitted. Allowed values - `"Discover"`, `"DISCOVER"`, `"UnionPay"`, `"AmEx"`, `"AMERICAN EXPRESS"`, `"AMEX"`, `"American express"`, `"Master"`, `"MASTERCARD"`, `"Mastercard"`, `"MASTERCARD/Mastercard"`, `"JCB"`, `"Jcb"`, `"Visa"`, `"VISA"`,`"Visa Traditional"`, `"Visa Classic"`, `"Visa Health"`, `"Visa Prefered"`, `"Mastercard/Eurocard"`, `"DINERS"`, `"CareCredit"`, `"Unknown Code"`, `"OTHER"`, `"null"`, `"N/A"` The values are subject to change.
  - `card_expiration_date` string — The card expiration date. Format 'MMYY' (e.g. '0922').
  - `masked_card_number` string — The masked out card number including the last 4 digits (e.g. ************1234).
  - `um_command` string — The command that will be passed to the gateway.
  - `created_at` string — The time the transaction was created.
  - `tip_amount` string — The tip amount in USD that was added to this transaction.
  - `tip_method` string — The method in which the tip amount is entered in the system. "specified" is when it comes from the ISV, "typed" is when the customer types the tip amount on the terminal and "written" is when the customer writes the tip amount on the receipt and later an employee enters the tip on the ISV. When this param is not present, then it defaults to "specified".
  - `cancel_requested` string — If the transaction was canceled or not.
  - `cancel_requested_at` string — The time when the transaciton was canceled.
  - `gateway_identifier` string — The identifier of the gateway. Allowed values - `"payment_fusion"`, `"usaepay"`
  - `gateway_reference_number` string — Transaction reference number from gateway.
  - `gateway_response_message` string — The message returned from the gateway.
  - `gateway_result_code` string — Result code (or error code) as returned by the gateway.
  - `gateway_result_text` string — The result text as returned by the gateway.
  - `gateway_auth_code` string — The authorization code received from the gateway
  - `return_card_data` boolean — Flag that specifies if the masked_card_number and the card_type should be extracted by the terminal and returned.
  - `save_card` boolean — If the card is saved or not on the gateway
  - `merchant_id` string — The merchant identifier that will be used to connect to the gateway.
  - `billing_street` string — Billing street address for credit cards.
  - `billing_city` string — Billing city for credit cards.
  - `billing_zip` string — Billing zip code for credit cards.
  - `billing_state` string — Billing state for credit cards.
  - `comments` string — Transaction comments.
  - `description` string — Transaction description.
  - `recurring` boolean — Specifies if this transaction is recurring or not. If set to false, omitted or filled with wrong data, the recurring billing fields will be ignored - "schedule", "num_left", "start_date", "bill_amount". Allowed values - `true`,`false`
  - `schedule` string — Frequency of recurring billing schedule. Will be ignored if recurring is not sent as "true". Allowed values - `"disabled"`,`"daily"`,`"weekly"`,`"bi-weekly"`,`"monthly"`,`"bi-monthly"`,`"quarterly"`,`"bi-annually"`,`"annually"`.
  - `num_left` string — Number of transactions remaining in recurring billing cycle. Will be ignored if recurring is not sent as "true".
  - `start_date` string — Must be entered in YYYYMMDD format. If set to "next" the date of the next billing cycle will be used. For example if today is 1/10/2009 and schedule=monthly then start_date will be set to 2/10/2009. Can also be entered as `"first of month"` or `"last day of month"` Will be ignored if recurring is not sent as "true".
  - `bill_amount` string — Sets the monetary amount to charge on each cycle. Specified in USD. If this field is left blank the amount will be used instead. This is NOT the "initial" charge or "setup" charge, this is only the "recurring" charge.
  - `customer_id` string — Customer identifier associated to the transaction.
  - `card_holder` string — The name on the card.
  - `gateway_ip` string — The IP of the server that processed this transaction.
  - `signature` string — The encoded signature.
  - `card_hash` string — The hashed version of the card number. This can be used to determine if the same card was used for multiple transactions without knowing the actual card number. Size range - `40`
  - `auth_amount` string — The authorized amount in case of a partial authorized transaction.
  - `remaining_balance` string — The remaining balance in case of a partial authorized transaction.
  - `emv_data` EmvDataResponse — The fields for the emv data. This field is only populated when the card is dipped.
    - `receipt` string — The receipt information that needs to be printed
    - `customer_verification_method` string — Specifies if the transaction requires a signature. Allowed values - `"online_pin"`, `"offline_pin"`, `"signature"`, `"no_cvm"`
  - `remote_id` string — Used for keeping track of a 3rd party identifier alongside the transaction object. This is typically used by the ISV to assign its own identifier to the transaction for easy matching in case any network issues appear. This is not validated for uniqueness. Size range - `0..100`
  - `street_address` string — Optional value indicating the street address of the card holder.
  - `zip_code` string — Optional value indicating the zip code of the card holder.
  - `input_method` string — The input method used for the card associated with the transaction. Allowed values - `"swipe"`,`"keyed"`,`"dip"`,`"contactless"`,`"fallback"`,`"chip_read"`,`"swiped"`,`"tap"` The values are subject to change.
  - `bin_data` BinData — The card data sent from Gateway or PFTA. Valid JSON or "null".
    - `bin` integer — The BIN/first 6 digits of the card
    - `card_brand` string — The card brand (VISA, MasterCard, American Express, etc)
    - `issuing_org` string — The organization/bank that issued the card
    - `card_type` string — The type of the card that was submitted. Allowed values - `"Discover"`, `"DISCOVER"`, `"UnionPay"`, `"AmEx"`, `"AMERICAN EXPRESS"`, `"AMEX"`, `"American express"`, `"Master"`, `"MASTERCARD"`, `"Mastercard"`, `"MASTERCARD/Mastercard"`, `"JCB"`, `"Jcb"`, `"Visa"`, `"VISA"`,`"Visa Traditional"`, `"Visa Classic"`, `"Visa Health"`, `"Visa Prefered"`, `"Mastercard/Eurocard"`, `"DINERS"`, `"CareCredit"`, `"Unknown Code"`, `"OTHER"`, `"null"`, `"N/A"` The values are subject to change.
    - `card_category` string — The category indicating special types of card such as corporate, purchasing, and prepaid
    - `issuing_country` string — The country where the card was issued
    - `issuing_country_code_a2` string — The A2 country code
    - `issuing_country_code_a3` string — The A3 country code
    - `issuing_country_number` integer — The issuing country number
    - `issuing_phone` string — Phone number, if available, of the issuing organization
    - `issuing_website` string — Web site, if available, of the issuing organization
    - `pan_length` string — The length of credit card number
    - `issued_entity` string — Defines if the BIN is PERSONAL or COMMERCIAL
    - `is_regulated` string — Indicates if the card is regulated
    - `is_commercial` boolean — True if the issued_entity is equal to 'COMMERCIAL'
    - `is_healthcare` 'true' | 'false' | 'null' — Indicates if card's BIN is included in the healthcare BIN table.
  - `mid` string — The merchant ID
  - `tid` string — The terminal ID
  - `is_healthcare` boolean — Indicates if card's BIN is included in the healthcare BIN table.
  - `healthcare` HealthcareRequestFields — Optional parameters passed to the gateway.
    - `iias_verified` 'true' | 'false' | 'exempt' — Merchant verified/did not verify the purchased items against an IIAS or Merchant claims exemption from IIAS based on the 90 percent rule.
    - `healthcare_amount` string — Amount health-care. Field includes the amounts in prescription_amount, vision_amount, clinic_other_amount, dental_amount and should always be equal or greater to their sum. Available for Visa and Mastercard only. Described in USD up to 6 decimals, its last 4 digits must be 0. (e.g. "1", "1.00", "1.01", "1.2", "1.230000").
    - `prescription_amount` string — Total amount of prescriptions used to gain access to "Rx Only" purses. This amount is included in the health-care_amount. Available for Visa and Mastercard only. Described in USD up to 6 decimals, its last 4 digits must be 0. (e.g. "1", "1.00", "1.01", "1.2", "1.230000").
    - `copay_amount` string — Total amount for co-payments. Described in USD up to 6 decimals, its last 4 digits must be 0. (e.g. "1", "1.00", "1.01", "1.2", "1.230000").
    - `vision_amount` string — Total amount of vision care purchases. This amount is included in healthcare_amount. Available for Visa only. Described in USD up to 6 decimals, its last 4 digits must be 0. (e.g. "1", "1.00", "1.01", "1.2", "1.230000").
    - `clinic_other_amount` string — Total amount of clinic or other medical services. This amount is included in healthcare_amount. Available for Visa only. Described in USD up to 6 decimals, its last 4 digits must be 0. (e.g. "1", "1.00", "1.01", "1.2", "1.230000").
    - `dental_amount` string — Total amount of dental services. This amount is included in healthcare_amount. Available for Visa only. Described in USD up to 6 decimals, its last 4 digits must be 0. (e.g. "1", "1.00", "1.01", "1.2", "1.230000").
    - `transit_amount` string — Total amount charged to an FSA card for transportation to/from a healthcare provider. Available for Visa only. Described in USD up to 6 decimals, its last 4 digits must be 0. (e.g. "1", "1.00", "1.01", "1.2", "1.230000").
    - `cumulative_amount` string — Total cumulative authorized amount for a series of incremental authorization transactions. Described in USD up to 6 decimals, its last 4 digits must be 0. (e.g. "1", "1.00", "1.01", "1.2", "1.230000").
  - `card_is_present` boolean — Indicates the presence of the card.
  - `order_method` 'mail_order' | 'phone_order' | 'null' — The type of order.
  - `allow_partial_auth` boolean — Indicates that the transaction was created to allow partial payment. `allow_partial_auth` is `null` if it was not set when the transaction was created.
  - `is_partial_auth` boolean — Partial authorization indicator that reflects whether the processor provided a partial authorization, or not. Will be `null` if the gateway didn't return any partial authorization status.
  - `v` string — The API version that was used to handle the request.

## Other responses

- `4XX` — Possible errors - 1, 2, 189

---

[API](https://skmtc.net/bankofamerica/apis/transaction-broker-api.md) · [All operations](https://skmtc.net/bankofamerica/apis/transaction-broker-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bankofamerica/transaction-broker-api/revisions/6097bc689e41/schema)
