OpenAPI Specification
openapi: 3.0.2
info:
title: Finix Authorizations Disputes 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: Disputes
description:
$ref: api-descriptions/tags/disputes.md
paths:
/disputes:
get:
tags:
- Disputes
description: Retrieve a list of `Disputes`.
summary: List Disputes
operationId: listDisputes
parameters:
- $ref: '#/components/parameters/QueryLimit'
- $ref: '#/components/parameters/QueryCreatedAtGteFilter'
- $ref: '#/components/parameters/QueryCreatedAtLteFilter'
- $ref: '#/components/parameters/QueryUpdatedAtGteFilter'
- $ref: '#/components/parameters/QueryUpdatedAtLteFilter'
- schema:
type: string
in: query
name: transfer_id
description: 'Filter by the ID of the `Transfer` that''s being disputed. <br><br>**Note**: If included, all other filter parameters are ignored.'
- schema:
type: string
in: query
name: adjustment_transfer_id
description: 'Filter by the ID of the adjustment `Transfer`. <br><br>**Note**: If included, all other filter parameters are ignored.'
- $ref: '#/components/parameters/QueryAmountFilter'
- $ref: '#/components/parameters/QueryAmountGteFilter'
- $ref: '#/components/parameters/QueryAmountGtFilter'
- $ref: '#/components/parameters/QueryAmountLtFilter'
- schema:
type: string
in: query
name: state
description: Filter by the state of the `Dispute`.
- schema:
type: string
in: query
name: response_state
description: Filter by the `response_state` of the `Dispute`.
- schema:
type: string
in: query
name: respond_by.lte
description: Filter where `respond_by` is before the given date.
- schema:
type: string
in: query
name: respond_by.gte
description: Filter where `respond_by` is after the given date.
- schema:
type: string
in: query
name: instrument_bin
description: Filter by the Bank Identification Number (BIN). The BIN is the first 6 digits of the masked account number.
- schema:
type: string
in: query
name: instrument_brand_type
description: Filter by the card brand used.
- in: query
name: merchant_identity_id
description: Filter by the ID of the `Identity` used by the `Merchant`.
schema:
type: string
- schema:
type: string
in: query
name: merchant_identity_name
description: Filter by the name used by the `Merchant`.
- schema:
type: string
in: query
name: instrument_name
description: Filter by the name of the `Payment Instrument`.
- schema:
type: string
in: query
name: instrument_type
description: Filter by `Payment Instrument` type.
- schema:
type: string
in: query
name: merchant_id
description: Filter by the ID of the `Merchant`.
- schema:
type: string
in: query
name: merchant_mid
description: Filter by the MID of the `Merchant`.
- schema:
type: string
in: query
name: instrument_card_last4
description: Filter by the last 4 digits of the card used.
- schema:
type: string
in: query
name: instrument_card_type
description: Filter by the card type.
- schema:
type: string
in: query
name: instrument_fingerprint
description: Filter by the fingerprint of the `Payment Instrument`.
- schema:
type: string
in: query
name: before_cursor
description: Returns every `Dispute` created before the cursor value.
- $ref: '#/components/parameters/TagsKey'
- $ref: '#/components/parameters/TagsValue'
responses:
'200':
$ref: '#/components/responses/DisputesList'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'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/disputes/\" \\\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
/disputes/{dispute_id}:
parameters:
- description: ID of `Dispute`.
required: true
in: path
name: dispute_id
schema:
type: string
get:
tags:
- Disputes
description: Retrieve the details of a previously created `Dispute`.
summary: Fetch a Dispute
operationId: getDispute
responses:
'200':
$ref: '#/components/responses/Dispute'
'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/disputes/DIs7yQRkHDdMYhurzYz72SFk\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
x-python-method-name: get
put:
summary: Update a Dispute
operationId: updateDispute
responses:
'200':
$ref: '#/components/responses/Dispute'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
description: Update `tags` on `Disputes`.
requestBody:
$ref: '#/components/requestBodies/UpdateDisputeEvidence'
x-java-method: put
tags:
- Disputes
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: update_dispute
/disputes/{dispute_id}/evidence:
parameters:
- description: ID of `Dispute` to mange evidence for.
required: true
in: path
name: dispute_id
schema:
type: string
post:
tags:
- Disputes
description: 'Upload a file as evidence for a `Dispute`.
- You can upload up to 8 files; the total size of the uploaded files combined cannot exceed 10 MB.
- The allowed file formats include JPG, PNG, PDF, or TIFF.
- Individual PNG and JPEG files can''t exceed 50 KB; PDF and TIFF files can''t exceed 1 MB.'
summary: Upload Files as Dispute Evidence
operationId: createDisputeEvidence
responses:
'201':
$ref: '#/components/responses/DisputeEvidence'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
x-codeSamples:
- lang: cURL
label: curl
source:
$ref: xcode/curl/disputes/uploadevidence.md
requestBody:
$ref: '#/components/requestBodies/CreateDisputeEvidenceRequest'
x-python-method-name: create_dispute_evidence
get:
tags:
- Disputes
description: Retrieve a list of dispute evidence for a `Dispute`.
summary: List Dispute Evidence
operationId: listDisputeEvidence
responses:
'200':
$ref: '#/components/responses/DisputeEvidenceList'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
x-java-method-name: listDisputeEvidenceByDisputeId
x-group-parameters: true
parameters:
- $ref: '#/components/parameters/QueryLimit'
- $ref: '#/components/parameters/QueryAfterCursor'
- $ref: '#/components/parameters/QueryBeforeCursor'
x-codeSamples:
- lang: cURL
label: curl
source: "curl \"https://finix.sandbox-payments-api.com/disputes/DIs7yQRkHDdMYhurzYz72SFk/evidence\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
x-python-method-name: list_dispute_evidence_by_dispute_id
x-returns-list: true
/disputes/{dispute_id}/evidence/{evidence_id}:
parameters:
- description: ID of `Dispute` to fetch evidence for.
required: true
in: path
name: dispute_id
schema:
type: string
- description: ID of `evidence` to fetch.
required: true
in: path
name: evidence_id
schema:
type: string
get:
tags:
- Disputes
description: "Fetch evidence uploaded for a `Dispute`. \n\nIf you don't have the Finix Dashboard available, you can fetch the evidence to review the `status` of the upload to confirm the evidence got sent to the processor."
summary: Fetch Dispute Evidence
operationId: getDisputeEvidence
responses:
'200':
$ref: '#/components/responses/DisputeEvidence'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
x-codeSamples:
- lang: cURL
label: curl
source: "curl \"https://finix.sandbox-payments-api.com/disputes/DIs7yQRkHDdMYhurzYz72SFk/evidence/DF58kdVTa5eMQUjcXH2F7DH4\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
x-python-method-name: get_dispute_evidence
put:
summary: Update Dispute Evidence
operationId: updateDisputeEvidence
responses:
'200':
$ref: '#/components/responses/DisputeEvidence'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
description: Update tags on `Dispute` evidence.
requestBody:
$ref: '#/components/requestBodies/UpdateDisputeEvidence'
x-java-method: put
tags:
- Disputes
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: update_dispute_evidence
/disputes/{dispute_id}/adjustment_transfers:
parameters:
- schema:
type: string
name: dispute_id
in: path
required: true
description: ID of the `Dispute` resource.
get:
summary: Fetch Dispute Adjustment Transfers
tags:
- Disputes
responses:
'200':
$ref: '#/components/responses/AdjustmentTransfersList'
'401':
description: Unauthorized
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
operationId: listDisputesAdjustments
description: 'List the adjustment `Transfers` for a `Dispute`. Depending on the stage of the `Dispute`, different adjustment `Transfer` subtypes can be applied.
There are four available subtypes for adjustment `Transfers` in `Disputes`: <ul><li><strong>PLATFORM\_CREDIT</strong><li><strong>MERCHANT\_DEBIT</strong><li><strong>MERCHANT\_CREDIT</strong><li><strong>PLATFORM\_DEBIT</strong></ul>'
x-group-parameters: true
parameters:
- $ref: '#/components/parameters/QueryLimit'
- $ref: '#/components/parameters/QueryAfterCursor'
- $ref: '#/components/parameters/QueryBeforeCursor'
x-codeSamples:
- lang: cURL
label: curl
source: "curl \"https://finix.sandbox-payments-api.com/disputes/DIs7yQRkHDdMYhurzYz72SFk/adjustment_transfers\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
x-python-method-name: list_disputes_adjustments
x-returns-list: true
/disputes/{dispute_id}/submit:
parameters:
- schema:
type: string
name: dispute_id
in: path
required: true
description: ID of `Dispute` to move forward and submit evidence.
post:
summary: Submit Dispute Evidence
operationId: submitDisputeEvidence
responses:
'200':
$ref: '#/components/responses/Dispute'
'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'
tags:
- Disputes
description: 'You can manually submit evidence to the issuing bank to manually move a dispute forward. Use the `/disputes/DISPUTE_ID/submit` endpoint to submit evidence. Making a POST request lets the issuing bank know the seller has completed submitting evidence and is prepared to move forward with the dispute.
Related guides: [Responding to Disputes](/guides/after-the-payment/disputes/responding-disputes/).'
x-java-method-name: post
x-codeSamples:
- lang: cURL
label: curl
source:
$ref: xcode/curl/disputes/submit-dispute-evidence.md
requestBody:
$ref: '#/components/requestBodies/SubmitDisputeEvidence'
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: post
/disputes/{dispute_id}/accept:
parameters:
- schema:
type: string
name: dispute_id
in: path
required: true
description: ID of `Dispute` to move forward and submit evidence.
post:
summary: Accept a Dispute
operationId: acceptDispute
responses:
'200':
$ref: '#/components/responses/Dispute'
'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'
description: 'You can accept a `Dispute` to prevent a long (and potentially expensive) process. When you accept a `Dispute`, you concede that the Dispute is not worth challenging or representing.
Related guides: [Accepting a Dispute](/guides/after-the-payment/disputes/accepting-disputes/)
'
x-java-method-name: post
x-codeSamples:
- lang: cURL
label: curl
source:
$ref: xcode/curl/disputes/accept-dispute.md
requestBody:
$ref: '#/components/requestBodies/AcceptDisputeRequest'
tags:
- Disputes
x-python-method-name: post
/disputes/{dispute_id}/evidence/{evidence_id}/download:
parameters:
- schema:
type: string
example: DIpCy4sZTx6im6U1ofBBPzdM
name: dispute_id
in: path
required: true
description: ID of `Dispute` to download evidence from.
- schema:
type: string
example: DFtiQ1LoNbjBTYiuuxju6tE2
name: evidence_id
in: path
required: true
description: ID of `evidence` to download.
get:
summary: Download Dispute Evidence
tags:
- Disputes
responses:
'200':
$ref: '#/components/responses/FileDownload'
'401':
$ref: '#/components/responses/ErrorUnauthorized'
'403':
$ref: '#/components/responses/ErrorForbidden403'
'404':
$ref: '#/components/responses/ErrorNotFound'
'406':
$ref: '#/components/responses/Error406NotAcceptable'
operationId: downloadDisputeEvidence
description: 'Download a file uploaded as `Dispute Evidence`.
**Note**: The file extension included in `output` must match the extension of the original uploaded file.'
x-java-method-name: get
x-codeSamples:
- lang: cURL
label: curl
source: "curl \"https://finix.sandbox-payments-api.com/disputes/DIpCy4sZTx6im6U1ofBBPzdM/evidence/DFtiQ1LoNbjBTYiuuxju6tE2/download\" \\\n -H \"Finix-Version: 2022-02-01\" \\\n -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \\\n --output DFtiQ1LoNbjBTYiuuxju6tE2.png\n"
parameters: []
x-python-method-name: get
components:
schemas:
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
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
Messages:
title: Messages
type: array
description: Message field that provides additional details. This field is typically **null**.
nullable: true
items:
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: ''
Raw:
title: Raw
description: Raw response from the processor.
x-examples: {}
type: object
nullable: true
AcceptDispute:
title: AcceptDispute
type: object
x-stoplight:
id: 47d1ecd88c757
properties:
note:
type: string
description: 'Include a note or custom metadata to reference the `Dispute`. '
example: '"Accepting Dispute: Mistaken Charge"'
required:
- note
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).
FileDownload:
type: string
title: FileDownload
x-stoplight:
id: fylqbqcpw7nuv
format: binary
description: The file in question will begin to download.
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 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
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`."
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
- sales_tax
Dispute:
type: object
title: Dispute
description: A `Dispute` objected created for a chargeback or customer disputes.
properties:
id:
type: string
example: DIxxxxxxxxxxxxxxxxxx
description: The ID of the `Dispute` resource.
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
action:
type: string
description: The next `action` required to move forward with the `Dispute`.
nullable: true
amount:
type: integer
description: The total amount of the `Dispute` (in cents).
nullable: true
application:
type: string
description: The ID of the `Application` resource that the `Dispute` was created under.
dispute_details:
description: Details about the `Dispute` received by the `Processor`. Any data from the processor can get included.
type: object
properties:
case_id:
type: string
description: The case number the `Processor` has given the dispute in their internal database.
nullable: true
pin_debit_adjustment_number:
type: string
description: Used by the processor to identify the funds that are getting disputed.
nullable: true
reason_code:
type: string
description: Used by the processor and card network
# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/finix/refs/heads/main/openapi/finix-disputes-api-openapi.yml