Finix Transfers API
{'$ref': 'api-descriptions/tags/transfers.md'}
{'$ref': 'api-descriptions/tags/transfers.md'}
openapi: 3.0.2
info:
title: Finix Authorizations Transfers API
description:
$ref: api-descriptions/main.md
contact:
name: Finix
url: https://finix.com
email: support@finixpayments.com
version: '2022-02-01'
servers:
- description: Sandbox server to be used for testing and development
url: https://finix.sandbox-payments-api.com
security:
- BasicAuth: []
tags:
- name: Transfers
description:
$ref: api-descriptions/tags/transfers.md
paths:
/transfers:
post:
tags:
- Transfers
description: Create a `Transfer`.
summary: Create a Transfer
operationId: createTransfer
requestBody:
$ref: '#/components/requestBodies/CreateTransferRequest'
responses:
'201':
$ref: '#/components/responses/Transfer'
'400':
$ref: '#/components/responses/ErrorUnprocessableEntity'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'402':
$ref: '#/components/responses/ErrorTransfers402'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
'422':
$ref: '#/components/responses/Error422InvalidField'
x-java-method-name: create
parameters:
- schema:
type: string
default: '2018-01-01'
example: '2022-02-01'
in: header
name: Finix-Version
description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/)
x-python-method-name: create
get:
tags:
- Transfers
description: Retrieve a list of `Transfers`.
summary: List Transfers
operationId: listTransfers
parameters:
- $ref: '#/components/parameters/QueryAfterCursor'
- $ref: '#/components/parameters/QueryLimit'
- $ref: '#/components/parameters/QueryAmountFilter'
- $ref: '#/components/parameters/QueryAmountGteFilter'
- $ref: '#/components/parameters/QueryAmountGtFilter'
- $ref: '#/components/parameters/QueryAmountLteFilter'
- $ref: '#/components/parameters/QueryAmountLtFilter'
- $ref: '#/components/parameters/QueryCreatedAtGteFilter'
- $ref: '#/components/parameters/QueryCreatedAtLteFilter'
- $ref: '#/components/parameters/QueryIdempotencyIdFilter'
- $ref: '#/components/parameters/QueryIdFilter'
- $ref: '#/components/parameters/QuerySettlementReadyToSettleAtGteFilter'
- $ref: '#/components/parameters/QuerySettlementReadyToSettleAtLteFilter'
- in: query
name: state
description: Filter by Transaction state.
schema:
enum:
- ALL
- SUCCEEDED
- FAILED
- PENDING
- CANCELED
- $ref: '#/components/parameters/QueryStatementDescriptorFilter'
- $ref: '#/components/parameters/QueryTraceIdFilter'
- $ref: '#/components/parameters/QueryUpdatedAtGteFilter'
- $ref: '#/components/parameters/QueryUpdatedAtLteFilter'
- in: query
name: instrument_bin
description: Filter by Bank Identification Number (BIN). The BIN is the first 6 digits of the masked number.
schema:
type: string
- schema:
type: string
in: query
name: instrument_account_last4
description: "Filter Transactions by the last 4 digits of the bank account. The bank account last 4 are the last 4 digits of the masked number\tinstrument_account_last4=9444 BIN."
- schema:
type: string
in: query
name: instrument_brand_type
description: Filter by card brand. Available card brand types can be found in the drop-down.
- schema:
type: string
in: query
name: merchant_identity_id
description: Filter by `Identity` ID.
- schema:
type: string
in: query
name: merchant_identity_name
description: Filter Transactions by `Identity` name. The name is not case-sensitive.
- schema:
type: string
in: query
name: instrument_name
description: Filter Transactions by `Payment Instrument` name.
- schema:
type: string
in: query
name: instrument_type
description: 'Filter Transactions by `Payment Instrument` type. Available instrument types include: Bank Account or Payment Card'
- schema:
type: string
in: query
name: merchant_id
description: Filter by `Merchant` ID.
- schema:
type: string
in: query
name: merchant_mid
description: Filter by Merchant Identification Number (MID).
- schema:
type: string
in: query
name: instrument_card_last4
description: Filter by the payment card last 4 digits.
- schema:
type: string
in: query
name: merchant_processor_id
description: Filter by `Processor` ID.
- schema:
type: string
enum:
- ALL
- DEBITS
- CREDITS
- REVERSAL
- SETTLEMENT
example: REVERSAL
in: query
name: type
description: 'Filter by `Transfer` type. Available type filters include: All, Debits, Refunds, or Credits.'
- $ref: '#/components/parameters/QueryBeforeCursor'
- $ref: '#/components/parameters/TagsKey'
- $ref: '#/components/parameters/TagsValue'
responses:
'200':
$ref: '#/components/responses/TransfersList'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
x-java-method-name: list
x-group-parameters: true
x-codeSamples:
- lang: cURL
label: curl
source: "curl \"https://finix.sandbox-payments-api.com/transfers\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
x-python-method-name: list
x-returns-list: true
/transfers/{transfer_id}:
parameters:
- description: ID of `Transfer` resource.
required: true
in: path
name: transfer_id
schema:
type: string
get:
tags:
- Transfers
description: Retrieve a `Transfer`.
summary: Fetch a Transfer
operationId: getTransfer
responses:
'200':
$ref: '#/components/responses/Transfer'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
x-java-method-name: get
x-codeSamples:
- lang: cURL
label: curl
source: "curl \"https://finix.sandbox-payments-api.com/transfers/TRvypRNBeqM597Zi4DcqJ2Vh\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
x-python-method-name: get
put:
tags:
- Transfers
description: Update a `Transfer`.
summary: Update a Transfer
operationId: updateTransfer
responses:
'200':
$ref: '#/components/responses/Transfer'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
requestBody:
$ref: '#/components/requestBodies/UpdateTransferRequest'
x-java-method-name: update
x-codeSamples:
- lang: cURL
label: curl
source:
$ref: xcode/curl/transfers/updatetransfer.md
x-python-method-name: update
/transfers/{transfer_id}/reversals:
parameters:
- description: ID of `Transfer` object.
required: true
in: path
name: transfer_id
schema:
type: string
post:
tags:
- Transfers
description: "Reverse a transfer with a `type` of **DEBIT**. This reversal creates a new `Transfer` resource with a `type` of **REVERSAL**. \n\nRelated Guides: [Refunding Payments](/guides/after-the-payment/refunding-and-cancelling-payments/)"
summary: Refund or Reverse a Transfer
operationId: createTransferReversal
requestBody:
$ref: '#/components/requestBodies/CreateReversalRequest'
responses:
'201':
$ref: '#/components/responses/Transfer'
'400':
$ref: '#/components/responses/ErrorUnprocessableEntity'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
'422':
$ref: '#/components/responses/ErrorUnprocessableEntity'
parameters:
- schema:
type: string
default: '2018-01-01'
example: '2022-02-01'
in: header
name: Finix-Version
description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/)
x-java-method-name: create_transfer_reversal
x-python-method-name: create_transfer_reversal
get:
tags:
- Transfers
description: Retrieve a list of reversals for a `Transfer`.
summary: List Reversals on a Transfer
operationId: listTransferReversals
parameters:
- required: false
in: query
name: limit
schema:
type: integer
format: int64
description: The number of entries to return.
- $ref: '#/components/parameters/QueryAfterCursor'
- $ref: '#/components/parameters/QueryBeforeCursor'
responses:
'200':
$ref: '#/components/responses/ReversalsList'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
x-java-method-name: listTransfersReversals
x-group-parameters: true
x-codeSamples:
- lang: cURL
label: curl
source: "curl \"https://finix.sandbox-payments-api.com/transfers/TRacB6Q6GcW6yvFUKawSnMEP/reversals\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
x-python-method-name: list_transfers_reversals
x-returns-list: true
components:
schemas:
L3AdditionalPurchaseData:
title: L3AdditionalPurchaseData
x-stoplight:
id: 7xbmc1d9p49or
type: object
description: Additional information about the purchase. Used for [Level 2 and Level 3 Processing](/guides/payments/modify/level-2-and-level-3-processing/).
properties:
customer_reference_number:
type: string
description: The customer reference for the purchase (max 17 characters).
maxLength: 17
customs_duty_amount:
type: integer
description: The duty in cents on the total purchase amount for the order
destination_country_code:
type: string
description: The ISO country code of the order destination.
destination_postal_code:
type: string
description: The postal code of the order destination (10 characters)
maxLength: 10
discount_amount:
type: integer
description: The amount in cents of the discount for the order.
invoice_reference_number:
type: string
description: The order's invoice number (max 15 characters)
maxLength: 15
item_data:
type: array
description: Additional information about the transaction. Used for Level 2 and Level 3 Processing.
items:
type: object
properties:
amount_excluding_sales_tax:
type: integer
description: '- Total cost of the line item in cents, excluding tax.
- Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.'
amount_including_sales_tax:
type: integer
description: '- Total cost of the line item in cents, including tax.
- Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.'
commodity_code:
type: string
description: A commodity code is a numeric code representing a particular product or service as defined by the National Institute of Governmental Purchasing. The code can be 3, 5, 7, or 11 digits in length. The longer the code the more granular the description of the product/service. (max 12 characters).
maxLength: 12
cost_per_unit:
type: integer
description: The price in cents of one unit of the item purchased
item_description:
type: string
description: Required when `item_data` is supplied (max 25 characters)
maxLength: 25
item_discount_amount:
type: integer
description: 'Item discount amount in cents
'
merchant_product_code:
type: string
description: Merchant defined product code (max 12 characters).
maxLength: 12
quantity:
type: integer
description: The number of items purchased. Must be greater than 0.
minimum: 1
maximum: 99
unit_of_measure:
type: string
description: The unit of measure of the purchased item (max 3 characters).
maxLength: 3
required:
- amount_excluding_sales_tax
- amount_including_sales_tax
- commodity_code
- cost_per_unit
- item_description
- item_discount_amount
- merchant_product_code
- quantity
- unit_of_measure
order_date:
type: object
properties:
day:
type: integer
description: Day of purchase (between 1 and 31)
month:
type: integer
description: Month of purchase (between 1 and 12)
year:
type: integer
description: Year of purchase (4-digit)
minimum: 1990
sales_tax:
type: integer
description: "- Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. \n- For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**.\n- Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.e**."
ship_from_postal_code:
type: string
description: The postal code from where order is shipped (10 characters)
maxLength: 10
shipping_amount:
type: integer
description: 'The shipping cost in cents for the order.
'
tax_exempt:
type: boolean
description: '- For tax exempt purchases set to **True**.
- If set to **True**, request can''t include `sales_tax`.'
required:
- customer_reference_number
- customs_duty_amount
- discount_amount
- item_data
- sales_tax
- shipping_amount
CreateTransferRequest:
type: object
properties:
additional_buyer_charges:
$ref: '#/components/schemas/AdditionalBuyerCharges'
additional_purchase_data:
$ref: '#/components/schemas/AdditionalPurchaseData'
adjustment_request:
type: boolean
description: Details if the `transfer` was created to adjust funds.
nullable: true
amount:
type: integer
format: int64
description: The total amount that will be debited from the buyer in cents (e.g. 100 cents to debit $1.00).
currency:
$ref: '#/components/schemas/Currency'
destination:
type: string
description: ID of the `Payment Instrument` where funds will be sent.
nullable: true
device:
type: string
description: The ID of the activated device.
nullable: true
fee:
type: integer
format: int64
description: "The minimum amount of the `Transfer` you'd like to collect as your fee in cents. Defaults to zero (must be less than or equal to the `amount`).\n- If the fees applied by the 'Fee Profile' are ***higher*** than the value passed in 'fee', 'fee' will not be applied and have no effect.\n- If the fees applied by the 'Fee Profile' are ***lower*** than the value passed in 'fee', an additional fee is be applied, in addition to the fees generated by the `Fee Profile`.\n - The additional fee is equal to the difference between the value passed in 'fee' and the fees generated by the `Fee Profile`."
fraud_session_id:
$ref: '#/components/schemas/FraudSessionID'
hsa_fsa_payment:
$ref: '#/components/schemas/HSAFSAPayment'
idempotency_id:
type: string
description: A randomly generated value that gets tied with the request.
nullable: true
merchant:
type: string
description: "- ID of the primary `Merchant` that's processing the `Transfer` for the buyer. \n- In Split Transactions, the `Merchant` specified in the `Transfer` request is the primary `Merchant`."
nullable: true
operation_key:
type: string
enum:
- CARD_PRESENT_DEBIT
- CARD_PRESENT_UNREFERENCED_REFUND
- MERCHANT_CREDIT_ADJUSTMENT
- MERCHANT_DEBIT_ADJUSTMENT
- PULL_FROM_CARD
- PUSH_TO_CARD
- SALE
- UNREFERENCED_REFUND
description: Details the operation that's be performed in the transaction.
nullable: true
processor:
type: string
description: Name of the transaction processor.
source:
type: string
description: ID of the `Payment Instrument` where funds get debited.
security_code:
type: string
description: The 3-4 digit security code for the card (i.e. CVV code). Include the CVV code of the card to include [Card Verification Checks](/guides/payments/making-a-payment/card-verification-checks/) with the created `Transfer`.
nullable: true
statement_descriptor:
type: string
description: <li>The description of the transaction that appears on the buyer's bank or card statement.</li><li><kbd>statement_descriptors</kbd> for `Transfers` in <strong>live</strong> enviroments will have a <kbd>FI *</kbd> prefix.
maxLength: 20
nullable: true
tags:
$ref: '#/components/schemas/Tags'
3d_secure_authentication:
type: object
description: The 3D secure information required to create a 3D secure `Transfer.`
nullable: true
properties:
cardholder_authentication:
type: string
description: Provides evidence that the cardholder authentication occurred or that the merchant attempted authentication. This is unique for each authentication transaction.
cardholder_ip_address:
type: string
description: Only required for **American Express** cards.
example: 189.1.126.240
electronic_commerce_indicator:
type: string
description: '- **AUTHENTICATED**: Approved by 3D Secure Vendor.
- **ATTEMPTED**: Issuer or cardholder does not support 3D Secure.'
transaction_id:
type: string
description: Only required for **Visa** cards.
required:
- cardholder_authentication
- electronic_commerce_indicator
'additional_purchase_data ':
$ref: '#/components/schemas/L3AdditionalPurchaseData'
device_configuration:
$ref: '#/components/schemas/ConfigurationDetails'
split_transfers:
type: object
description: '- An array used to detail how funds from the `Transfer` will split and the amount `Merchants` receive.
- The combined `amounts` under `split_transfers` must be equal to the `amount` submitted in the parent `Transfer.`
- For more information, see [Split Transactions](/docs/guides/payments/modify/split-transactions/).'
properties:
amount:
type: integer
format: int64
description: '- The amount of funds that get split and paid out to the specified `Merchant`.
- Must be less than or equal to the `amount` of the `Transfer.`'
merchant:
type: string
description: '- The ID of the `Merchant` that will receive the specified `amount` under the `split_transfers` object.
- In Split Transactions, the `Merchants` specified in the `split_transfers` object are the ancillary `Merchants.`'
tags:
$ref: '#/components/schemas/Tags'
IdempotencyId:
title: IdempotencyId
type: string
description: Pass any randomly generated or internal ID to [idempotently](/api/overview/#section/Idempotency-Requests) identify `Transfers`, `Authorizations`, and refund requests.
nullable: true
Amount:
type: integer
title: Amount
description: The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
format: int64
Messages:
title: Messages
type: array
description: Message field that provides additional details. This field is typically **null**.
nullable: true
items:
type: string
ErrorGeneric:
type: object
properties:
total:
type: integer
_embedded:
type: object
properties:
errors:
type: array
items:
type: object
additionalProperties: true
properties:
code:
type: string
enum:
- FORBIDDEN
logref:
$ref: '#/components/schemas/LogRef'
message:
type: string
_links:
type: object
properties:
source:
type: object
properties:
href:
type: string
FailureMessage:
title: FailureMessage
x-stoplight:
id: cgilf858039yi
type: string
description: A human-readable description of why the transaction was declined. This will also include a suggestion on how to complete the payment.
nullable: true
Error403ForbiddenList:
type: object
properties:
total:
type: integer
_embedded:
type: object
properties:
errors:
type: array
items:
type: object
additionalProperties: true
properties:
code:
type: string
enum:
- FORBIDDEN
logref:
$ref: '#/components/schemas/LogRef'
message:
type: string
_links:
type: object
properties:
source:
type: object
properties:
href:
type: string
description: ''
title: ''
Error422InvalidFieldList:
type: object
description: Invalid field
title: ''
properties:
total:
type: integer
_embedded:
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
enum:
- INVALID_FIELD
field:
type: string
logref:
$ref: '#/components/schemas/LogRef'
message:
type: string
_links:
type: object
properties:
source:
type: object
properties:
href:
type: string
Raw:
title: Raw
description: Raw response from the processor.
x-examples: {}
type: object
nullable: true
UpdatedAt:
type: string
title: UpdatedAt
format: date-time
description: Timestamp of when the object was last updated.
PageCursor:
title: PageCursor
x-stoplight:
id: 8v9on8n2939z2
type: object
properties:
limit:
type: integer
description: The number of entries to return.
next_cursor:
type: string
description: The cursor to use for the next page of results.
nullable: true
description: Details the page that's returned.
FeeType:
title: FeeType
type: string
enum:
- APPLICATION_FEE
- ACH_BASIS_POINTS
- ACH_FIXED
- CARD_BASIS_POINTS
- CARD_FIXED
- CARD_INTERCHANGE
- VISA_BASIS_POINTS
- VISA_FIXED
- VISA_INTERCHANGE
- VISA_ASSESSMENT_BASIS_POINTS
- VISA_ACQUIRER_PROCESSING_FIXED
- VISA_CREDIT_VOUCHER_FIXED
- VISA_BASE_II_SYSTEM_FILE_TRANSMISSION_FIXED
- VISA_BASE_II_CREDIT_VOUCHER_FIXED
- VISA_KILOBYTE_ACCESS_FIXED
- DISCOVER_BASIS_POINTS
- DISCOVER_FIXED
- DISCOVER_INTERCHANGE
- DISCOVER_ASSESSMENT_BASIS_POINTS
- DISCOVER_DATA_USAGE_FIXED
- DISCOVER_NETWORK_AUTHORIZATION_FIXED
- DINERS_CLUB_BASIS_POINTS
- DINERS_CLUB_FIXED
- DINERS_CLUB_INTERCHANGE
- MASTERCARD_BASIS_POINTS
- MASTERCARD_FIXED
- MASTERCARD_INTERCHANGE
- MASTERCARD_ASSESSMENT_UNDER_1K_BASIS_POINTS
- MASTERCARD_ASSESSMENT_OVER_1K_BASIS_POINTS
- MASTERCARD_ACQUIRER_FEE_BASIS_POINTS
- JCB_BASIS_POINTS
- JCB_FIXED
- JCB_INTERCHANGE
- AMERICAN_EXPRESS_BASIS_POINTS
- AMERICAN_EXPRESS_FIXED
- AMERICAN_EXPRESS_INTERCHANGE
- AMERICAN_EXPRESS_ASSESSMENT_BASIS_POINTS
- DISPUTE_INQUIRY_FIXED_FEE
- DISPUTE_FIXED_FEE
- QUALIFIED_TIER_BASIS_POINTS_FEE
- QUALIFIED_TIER_FIXED_FEE
- CUSTOM
- ACH_DEBIT_RETURN_FIXED_FEE
- ACH_CREDIT_RETURN_FIXED_FEE
- ANCILLARY_FIXED_FEE_PRIMARY
- ANCILLARY_FIXED_FEE_SECONDARY
- SETTLEMENT_V2_TRANSFER
description: Details the type of fee if the `Transfer` includes a `fee`.
CardPresentDetails:
title: CardPresentDetails
x-stoplight:
id: jbenxkas8ukf2
type: object
description: Details needed to process card present transactions.
nullable: true
properties:
approval_code:
type: string
description: Unique ID used to identify the approval of the `Transfer`.
nullable: true
brand:
type: string
description: The brand of the card saved in the `Payment Instrument`.
nullable: true
emv_data:
type: object
description: Encrypted card data used to process the transaction.
nullable: true
properties:
application_identifier:
type: string
description: ID of the EMV application processing the transaction.
application_label:
type: string
description: EMV card label.
application_preferred_name:
type: string
description: Alternate EMV application name (if provided).
nullable: true
application_transaction_counter:
type: string
description: Transaction number for the EMV application.
cryptogram:
type: string
description: Encrypted card infromation used to process the transaction.
issuer_code_table_index:
type: string
description: The alphabet code table (according to ISO 8859) used by the EMV application (if provided).
nullable: true
pin_verified:
type: boolean
description: Details if the cardholder's PIN number was verified.
tags:
$ref: '#/components/schemas/Tags'
entry_mode:
type: string
description: Details how the card was entered to process the transaction.
nullable: true
masked_account_number:
type: string
description: Last four digits of the bank account number.
nullable: true
name:
type: string
description: The name of the bank account or card owner.
nullable: true
payment_type:
type: string
description: The type of `Payment Instrument` used in the transaction (or the original payment).
AdditionalPurchaseData:
title: AdditionalPurchaseData
x-stoplight:
id: e98e7635f242c
type: object
description: Additional information about the purchase. Used for [Level 2 and Level 3 Processing](/guides/payments/modify/level-2-and-level-3-processing/).
properties:
customer_reference_number:
type: string
description: The customer reference for the purchase (max 17 characters).
maxLength: 17
customs_duty_amount:
type: integer
description: The duty in cents on the total purchase amount for the order
destination_country_code:
type: string
description: The ISO country code of the order destination.
destination_postal_code:
type: string
description: The postal code of the order destination (10 characters)
maxLength: 10
discount_amount:
type: integer
description: The amount in cents of the discount for the order.
invoice_reference_number:
type: string
description: The order's invoice number (max 15 characters)
maxLength: 15
item_data:
type: array
description: Additional information about the transaction. Used for Level 2 and Level 3 Processing.
items:
type: object
properties:
amount_excluding_sales_tax:
type: integer
description: '- Total cost of the line item in cents, excluding tax.
- Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.'
amount_including_sales_tax:
type: integer
description: '- Total cost of the line item in cents, including tax.
- Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.'
commodity_code:
type: string
description: A commodity code is a numeric code representing a particular product or servic
# --- truncated at 32 KB (141 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/finix/refs/heads/main/openapi/finix-transfers-api-openapi.yml