{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/TransactionDetailsResponse",
  "title": "TransactionDetailsResponse",
  "required": [
    "id",
    "transactionId",
    "referenceKey",
    "interactions",
    "settlements",
    "payments",
    "refunds",
    "cancellations",
    "capabilities",
    "timeoutStatus",
    "totalRefunds",
    "status",
    "value",
    "receiverUri",
    "startDate",
    "authorizationToken",
    "authorizationDate",
    "commitmentToken",
    "commitmentDate",
    "refundingToken",
    "refundingDate",
    "cancelationToken",
    "cancelationDate",
    "fields",
    "shopperInteraction",
    "ipAddress",
    "sessionId",
    "macId",
    "vtexFingerprint",
    "chargeback",
    "whiteSignature",
    "owner",
    "orderId",
    "userAgent",
    "acceptHeader",
    "antifraudTid",
    "antifraudResponse",
    "antifraudReference",
    "antifraudAffiliationId",
    "channel",
    "salesChannel",
    "urn",
    "softDescriptor",
    "markedForRecurrence",
    "buyer"
  ],
  "type": "object",
  "description": "Transaction details response body information.",
  "properties": {
    "id": {
      "type": "string",
      "description": "Transaction identification."
    },
    "transactionId": {
      "type": "string",
      "description": "Transaction identification (same value of the `id` field)."
    },
    "referenceKey": {
      "type": "string",
      "description": "Field used for anti-fraud to identify the transaction."
    },
    "interactions": {
      "$ref": "#/components/schemas/Interactions"
    },
    "settlements": {
      "$ref": "#/components/schemas/Settlements"
    },
    "payments": {
      "$ref": "#/components/schemas/Payments"
    },
    "refunds": {
      "$ref": "#/components/schemas/Refunds"
    },
    "cancellations": {
      "$ref": "#/components/schemas/Cancellations"
    },
    "capabilities": {
      "$ref": "#/components/schemas/Capabilities"
    },
    "timeoutStatus": {
      "type": "number",
      "description": "Field that represents the possible transaction timeout statuses. Possible statuses and meanings: `0` = NotStarted, `1` = CancellingOrFinishing, `2` = CancellingOrFinishingByTimeout, `3` = CancelledOrFinished and `4` = TriesExceeded.",
      "enum": [
        0,
        1,
        2,
        3,
        4
      ]
    },
    "totalRefunds": {
      "type": "number",
      "description": "Total refunded transaction amount."
    },
    "status": {
      "type": "string",
      "description": "Transaction status."
    },
    "value": {
      "type": "number",
      "description": "Transaction value."
    },
    "receiverUri": {
      "type": "string",
      "description": "Receiver [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier) information.",
      "nullable": true
    },
    "startDate": {
      "type": "string",
      "description": "Transaction start date."
    },
    "authorizationToken": {
      "type": "string",
      "description": "Transaction authorization token.",
      "nullable": true
    },
    "authorizationDate": {
      "type": "string",
      "description": "Transaction authorization date.",
      "nullable": true
    },
    "commitmentToken": {
      "type": "string",
      "description": "Transaction completion token.",
      "nullable": true
    },
    "commitmentDate": {
      "type": "string",
      "description": "Transaction completion date.",
      "nullable": true
    },
    "refundingToken": {
      "type": "string",
      "description": "Transaction refund token.",
      "nullable": true
    },
    "refundingDate": {
      "type": "string",
      "description": "Transaction refund date.",
      "nullable": true
    },
    "cancelationToken": {
      "type": "string",
      "description": "Transaction cancellation token.",
      "nullable": true
    },
    "cancelationDate": {
      "type": "string",
      "description": "Transaction cancellation date.",
      "nullable": true
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Fields1"
      },
      "description": "Field containing information and values of payment parameters."
    },
    "shopperInteraction": {
      "type": "string",
      "description": "Transaction origin."
    },
    "ipAddress": {
      "type": "string",
      "description": "Ip address information.",
      "nullable": true
    },
    "sessionId": {
      "type": "string",
      "description": "Session identification.",
      "nullable": true
    },
    "macId": {
      "type": "string",
      "description": "Random [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) V4 generated when the Request Capture receives a session that does not contain the macID already set. This value is set to the cookie `VtexRCMacIdv7`. The cookie has 1 year of expiration."
    },
    "vtexFingerprint": {
      "type": "string",
      "description": "VTEX fingerprint information.",
      "nullable": true
    },
    "chargeback": {
      "type": "string",
      "description": "Chargeback information.",
      "nullable": true
    },
    "whiteSignature": {
      "type": "string",
      "description": "White signature (anti-fraud list) information.",
      "nullable": true
    },
    "owner": {
      "type": "string",
      "description": "Responsible for transaction request."
    },
    "orderId": {
      "type": "string",
      "description": "Order identitication.",
      "nullable": true
    },
    "userAgent": {
      "type": "string",
      "description": "HTTP client used in the transaction."
    },
    "acceptHeader": {
      "type": "string",
      "description": "Type of content accepted in the transaction request header."
    },
    "antifraudTid": {
      "type": "string",
      "description": "Anti-fraud transaction identification.",
      "nullable": true
    },
    "antifraudResponse": {
      "type": "string",
      "description": "Anti-fraud response information.",
      "nullable": true
    },
    "antifraudReference": {
      "type": "string",
      "description": "Anti-fraud reference information.",
      "nullable": true
    },
    "antifraudAffiliationId": {
      "type": "string",
      "description": "Anti-fraud affiliation identification.",
      "nullable": true
    },
    "channel": {
      "type": "string",
      "description": "Store where the transaction was initiated."
    },
    "salesChannel": {
      "type": "string",
      "description": "Sales channel information."
    },
    "urn": {
      "type": "string",
      "description": "[URN](https://en.wikipedia.org/wiki/Uniform_Resource_Name) information.",
      "nullable": true
    },
    "softDescriptor": {
      "type": "string",
      "description": "Custom field for a transaction that can be displayed on the customer's invoice.",
      "nullable": true
    },
    "markedForRecurrence": {
      "type": "boolean",
      "description": "Indicates whether the payment transaction should be recurring."
    },
    "buyer": {
      "type": "object",
      "description": "Buyer information.",
      "nullable": true,
      "properties": {
        "firstName": {
          "type": "string",
          "description": "Buyer first name."
        },
        "lastName": {
          "type": "string",
          "description": "Buyer last name."
        },
        "documentType": {
          "type": "string",
          "description": "Type of the document informed by the buyer."
        },
        "document": {
          "type": "string",
          "description": "Document informed by the buyer."
        },
        "email": {
          "type": "string",
          "description": "Buyer email address."
        },
        "address": {
          "type": "string",
          "description": "Buyer address."
        },
        "phone": {
          "type": "string",
          "description": "Buyer phone number."
        }
      }
    }
  }
}