---
title: "Create custom orders"
method: POST
path: "/v3/merchants/{mId}/orders"
tags: ["ORDERS"]
---

# Create custom orders

`POST /v3/merchants/{mId}/orders`

Creates or updates orders with a non-Clover inventory and dynamically calculates taxes. Valid fields are: taxRemoved, note, title, state, testMode, manualTransaction, groupLineItems, and orderType. Use separate API calls to add line items. See the tutorial [Create custom orders](https://docs.clover.com/docs/creating-custom-orders).
 To create orders with Clover inventory and leverage real-time totals and tax calculation features, use the [Create an atomic order](https://docs.clover.com/docs/creating-custom-orders) endpoint and see the tutorial to [Manage orders data](https://docs.clover.com/docs/working-with-orders).

## Path parameters

- `mId` string, required

## Headers

- `User-Agent` string, required

## Request body

- object
  - `id` string — Unique identifier of the order.
  - `currency` string — Three-letter [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html). Format: Lower case Length: Max 3
  - `customers` object[] — List of customers associated with this order.
    - `id` string — Unique identifier of the customer.
    - `merchant` object — Merchant associated with this customer.
      - `id` string — Unique identifier of the merchant.
    - `firstName` string — First name of the customer. Length: Maximum 64 characters
    - `lastName` string — Last name of the customer. Length: Maximum 64 characters
    - `marketingAllowed` boolean — Indicates whether the customer allows marketing communication.
    - `customerSince` integer — Date since when the customer is associated with the merchant.
    - `orders` object[] — Customer's orders.
      - `id` string — Unique identifier of the order.
    - `addresses` object[] — Customer's address. Note: Address cannot be null. Length: Maximum 127 characters
      - `address1` string — First line of the address. Can include the street address, PO box, or company name.
      - `address2` string — Second line of the address. Can include the apartment, suite, unit, or building number.
      - `address3` string — Third line of the address.
      - `city` string — City of the customer's address. Can include district, suburb, town, or village.
      - `country` string — Customer's country.
      - `state` string — State of the customer's address. Can include county, province, or region.
      - `zip` string — Postal or ZIP code of the customer's address.
    - `emailAddresses` object[] — Customer's email addresses.
      - `id` string — Unique identifier of the customer.
      - `emailAddress` string, required — Email address of the customer. Note: A valid email address is required. Email address domains are validated using the [Apache Domain Validator](https://commons.apache.org/proper/commons-validator/apidocs/org/apache/commons/validator/routines/DomainValidator.html). Customer email addresses are validated using the [Apache Email Validator](https://commons.apache.org/proper/commons-validator/apidocs/org/apache/commons/validator/routines/EmailValidator.html).
      - `verifiedTime` integer — Time when the system verified the customer's email address as valid.
      - `primaryEmail` boolean — Customer's primary email address.
      - `customer` object — Customer name associated with the email address.
        - `id` string — Unique identifier of the customer.
    - `phoneNumbers` object[] — Customer's phone numbers.
      - `id` string — Phone number identifier.
      - `phoneNumber` string, required — Customer's phone number.
      - `customer` object — Customer name associated with the phone number.
        - `id` string — Unique identifier of the customer.
    - `cards` object[] — Customer's card details.
      - `id` string — Card identifier.
      - `first6` string, required — First 6 digits of the customer's card.
      - `last4` string, required — last 4 digits of the customer's card.
      - `firstName` string — First name on the customer's card.
      - `lastName` string — Last name on the customer's card.
      - `expirationDate` string — Expiry date of the customer's card.
      - `additionalInfo` object — Additional information for the customer's card.
        - `default` string
      - `cardType` string — Customer's card type.
      - `token` string — Customer's card token number. Length: Maximum 72 characters
      - `tokenType` 'MULTIPAY' | 'FINANCIAL' | 'CTOKEN' — Customer's card token type.
      - `modifiedTime` integer — Time when the card was last updated.
      - `customer` object — Customer to whom the card belongs.
        - `id` string — Unique identifier of the customer.
    - `metadata` object — Additional information about the customer.
      - `businessName` string — Name of the business. Length: Maximum 127 characters
      - `note` string — Additional information about the customer. Length: Maximum 2000 characters
      - `dobYear` integer — Optional. Year of the customer’s date of birth.
      - `dobMonth` integer — Month of the customer’s date of birth.
      - `dobDay` integer — Day of the customer’s date of birth.
      - `modifiedTime` integer — Time when the customer record was last updated.
      - `customer` object — Customer for whom the metadata is saved.
        - `id` string — Unique identifier of the customer.
  - `employee` object — Employee who took this order.
    - `id` string — Unique identifier of the employee.
  - `total` integer — Total price of the order in cents.
  - `externalReferenceId` string — External reference identifier, if associated with the order.
  - `unpaidBalance` integer — Net of orders with payment minus the amount collected. Includes refunds, manual refunds, tax, tip, service charge, non-revenue items, paid gift card activations and loads, and discounts.
  - `paymentState` 'OPEN' | 'PAID' | 'REFUNDED' | 'CREDITED' | 'PARTIALLY_PAID' | 'PARTIALLY_REFUNDED' — Indicates the state of the payment, whether paid, open, partially paid, and so on.
  - `title` string — Title associated with the employee.
  - `note` string — Information about the order that may be printed on the order receipt and displayed in apps.
  - `orderType` object
    - `id` string — Unique identifier of the order type.
    - `labelKey` string — Internal name of the payment tender, for example: label_key value is com.clover.tender.check.
    - `label` string — Payment tender name that displays to the merchant and customer.
    - `taxable` boolean — Indicates whether the order type is taxable.
    - `isDefault` boolean — Indicates whether the order type is set by default.
    - `filterCategories` boolean — Indicates whether the order type includes all the merchant categories. Values: True - Order type includes the categories defined in the `categories` field on this object. False - Order type includes all of the merchant’s categories.
    - `isHidden` boolean — Indicates whether the order type is hidden on the Register app.
    - `fee` integer — Fee amount added to the order type.
    - `minOrderAmount` integer — Minimum amount required to place an order.
    - `maxOrderAmount` integer — Maximum amount allowed for an order.
    - `maxRadius` integer — Maximum radius allowed for order delivery.
    - `avgOrderTime` integer — Average time taken to complete an order.
    - `hoursAvailable` 'ALL' | 'BUSINESS' | 'CUSTOM' — Hours when the merchant is available, for example: business or custom.
    - `customerIdMethod` 'NAME' | 'TABLE' | 'NAME_TABLE' — Method to identify the customer.
    - `isDeleted` boolean — Indicates if the order type is deleted.
    - `systemOrderTypeId` string — Identifier of the optional system order type with which the order type is associated.
    - `hours` object — Hours the order type is available, if different from the normal merchant hours.
      - `id` string — Unique identifier of the `hours` object.
      - `name` string — Name assigned to identify the `hours` object.
      - `reference` object
        - `id` string — Unique identifier for the reference.
      - `sunday` object[]
        - `start` integer, required — Start time on Sunday.
        - `end` integer, required — End time on Sunday.
      - `monday` object[]
        - `start` integer, required — Start time on Monday.
        - `end` integer, required — End time on Monday.
      - `tuesday` object[]
        - `start` integer, required — Start time on Tuesday.
        - `end` integer, required — End time on Tuesday.
      - `wednesday` object[]
        - `start` integer, required — Start time on Wednesday.
        - `end` integer, required — End time on Wednesday.
      - `thursday` object[]
        - `start` integer, required — Start time on Thursday.
        - `end` integer, required — End time on Thursday.
      - `friday` object[]
        - `start` integer, required — Start time on Friday.
        - `end` integer, required — End time on Friday.
      - `saturday` object[]
        - `start` integer, required — Start time on Saturday.
        - `end` integer, required — End time on Saturday.
    - `categories` object[] — Categories of items that can be assigned to this order type.
      - `id` string — Unique identifier of the category.
  - `taxRemoved` boolean — Indicates whether tax is removed and is not applicable to the order.
  - `isVat` boolean — Indicates whether the order was created by a merchant that charges for value-added tax (VAT).
  - `state` string — Order state. Values: . **open or OPEN and locked** - Automatically set by Clover, for example: when a line item is added to the order or a payment is taken. . When an order is created using REST API, Clover recommends manually setting the order state value to `Open`. . When an order is created using Android SDK, do not manually set the order state. The value must be left empty, and Clover automatically updates the value to `open` and `locked`. . **Null** - Default value when no value is manually set. This indicates a hidden order. Hidden orders do not display on the screen but can be retrieved using order ID.
  - `manualTransaction` boolean — Indicates a manual transaction for the order. In a manual transaction: An arbitrary amount is defined and not associated with any inventory items. For example, the Clover Sale app and Clover Manual Transaction app create manual transactions. A single line item is associated to hold the sale amount, but the generated receipt displays this differently to indicate the order is not a typical order with inventory items.
  - `groupLineItems` boolean — Indicates whether similar line items are grouped together on the order receipt based on matching values for properties, such as price, modifiers, and discounts.
  - `testMode` boolean — Indicates whether this order was created in test mode. Payments made against test orders are not processed. You can delete test mode orders from the Orders App on the merchant's device or [web dashboard](https://www.clover.com/orders/m/{mId}/orders). Test mode orders are also deleted when the device sends a POST to the `/v2/merchant/{mId}/orders/delete_all_tests` endpoint.
  - `payType` 'SPLIT_GUEST' | 'SPLIT_ITEM' | 'SPLIT_CUSTOM' | 'FULL' — During the payment flow: If the user chooses to split the payment for the order, this field is set to one of the Split values to indicate how to split the full amount. If the user chooses to pay for the order in full with one payment, then this field value is Full.
  - `createdTime` integer — Time when the order was created on the server.
  - `clientCreatedTime` integer — Time when the client created the order.
  - `modifiedTime` integer — Last modified time of the order.
  - `deletedTimestamp` integer — Time when the order was deleted.
  - `serviceCharge` object — Optional service charge (gratuity) applied to the order.
    - `id` string — Unique identifier of the service charge.
    - `name` string — Service charge name.
    - `enabled` boolean — Indicates whether the service charge is enabled.
    - `percentage` integer — Deprecated. Use `percentageDecimal` instead.
    - `percentageDecimal` integer — Percent to charge, indicated as times 10000; for example: 12.5% will be 125000.
    - `isAutoApplied` boolean — Indicates whether the service charge was automatically applied or not.
  - `additionalCharges` object[]
    - `id` string — Unique identifier for the additional charge.
    - `merchantAdditionalChargeRef` object — A reference to the MerchantAdditionalCharge that was used to create this AdditionalCharge. `Note`: MerchantAdditionalCharge can be changed and deleted any time such that it no longer matches this AdditionalCharge.
      - `id` string — Unique identifier of the additional charge.
    - `type` 'DELIVERY_FEE' — Type of additional charge.
    - `amount` integer — Additional charge amount.
    - `percentageDecimal` integer — Percent to charge, indicated as times 10000; for example: 12.5% will be 125000.
    - `createdTime` integer — Time additional charge was created.
    - `modifiedTime` integer — Time additional charge was modified.
    - `deletedTime` integer — Time additional charge was deleted.
  - `discounts` object[] — Amount or percentage discounts applied to the order subtotal. To retrieve discounts applied to individual items, use the [Get all line items for an order](https://docs.clover.com/reference/ordergetorderlineitems) endpoint with the discounts field expanded.
    - `id` string — Unique identifier of a discount.
    - `discount` object — If the item in an order has a standard discount, this object points to information in the appropriate inventory.
      - `id` string — Unique identifier of the discount.
    - `approver` object — Information about the user that authorized a discount.
      - `id` string — Unique identifier of the approver.
    - `name` string, required — Discount name.
    - `amount` integer — Discount amount in fraction of currency unit, for example, in cents, based on currency fraction digits supported.
    - `percentage` integer — Discount amount in percentage.
  - `lineItems` object[] — Line items associated with the order.
    - `id` string — Unique identifier of a line item.
    - `item` object — Provides a reference to the inventory item used to create the line item. You can change or delete the reference at any time. In this case, it may no longer match this line item.
      - `id` string — Unique identifier of the line item.
    - `colorCode` string — Hex code of the color assigned to the category and its items. Format: #fff, #ffffff, or #ffffffff. **Note:** You can change or delete the item color at any time. In this case, it may no longer match this line item.
    - `name` string — Name of the Line item.
    - `alternateName` string — Alternate name of the line item.
    - `price` integer — Item price, usually in the lowest unit, such as in cents of merchant currency. When unit quantity is not `null` then this is the price for a single unit and is not the complete price.
    - `priceWithModifiers` integer — Price of the item after adding all modifiers. Used only for reporting.
    - `priceWithModifiersAndItemAndOrderDiscounts` integer — Price of the item after adding all modifiers and subtracting all line item and order level discounts. Used only for reporting.
    - `unitQty` integer — Applicable only if the item is priced by the quantity of a unit. The item must have a priceType of PER_UNIT. Value: Fixed-point integer with scaling factor of 1000; that is, if charging per ounce, the value is set to 2500 for 2.5 ounces. Complete price = price * (unitQty / 1000). If the item doesn't have a priceType of PER_UNIT, then unitQty is ignored.
    - `unitName` string — Unit name, such as oz, lb, if priced by unit; otherwise the value is `null`.
    - `itemCode` string — Item code.
    - `note` string — Information related to the item.
    - `printed` boolean — Indicates whether the line item has been printed at least once on the order printer.
    - `exchangedLineItem` object
      - `id` string — Unique identifier of the exchanged line item.
    - `binName` string — Bank identification number.
    - `userData` string — User information.
    - `createdTime` integer — Time when the exchange line item was created on the server.
    - `orderClientCreatedTime` integer — Time when the client created the order.
    - `discounts` object[] — List of discounts applied to the line item. Each line item on an order can have zero (0) or more percentage or amount discounts. Line item discounts are separate from order-level discounts, which are applied to the order subtotal.
      - `id` string — Unique identifier of the discount.
      - `discount` object — List of discounts applied to the line item. Each line item on an order can have zero (0) or more percentage or amount discounts. Line item discounts are separate from order-level discounts, which are applied to the order subtotal.
        - `id` string — Unique identifier of the discount.
      - `approver` object — Information about the user that authorized a discount.
        - `id` string — Unique identifier of the approver.
      - `name` string, required — Discount name.
      - `amount` integer — Discount amount in fraction of currency unit, for example, in cents, based on currency fraction digits supported.
      - `percentage` integer — Discount amount in percentage.
    - `orderLevelDiscounts` object[] — List of order level discounts attributed to this line item. Amounts are rounded to the nearest lowest currency unit, for example, cents or penny. The rounded-off approximates are not used when calculating the transaction. Used only for reporting.
      - `id` string — Unique identifier of a discount.
      - `discount` object — If the item in an order has a standard discount, this object points to information in the appropriate inventory.
        - `id` string — Unique identifier of the discount.
      - `approver` object — Information about the user that authorized a discount.
        - `id` string — Unique identifier.
      - `name` string, required — Discount name.
      - `amount` integer — Discount amount in fraction of currency unit, for example, in cents, based on currency fraction digits supported.
      - `percentage` integer — Discount amount in percentage.
    - `discountAmount` integer — Fixed discount amount in cents. For reporting, this can be calculated as the sum of all the line item discounts.
    - `orderLevelDiscountAmount` integer — Sum of order level discounts on the line item; calculated approximately to the nearest cent. Used only in reporting.
    - `exchanged` boolean — Indicates an exchanged item.
    - `modifications` object[] — List of references to modifiers applied to this line item.
      - `id` string — Unique identifier of the modifier.
      - `name` string — Name of the modifier.
      - `alternateName` string — Alternate name of the modifier.
      - `amount` integer — Additional cost of the modifier when applied.
      - `modifier` object — Values from the modifier are copied to the modification at the time that the order is placed. Modifier values may change after the modification is created.
        - `id` string — Unique identifier of the modifier.
        - `name` string — Name of the modifier.
        - `alternateName` string — Alternate name of the modifier.
        - `available` boolean — Indicates whether the modifier is available across all channels.
        - `price` integer — Additional cost associated with using the modifier.
        - `modifierGroup` object
          - `id` string — Unique identifier of the modifier group.
      - `quantitySold` integer — Count of items with the modifier that were sold. Used only for reporting.
    - `tags` object[] — Tags associated with the item.
      - `id` string — Unique identifier of the tag.
      - `name` string, required — Name of the tag.
      - `showInReporting` boolean — Indicates whether the tag displays as a summary label in the Reporting app.
      - `items` object[] — Items associated with the tag.
        - `id` string — Unique identifier of the item.
      - `printers` object[] — Printers associated with the tag.
        - `id` string — Unique identifier of the printer.
    - `refunded` boolean — Indicates whether the line item is refunded.
    - `refund` object — Direct item refund information.
      - `id` string — Unique identifier of the item refund.
      - `orderRef` object — Reference number of the order with which the refund is associated.
        - `id` string — Unique identifier of the order refund.
      - `device` object — Device that processed the transaction for the item refund. Format: 128-bit; this is different from the base-13 Clover ID of the device.
        - `id` string — Unique identifier of the device.
      - `amount` integer — Total amount refunded, including tax and tip.
      - `taxAmount` integer — Tax amount refunded.
      - `tipAmount` integer — Tip amount refunded.
      - `createdTime` integer — Time when the refund was recorded on the server.
      - `clientCreatedTime` integer — Time when the refund was recorded on the client.
      - `gatewayProcessingTime` integer — Time when the refund was processed by the payment gateway.
      - `payment` object — Payment with which the refund is associated.
        - `id` string — Unique identifier of the payment.
      - `employee` object
        - `id` string — Unique identifier of the employee.
      - `lineItems` object[]
        - `id` string — Unique identifier of the line item.
      - `overrideMerchantTender` object — Tender type associated with this payment, for example, credit card, cash, and so on.
        - `id` string — Unique identifier of the merchant tender.
        - `editable` boolean — Indicates whether merchant tender is editable.
        - `labelKey` string — Internal name of the payment tender, for example: label_key value is com.clover.tender.check.
        - `label` string — Label Key.
        - `opensCashDrawer` boolean — Indicates whether the Open Cash Drawer option is selected for the cash tender. Values: True - When the Open Cash Drawer option is selected, all the cash drawers associated with a device hub or connected printer are opened. False - Open Cash drawer option is not selected.
        - `supportsTipping` boolean — Indicates whether tipping is allowed using the selected tender.
        - `enabled` boolean — Indicates whether tenders stored at the merchant level or custom merchant tenders are enabled. Note: Merchant can also create custom tenders that are not referenced with the system_tender, such as credit, debit, and cash.
        - `visible` boolean — Indicates whether the merchant tender is visible.
        - `instructions` string — Instructions for how to process tender.
      - `taxableAmountRates` object[]
        - `id` string — Tax rate identifier.
        - `name` string — Tax rate name.
        - `taxableAmount` integer — Sub-total of line items on which the tax was based. For value-added tax (VAT), this amount includes the tax. For all others, this amount does not include tax.
        - `rate` integer — Tax rate. 100% = 1e7 or 1 followed by 7 zeros.
        - `isVat` boolean — Indicates whether value-added tax (VAT) applies to the selected tender.
        - `taxAmount` integer — Amount of tax collected. If there are multiple payments for an order, it may be necessary to add an extra cent of tax to the last payment.
        - `transactionRef` object — Refund transaction with which the tax rate is associated.
          - `id` string — Unique identifier of the refund transaction.
      - `serviceChargeAmount` object
        - `id` string — Service charge identifier.
        - `name` string — Indicates the name of the service charge applicable.
        - `amount` integer — Amount of the service charge.
      - `additionalCharges` object[]
        - `id` string — Additional charge identifier.
        - `amount` integer — Amount of the additional charge.
        - `rate` integer — Percent rate of the additional charge, indicated as times 10000, for example, 12.5% will be 125000.
        - `type` 'INTERAC' | 'CREDIT_SURCHARGE' | 'CONVENIENCE_FEE' | 'INTERAC_V2' | 'DELIVERY_FEE' — Type of the additional charge.
      - `attributes` object — Indicates the attributes, if any.
        - `default` string — Indicates the default value of attributes.
      - `germanInfo` object — German region-specific information.
        - `cardTrack2` string — Magnetic stripes (magstripe) on payment cards are divided into three tracks of data encoded directly to the magstripe. Only Track 1 and Track 2 are actively used in payment card processing. Track 3 is rarely used and may not always be present on a card.
        - `cardSequenceNumber` string — Card sequence number.
        - `transactionCaseGermany` string — German-region transaction case.
        - `transactionTypeGermany` string — German-region transaction type.
        - `terminalID` string — Terminal identifier.
        - `traceNumber` string — Number used to track inbound and outbound ACH transfers. It is issued by the sending institution, and can be provided to your receiving institution to track the impending transfer even before it has arrived in their system.
        - `oldTraceNumber` string
        - `receiptNumber` string — Receipt number for the transaction.
        - `transactionAID` string — Transaction application identifier (AID).
        - `transactionMSApp` string
        - `transactionScriptResults` string — Transaction script results.
        - `receiptType` string — Receipt type for the transaction.
        - `customerTransactionDOLValues` string
        - `merchantTransactionDOLValues` string
        - `merchantJournalDOL` string
        - `merchantJournalDOLValues` string
        - `configMerchantId` string — Configure merchant identifier (ID).
        - `configProductLabel` string — Configure product label.
        - `hostResponseAidParBMP53` string
        - `hostResponsePrintDataBM60` string
        - `sepaElvReceiptFormat` string — Receipt format for SEPA ELV transaction. Single Euro Payments Area (SEPA) is a European Union (EU) payments integration initiative. ELV (German) indicates the end of transition period for payment transactions generated using a payment card at the point of sale.
        - `sepaElvExtAppLabel` string — SEPA ELV application label.
        - `sepaElvPreNotification` string — SEPA ELV transaction pre-notification.
        - `sepaElvMandate` string — Mandate for SEPA ELV transaction.
        - `sepaElvCreditorId` string — Creditor identifier (ID) for a SEPA ELV transaction.
        - `sepaElvMandateId` string — Mandate identifier (ID) for a SEPA ELV transaction.
        - `sepaElvIban` string — International bank account number (IBAN) for SEPA ELV transaction.
      - `appTracking` object — Tracking information for the app that created this refund.
        - `developerAppId` string — Universally unique identifier (UUID) of the developer app. Populated and used only in the back end system.
        - `applicationName` string — Name of the developer application.
        - `applicationID` string — Unique identifier (ID) of the application.
        - `applicationVersion` string — Semantic version of the application, such as Major, Minor, or Patch. See [semver](https://semver.org/).
        - `sourceSDK` string — Source software development kit (SDK).
        - `sourceSDKVersion` string — Semantic version of the source SDK. See [semver](https://semver.org/)
      - `voided` boolean — Indicates whether transaction was voided.
      - `voidReason` string — Reason to void the transaction.
      - `cardTransaction` object — Information about the card used for credit or debit card refunds.
        - `cardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Type of card, for example: Mastercard&reg;, Visa&reg;, Discover&reg;, Interac, and so on.
        - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Card entry method for a payment transaction, for example: Swiped, Keyed, EMV_Contact, EMV_Contactless, and so on.
        - `first6` string — First 6 digits of the card number.
        - `last4` string — Last 4 digits of the card number.
        - `type` 'AUTH' | 'PREAUTH' | 'PREAUTHCAPTURE' | 'ADJUST' | 'VOID' | 'VOIDRETURN' | 'RETURN' | 'REFUND' | 'NAKEDREFUND' | 'GETBALANCE' | 'BATCHCLOSE' | 'ACTIVATE' | 'BALANCE_LOCK' | 'LOAD' | 'CASHOUT' | 'CASHOUT_ACTIVE_STATUS' | 'REDEMPTION' | 'REDEMPTION_UNLOCK' | 'RELOAD' | 'CASH_ADVANCE' | 'VOID_CREDIT' | 'REFUND_CREDIT' | 'INTERNET_ACTIVATE' | 'TOKEN_REQUEST' | 'VERIFICATION' — Type of transaction, for example: Auth, PreAuth, Cash_Advance, Refund-Credit.
        - `authCode` string — Authorization code, if transaction is successful.
        - `referenceId` string — Unique identifier of the transaction.
        - `transactionNo` string — Transaction number.
        - `state` 'PENDING' | 'CLOSED' — Transaction status. Indicates whether the payment gateway captured the transaction. Values: Closed Pending
        - `extra` object — Extra information stored as part of payment gateway or card transaction.
          - `default` string — Default message that to be appeared.
        - `begBalance` integer — Beginning balance at the time of the transaction.
        - `endBalance` integer — Ending balance at the time of the transaction.
        - `avsResult` 'SUCCESS' | 'ZIP_CODE_MATCH' | 'ZIP_CODE_MATCH_ADDRESS_NOT_CHECKED' | 'ADDRESS_MATCH' | 'ADDRESS_MATCH_ZIP_NOT_CHECKED' | 'NEITHER_MATCH' | 'SERVICE_FAILURE' | 'SERVICE_UNAVAILABLE' | 'NOT_CHECKED' | 'ZIP_CODE_NOT_MATCHED_ADDRESS_NOT_CHECKED' | 'ADDRESS_NOT_MATCHED_ZIP_CODE_NOT_CHECKED' — Result of address verification service (AVS). AVS is a service provided by credit card processors that lets merchants authenticate ownership of a customer's credit or debit. AVS check is a part of the merchant's request for authorization in a non-face-to-face credit card transaction. Values include: Success, Zip_Code_Match, Address_Not_Checked, and so on.
        - `cardholderName` string — Cardholder name.
        - `token` string — Card token.
        - `vaultedCard` object — Indicates a vaulted card that can be used for subsequent transactions. Credit card vaulting securely stores credit card information, allowing charges to be made without the need to re-enter the card details.
          - `first6` string, required — First 6 digits of the vaulted card number.
          - `last4` string, required — Last 4 digits of the vaulted card number.
          - `cardholderName` string — Card holder name of the vaulted card.
          - `expirationDate` string — Expiration date of the vaulted card.
          - `token` string — Vaulted card token.
        - `gatewayTxState` 'INITIATED' | 'INITIATED_ON_AUTH' | 'ACKNOWLEDGED' | 'CONNECT_FAILED' | 'TIMEOUT' | 'FAILED' | 'REVERSE_INITIATED' | 'REVERSE_INITIATED_ON_AUTH' | 'REVERSED' | 'REVERSAL_FAILED' | 'EXTERNAL' — Current status of payment gateway transaction. This field differs from the legacy 'state' field that is calculated from the 'type' field and indicates whether the transaction was captured. Values include: Initiated, Acknowledged, Timeout, Failed, and so on.
        - `currency` string — Currency code.
        - `captured` boolean — Indicates whether the transaction was captured by the gateway.
        - `debitRefund` object — Refund parameters required for debit card refunds.
          - `debitTransactionRouteInd` string — Indicates the debit card transaction routing. In the U.S., merchants accepting cards have the option to select the specific network on the card for each transaction. The process of choosing a network for a transaction is known as debit routing.
          - `isDebitTransactionRefundable` boolean — Indicates whether the debit transaction is refundable. Values: True, if debitTransactionRouteInd is C, else it's determined by the Electronic Debit System (EDS) or debit entitlement rule for D/S. False
      - `transactionInfo` object — Transaction information.
        - `languageIndicator` string — Deprecated. Use `transactionLocale` instead of languageIndicator.
        - `transactionLocale` string — Region and language for the transaction, for example: en-CA.
        - `accountSelection` 'CREDIT' | 'DEBIT' | 'CHECKING' | 'SAVINGS' — Indicates the account type, example: current, savings.
        - `fiscalInvoiceNumber` string — Invoice number. Format: 4 digits prefix + 8 digits
        - `installmentsQuantity` integer — Accounts receivables (AR) installments: number of installments.
        - `installmentsPlanCode` string — Accounts receivables (AR) installments: plan code. Format: Alphanumeric
        - `installmentsPlanId` string — Accounts receivables (AR) installments: selected plan identifier.
        - `installmentsPlanDesc` string — Accounts receivables (AR) installments: selected plan description.
        - `cardTypeLabel` string — Card type label.
        - `cardSymbol` string — Card symbol for identity in payment_card_config table.
        - `stan` integer — System Audit Trace Number (STAN) is a number generated by the cardholder bank to identify a transaction. STAN is a trace ID number most commonly used internally at the cardholders bank. Format: 6-digit code, and not truly unique as the code resets after 999,999.
        - `identityDocument` object — Customer’s identification number and type.
          - `id` string — Unique identifier of the customer’s identification document.
          - `type` string — Type of identification (ID) document for the customer. Values: Driver license Tax ID Military ID
          - `number` string — Value or details of customer ID, for example, driver license number.
          - `createdTime` integer — Time when the refund was recorded on the server.
          - `modifiedTime` integer — Time when the refund was recorded on the client.
          - `deletedTime` integer — Time when the refund was deleted on the client.
          - `payment` object — Payment with which the refund is associated.
            - `id` string — Unique identifier of the payment.
        - `batchNumber` string — Transaction batch number.
        - `receiptNumber` string — Transaction receipt number.
        - `reversalStanRefNum` string — Reversal System Audit Trace Number (STAN) reference number.
        - `reversalStan` integer — System Audit Trace Number (STAN) for the reversal.
        - `reversalMac` string — Message Authentication Code (MAC) for reversal. MAC is a short piece of information used for authenticating a message and confirming that the message originated from the stated sender and has not changed. Format: 16-character alphanumeric
        - `reversalMacKsn` string — Message Authentication Code Key Serial Number (KSN) is returned from the encrypting device, along with the MAC cryptogram.
        - `terminalIdentification` string — Message Authentication Code Key Serial Number (KSN) is returned from the encrypting device, along with the MAC cryptogram.
        - `externalTerminalId` string — Main internal identifier of a terminal. This identifer is the same across all Fiserv components.
        - `merchantIdentifier` string — Unique identifier, concatenated with the acquirer identifier, to identify a merchant.
        - `merchantNameLocation` string — Name and location of the merchant.
        - `maskedTrack2` string — Masked track2 data. Track2 data is the credit or debit card information held on the card, typically on the computer chip or the magnetic stripe.
        - `receiptExtraData` string — Extra data for the receipt.
        - `selectedService` 'NONE' | 'PAYMENT' | 'REFUND' | 'CANCELLATION' | 'PRE_AUTH' | 'UPDATE_PRE_AUTH' | 'PAYMENT_COMPLETION' | 'CASH_ADVANCE' | 'DEFERRED_PAYMENT' | 'DEFERRED_PAYMENT_COMPLETION' | 'VOICE_AUTHORISATION' | 'CARDHOLDER_DETECTION' | 'TOKEN_REQUEST' | 'VERIFICATION' — Financial service selected for the transaction, for example: Payment refund, cancellation, cash advance, and so on.
        - `transactionResult` 'APPROVED' | 'DECLINED' | 'ABORTED' | 'VOICE_AUTHORISATION' | 'PAYMENT_PART_ONLY' | 'PARTIALLY_APPROVED' | 'NONE' — Result of the transaction, for example: Approved, Declined, Aborted, and so on.
        - `transactionTags` string — Transaction tags that contain hexadecimal string with Tag + Length + Value (TLV) tags for certification.
        - `txFormat` 'DEFAULT' | 'NEXO' — Information on how to code the data inside transactionTags. Initial formats: Default and NEXO.
        - `panMask` string — Information on how to mask the card primary account number (PAN).
        - `transactionSequenceCounter` string — Counter maintained by the terminal. This counter is incremented for each transaction at the beginning of the Perform Service function.
        - `applicationPanSequenceNumber` string — Identifies and differentiates cards with the same primary account number (PAN).
        - `reversalReason` 'CHIP_DECLINE' | 'CARDHOLDER_CANCELLATION' | 'COMMUNICATION_ERROR' | 'OTHER_REASON' — Indicates the reason to reverse the transaction in the host, for example: cardholder cancellation or communication error. This reversal reason needs to be mapped in the server with the expected value from the corresponding payment gateway.
        - `isTokenBasedTx` boolean — Indicates whether the transaction is token based, using a vaulted card.
        - `origTransactionSequenceCounter` string — For reversal and capture transactions, this includes the reference (transactionSequenceCounter) to the originating transaction.
        - `transactionSequenceCounterUpdate` string — Displays information when the transaction sequence counter (TSC) of a terminal is out of sync and is provided with an update.
        - `emergencyFlag` boolean — Indicates whether the corresponding transaction was performed in NEXO emergency mode according to the [nexo ISO specifications](https://www.nexo-standards.org/standards/nexo-implementation-specification).
        - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Card entry method for a payment transaction, for example: Swiped, Keyed, EMV_Contact, EMV_Contactless, and so on.
        - `promotionalMessage` object
          - `message` string — Promotional message.
          - `showOnMerchantReceipt` boolean — Indicates whether a promotional message displays on the merchant receipt. Value: True False.
          - `showOnCustomerReceipt` boolean — Indicates whether a promotional message displays on the customer receipt. Value: True False.
          - `showOnDisplay` boolean — Indicates whether a promotional message displays on the device screen. Value: True False.
        - `sepaElvTransactionInfo` object
          - `receiptFormat` string — Value of tag [E1.DF8206 from NEXO config](https://clover.github.io/clover-android-sdk/com/clover/sdk/v3/payments/SepaElvTransactionInfo.html).
          - `extAppLabel` string — Value of tag [E6.DF8211 or E6.DF8212](https://clover.github.io/clover-android-sdk/com/clover/sdk/v3/payments/SepaElvTransactionInfo.html) (Online or Offline TX printout).
          - `preNotification` string — Value of tag [E6.DF8214 info form NEXO config](https://clover.github.io/clover-android-sdk/com/clover/sdk/v3/payments/SepaElvTransactionInfo.html).
          - `mandate` string — Value of tag [E6.DF8215 info from NEXO config](https://clover.github.io/clover-android-sdk/com/clover/sdk/v3/payments/SepaElvTransactionInfo.html).
          - `creditorId` string — Value of tag [E6.DF8216 info from NEXO config](https://clover.github.io/clover-android-sdk/com/clover/sdk/v3/payments/SepaElvTransactionInfo.html).
          - `mandateId` string — Mandate Identifier generated by SEPA according to ELV.
          - `iban` string — International Bank Account Number (IBAN). Uniquely identifies the account of a customer at a financial institution as defined in ISO 13616. Received in Integrated Circuit Card (ICC) related data from IPG (tag 5F53).
          - `isMerchantForced` boolean — Indicates whether the corresponding SEPA ELV TX transaction was forced by the merchant (override defined limit). See sepaElvTransactionInfo.
        - `clientCardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Client card type. Read-only field that is used only for limited purpose and must not be overwritten on server or client once set up on the client. **Note:** This is not the same as cardType in other objects. The client card type is set up on the client only for magnetic stripe reader transactions (MSR tx) for now as the application identifier (AID) is not identified for MSR. For a few MSR tx, the card type is identified incorrectly on client side, and also on server side based on the bank identification number (BIN) match. To Get the correct card types, this client card type is sent to the server.
        - `explicitlySelectedApp` string — App that the customer selects using a button.
        - `isSepaElv` boolean — Indicates whether the corresponding transaction (TX) was performed as SEPA ELV TX. See sepaElvTransactionInfo.
        - `cardEntryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Card entry method used for the SEPA ELV TX transaction, for example: card swipe, EMV-contactless, manual entry, and so on.
        - `printMessages` object[] — List of print messages.
          - `destination` 'CUSTOMER_DISPLAY' | 'CUSTOMER_RECEIPT' | 'CUSTOMER_RECEIPT_AID_PARAM' | 'MERCHANT_DISPLAY' | 'MERCHANT_RECEIPT' | 'MERCHANT_RECEIPT_AID_PARAM' — Destination for the message. Values: CDSP - CustomerDisplay CRCP - CustomerReceipt/AidParam MDSP - MerchantDisplay MRCP - MerchantReceipt/AidParam
          - `content` string — Text of the display and/or print message from the payment gateway.
      - `merchant` object
        - `id` string — Unique identifier of the merchant.
      - `externalReferenceId` string — External reference identifier (ID) associated with the refund.
      - `authCode` string — Acquirer-generated authorization code.
      - `status` 'FAIL' | 'SUCCESS' | 'PENDING' — Status of the refund.
      - `oceanGatewayInfo` object — India-region specific [Ocean payment gateway](https://www.oceanpayment.com/) information.
        - `tranSource` string — Transaction source returned from Ocean as part of notification for a transaction.
        - `tranChannel` string — Local payment method (LPM) information returned from Ocean as part of notification for a transaction.
        - `transactionType` string — Transaction type information returned from Ocean as part of notification for a transaction.
        - `merchantId` string — Merchant identifier (mId) returned from Ocean as part of notification for a transaction.
        - `terminalId` string — Terminal identifier returned from Ocean as part of notification for a transaction.
        - `tenderType` string — Tender type information returned from Ocean as part of notification for a transaction..
        - `entryMethod` string — Card entry method returned from Ocean as part of notification for a transaction.
        - `transactionAmount` string — Transaction amount returned from Ocean as part of notification for a transaction.
        - `transactionCurrency` string — Transaction currency returned from Ocean as part of notification for a transaction.
        - `fpTransactionId` string — Ocean payment gateway generated transaction Identifier for a transaction.
        - `merchantTxnId` string — Payment reference Identifier provided by Clover for a transaction.
        - `fpRefundTransactionId` string — Refund transaction Identifier returned from Ocean for a transaction.
        - `transactionStatus` string — Transaction status returned from Ocean as part of notification for a transaction.
        - `transactionStatusDescription` string — Transaction status description returned from Ocean as part of notification for a transaction.
        - `rrn` string — Bank registration number (RRN) is a transaction Identifier or a reference number provided by the bank to track the transaction status. This RRN is returned from Ocean in the transaction notification.
        - `batchNo` string — Batch number returned from Ocean as part of notification for a transaction.
        - `invoiceNo` string — Invoice number returned from Ocean as part of notification for a transaction.
        - `cardScheme` string — Customer local payment method (LPM) information returned from Ocean as part of notification for a transaction.
        - `qrType` string — QR type, either static or dynamic information, returned from Ocean as part of notification for a transaction.
        - `transactionDateTime` string — Transaction completion date information returned from Ocean as part of notification for a transaction.
        - `authCode` string — Authorization Code returned from Ocean as part of notification for a transaction.
        - `pan` string — Primary account number (PAN) information like masked virtual payment, for example: address, vehicle information, and user ID returned from Ocean as part of notification for a transaction.
        - `customerMobile` string — Customer mobile info returned from Ocean as part of notification for a transaction.
        - `customerName` string — Customer name returned from Ocean as part of notification for a transaction.
        - `customerRemarks` string — Customer remarks returned from Ocean as part of notification for a transaction.
        - `bankName` string — Bank name returned from Ocean as part of notification for a transaction.
        - `bankCode` string — Bank code returned from Ocean as part of notification for a transaction.
        - `emiDetails` object — Equated monthly installment (EMI) details of a customer returned from Ocean as part of notification for a transaction.
          - `lenderName` string — Equated monthly installment (EMI) lender name.
          - `tenure` string — Total EMI tenure.
          - `interestRate` string — Interest rate charged on the EMI.
          - `interest` string — Interest amount charged as part of the EMI.
          - `emiAmount` string — EMI amount per month.
          - `lenderLoanId` string — Lender loan identifier (ID) for the EMI.
          - `fees` string — Processing fee charged for the EMI.
          - `discountAmount` string — Discount amount applicable on the EMI.
          - `offerCashback` string — Offer cashback amount provided for EMI.
          - `tranAmount` string — Total transaction amount.
          - `totalPayable` string — Total payable amount, which is total EMI with interest.
      - `reason` string — Reason why the refund was initiated.
    - `isRevenue` boolean — Indicates whether this item is counted as revenue, for example: gift cards and donations are not counted as revenue.
    - `taxRates` object[] — Applicable tax rates on the line item.
      - `id` string — Tax rate identifier.
      - `name` string, required — Tax rate name.
      - `taxType` 'VAT_TAXABLE' | 'VAT_NON_TAXABLE' | 'VAT_EXEMPT' | 'INTERNAL_TAX' | 'PARTNER_TAX' — Tax type used in Argentina.
      - `rate` integer — Tax rate for percentage-based discounts, such as sales tax. Format: 100% = 1e7 or 1 followed by 7 zeros.
      - `isDefault` boolean — Indicates whether the merchant's default tax rate is used for the item.
      - `items` object[] — Items associated with the tax rate.
        - `id` string — Unique identifier of the item.
      - `taxAmount` integer — Amount for a flat tax, such as a recycling redemption fee. Format: Cents
      - `deletedTime` integer — Time when tax rate was deleted.
      - `modifiedTime` integer — Time when tax rate was modified.
    - `payments` object[] — Payments applicable to the line item.
      - `id` string — Unique identifier of the payment.
      - `percentage` integer — Line item percentage.
      - `binName` string — Bank identification number.
      - `refunded` boolean — Indicates whether the line item is refunded.
    - `revenueAmount` integer — Revenue collected for this. Used only for reporting.
    - `quantitySold` number — Count of items with the modifier that were sold. Used only for reporting.
    - `printGroup` object — Optional reference to the print group that this line item belongs to.
      - `id` string — Unique identifier of the print object.
  - `payments` object[] — Payments applicable to the order. Note: If multiple payments were made, then the payType field displays the method to split the total amount.
    - `id` string — Merchant idenitifier.
    - `order` object — Order associated payment.
      - `id` string — Unique identifier of the order.
    - `device` object — Device associated with the transaction.
      - `id` string — Unique identifier of the device.
    - `tender` object — Tender type associated with this payment. For example: credit card, cash, and so on.
      - `id` string — Unique identifier of the tender.
      - `editable` boolean — Indicates if the merchant tender type is editable.
      - `labelKey` string — Label Key.
      - `label` string — Label name.
      - `opensCashDrawer` boolean — Indicates whether the cash drawer can be opened.
      - `supportsTipping` boolean — Indicates whether tipping on payment is allowed using the tender.
      - `enabled` boolean — Indicates whether merchant tender is enabled.
      - `visible` boolean — Indicates that merchant tender is visible.
      - `instructions` string — Instructions on how to process the tender.
    - `amount` integer — Total amount paid.
    - `tipAmount` integer — Amount paid in tips.
    - `taxAmount` integer — Amount paid in tax.
    - `cashbackAmount` integer — Amount returned in a cash-back transaction.
    - `cashTendered` integer — Amount paid by the customer in cash.
    - `externalPaymentId` string — Point of sale (POS)-assigned unique identifier for the transaction. Critical for reconciliation and recovery.
    - `employee` object — Details of the employee who processed the payment.
      - `id` string — Unique identifier of the employee.
    - `createdTime` integer — Time when the payment was recorded on the server.
    - `clientCreatedTime` integer — Time when the payment was saved on the client.
    - `gatewayProcessingTime` integer — Time when the payment gateway processed the payment.
    - `modifiedTime` integer — Time when the payment was modified.
    - `offline` boolean — Indicates whether the payment was accepted offline.
    - `result` 'SUCCESS' | 'FAIL' | 'INITIATED' | 'VOIDED' | 'VOIDING' | 'VOID_FAILED' | 'AUTH' | 'AUTH_COMPLETED' | 'DISCOUNT' | 'OFFLINE_RETRYING' | 'PENDING' — Result of the payment transaction, for example: initiated, success, fail, voided, and so on.
    - `cardTransaction` object — Information about the card used for credit or debit card refunds.
      - `cardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Type of card, for example: Mastercard, Visa, Discover, Interac, and so on.
      - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Card entry method for a payment transaction, for example: Swiped, Keyed, EMV_Contact, EMV_Contactless, and so on.
      - `first6` string — First 6 digits of the card number.
      - `last4` string — Last 4 digits of the card number.
      - `type` 'AUTH' | 'PREAUTH' | 'PREAUTHCAPTURE' | 'ADJUST' | 'VOID' | 'VOIDRETURN' | 'RETURN' | 'REFUND' | 'NAKEDREFUND' | 'GETBALANCE' | 'BATCHCLOSE' | 'ACTIVATE' | 'BALANCE_LOCK' | 'LOAD' | 'CASHOUT' | 'CASHOUT_ACTIVE_STATUS' | 'REDEMPTION' | 'REDEMPTION_UNLOCK' | 'RELOAD' | 'CASH_ADVANCE' | 'VOID_CREDIT' | 'REFUND_CREDIT' | 'INTERNET_ACTIVATE' | 'TOKEN_REQUEST' | 'VERIFICATION' — Type of transaction, for example: Auth, PreAuth, Cash_Advance, Refund-Credit.
      - `authCode` string — Authorization code, if transaction is successful.
      - `referenceId` string — Unique identifier of the transaction.
      - `transactionNo` string — Transaction number.
      - `state` 'PENDING' | 'CLOSED' — Transaction status. Indicates whether the payment gateway captured the transaction. Values: Closed Pending
      - `extra` object — Extra information stored as part of payment gateway or card transaction.
        - `default` string — Default message.
      - `begBalance` integer — Beginning balance at the time of the transaction.
      - `endBalance` integer — Ending balance at the time of the transaction.
      - `avsResult` 'SUCCESS' | 'ZIP_CODE_MATCH' | 'ZIP_CODE_MATCH_ADDRESS_NOT_CHECKED' | 'ADDRESS_MATCH' | 'ADDRESS_MATCH_ZIP_NOT_CHECKED' | 'NEITHER_MATCH' | 'SERVICE_FAILURE' | 'SERVICE_UNAVAILABLE' | 'NOT_CHECKED' | 'ZIP_CODE_NOT_MATCHED_ADDRESS_NOT_CHECKED' | 'ADDRESS_NOT_MATCHED_ZIP_CODE_NOT_CHECKED' — Result of the address verification service (AVS). AVS is a service provided by credit card processors and issuing banks to verify that the address entered by the customer is associated with the cardholder's credit card account. AVS check is a part of the merchant's request for authorization in a card-not-present (CNP) transaction. Values: Success, Zip_Code_Match, Address_Not_Checked, and so on.
      - `cardholderName` string — Cardholder name.
      - `token` string — Card token.
      - `vaultedCard` object — Indicates a vaulted card that can be used for subsequent transactions. Credit card vaulting securely stores credit card information, allowing charges to be made without the need to re-enter the card details.
        - `first6` string, required — First 6 digits of the vaulted card number.
        - `last4` string, required — Last 4 digits of the vaulted card number.
        - `cardholderName` string — Card holder name of the vaulted card.
        - `expirationDate` string — Expiration date of the vaulted card.
        - `token` string — Vaulted card token.
      - `gatewayTxState` 'INITIATED' | 'INITIATED_ON_AUTH' | 'ACKNOWLEDGED' | 'CONNECT_FAILED' | 'TIMEOUT' | 'FAILED' | 'REVERSE_INITIATED' | 'REVERSE_INITIATED_ON_AUTH' | 'REVERSED' | 'REVERSAL_FAILED' | 'EXTERNAL' — Current status of payment gateway transaction. This field differs from the legacy 'state' field that is calculated from the 'type' field and indicates whether the transaction was captured. Values: Initiated, Acknowledged, Timeout, Failed, and so on.
      - `currency` string — Currency code.
      - `captured` boolean — Indicates whether the transaction was captured by the payment gateway.
      - `debitRefund` object — Refund parameters required for debit card refunds.
        - `debitTransactionRouteInd` string — Indicates the debit card transaction routing. In the U.S., merchants accepting cards have the option to select the specific network on the card for each transaction. The process of choosing a network for a transaction is known as debit routing.
        - `isDebitTransactionRefundable` boolean — Indicates whether the debit transaction is refundable. Values: True, if debitTransactionRouteInd is C, else it's determined by the Electronic Debit System (EDS) or debit entitlement rule for D/S. False
    - `serviceCharge` object — Amount recorded as a service charge.
      - `id` string — Unique identifier of the service charge.
      - `name` string — Service change name.
      - `amount` integer — Service charge amount.
    - `attributes` object — Information related to attributes.
      - `default` string
    - `additionalCharges` object[]
      - `id` string — Additional charge identifier.
      - `amount` integer — Amount of the additional charge.
      - `rate` integer — Percent rate of the additional charge times 10000.
      - `type` 'INTERAC' | 'CREDIT_SURCHARGE' | 'CONVENIENCE_FEE' | 'INTERAC_V2' | 'DELIVERY_FEE' — Type of additional charge, for example: convenience fee, credit surcharge, and so on.
    - `taxRates` object[]
      - `id` string — Tax rate identifier (ID).
      - `name` string, required — Tax rate name.
      - `rate` integer, required — Tax rate. Format: 100% = 1e7 or 1 followed by 7 zeros.
      - `isDefault` boolean — Indicates whether the tax rate was configured as a default tax rate when the payment was created.
      - `taxableAmount` integer, required — Sub-total of line items on which the tax was based. For value-added tax (VAT), this amount includes the tax. For all others, this amount does not include tax.
      - `isVat` boolean — Indicates if the taxable amount includes value-added tax (VAT).
      - `taxAmount` integer — Amount of tax collected. In case of multiple payments for an order, it may be necessary to add an extra cent of tax to the last payment.
    - `refunds` object[] — Information related to a refund.
      - `id` string — Unique identifier of the refund.
      - `orderRef` object — Reference number of the order with which the refund is associated.
        - `id` string — Unique identifier of the refund.
      - `device` object — Device that processed the transaction.
        - `id` string — Universally unique identifier (UUID) of the device that processed the transaction for the refund. Format: 128-bit; this is different from the base-13 Clover ID of the device.
      - `amount` integer — Total amount refunded, including tax and tip.
      - `taxAmount` integer — Tax amount refunded.
      - `tipAmount` integer — Tip amount refunded.
      - `createdTime` integer — Time when the refund was saved on the server.
      - `clientCreatedTime` integer — Time when the refund was saved on the client.
      - `gatewayProcessingTime` integer — Time when the payment gateway processed the refund.
      - `payment` object — Payment with which the refund is associated.
        - `id` string — Unique identifier of the payment.
      - `employee` object — Details of the employee who processed the refund.
        - `id` string — Unique identifier of the employee who processed the refund.
      - `lineItems` object[]
        - `id` string — Unique identifier of the line item.
      - `overrideMerchantTender` object — Merchants can only refund using the original payment tender or a custom tender set up to take alternative refunds. For example, a cash payment is not refundable to a credit card or the other way around. If the refund is a custom tender type different from the original payment tender, this information displays as overrideMerchantTender.
        - `id` string — Unique identifier of the custom tender used for refund.
        - `editable` boolean — Indicates if the merchant tender type is editable.
        - `labelKey` string — Label Key.
        - `label` string — Label name.
        - `opensCashDrawer` boolean — Indicates whether the cash drawer can be opened.
        - `supportsTipping` boolean — Indicates whether tipping on payment is allowed using the tender.
        - `enabled` boolean — Indicates whether merchant tender is enabled.
        - `visible` boolean — Indicates that merchant tender is visible.
        - `instructions` string — Instructions for the refund.
      - `taxableAmountRates` object[] — Details of the taxable amount rates.
        - `id` string — Tax rate identifier.
        - `name` string — Optional. Tax rate name.
        - `taxableAmount` integer — Sub-total of line items on which the tax was based. For value-added tax (VAT), this amount includes the tax. For all others, this amount does not include tax.
        - `rate` integer — Tax rate. Format: 100% = 1e7 or 1 followed by 7 zeros.
        - `isVat` boolean — Indicates if the taxable amount includes value-added tax (VAT).
        - `taxAmount` integer — Tax amount collected. In cases of multiple payments for an order, it may be necessary to add an extra cent of tax to the last payment.
        - `transactionRef` object — Refund with which the tax rate is associated.
          - `id` string — Unique identifier of the transaction.
      - `serviceChargeAmount` object — Information related to the service charge.
        - `id` string — Service charge identifier.
        - `name` string — Indicates the name of the service charge applicable.
        - `amount` integer — Amount of the service charge.
      - `additionalCharges` object[]
        - `id` string — Additional charge identifier.
        - `amount` integer — Amount of the additional charge.
        - `rate` integer — Percent rate of the additional charge times 10000.
        - `type` 'INTERAC' | 'CREDIT_SURCHARGE' | 'CONVENIENCE_FEE' | 'INTERAC_V2' | 'DELIVERY_FEE' — Type of the additional charge.
      - `attributes` object — Information related to attributes.
        - `default` string — Default value of attributes.
      - `germanInfo` object — German region-specific information.
        - `cardTrack2` string — Magnetic stripes (magstripe) on payment cards are divided into three tracks of data encoded directly to the magstripe. Only Track 1 and Track 2 are actively used in payment card processing. Track 3 is rarely used and may not always be present on a card.
        - `cardSequenceNumber` string — Card sequence number.
        - `transactionCaseGermany` string — German-region transaction case.
        - `transactionTypeGermany` string — German-region transaction type.
        - `terminalID` string — Terminal identifier.
        - `traceNumber` string — Number used to track inbound and outbound ACH transfers. It is issued by the sending institution and can be provided to your receiving institution to track the impending transfer even before it has arrived in their system.
        - `oldTraceNumber` string
        - `receiptNumber` string — Receipt number for the transaction.
        - `transactionAID` string — Transaction application identifier (AID).
        - `transactionMSApp` string
        - `transactionScriptResults` string — Transaction script results.
        - `receiptType` string — Receipt type for the transaction.
        - `customerTransactionDOLValues` string — Customer transaction data object list values.
        - `merchantTransactionDOLValues` string — Merchant transaction data object list values.
        - `merchantJournalDOL` string — Merchant journal data object list.
        - `merchantJournalDOLValues` string — Merchant journal data object list values.
        - `configMerchantId` string — Configure merchant identifier (ID).
        - `configProductLabel` string — Configure product label.
        - `hostResponseAidParBMP53` string
        - `hostResponsePrintDataBM60` string
        - `sepaElvReceiptFormat` string — Receipt format for SEPA ELV transaction. Single Euro Payments Area (SEPA) is a European Union (EU) payments integration initiative. ELV (German) indicates the end of the transition period for payment transactions generated using a payment card at the point of sale.
        - `sepaElvExtAppLabel` string — SEPA ELV application label.
        - `sepaElvPreNotification` string — SEPA ELV transaction pre-notification.
        - `sepaElvMandate` string — Mandate for SEPA ELV transaction.
        - `sepaElvCreditorId` string — Creditor identifier (ID) for a SEPA ELV transaction.
        - `sepaElvMandateId` string — Mandate identifier (ID) for a SEPA ELV transaction.
        - `sepaElvIban` string — International bank account number (IBAN) for SEPA ELV transaction.
      - `appTracking` object — Tracking information for the app that created this refund.
        - `developerAppId` string — Universally unique identifier (UUID) of the developer app. Populated and used only in the back-end system.
        - `applicationName` string — Developer application name.
        - `applicationID` string — Unique identifier (ID) of the application.
        - `applicationVersion` string — Semantic version of the application, such as Major, Minor, or Patch. See [semver](https://semver.org/)
        - `sourceSDK` string — Source software development kit (SDK).
        - `sourceSDKVersion` string — Semantic version of the source SDK. See [semver](https://semver.org)
      - `voided` boolean — Indicates whether the transaction was voided.
      - `voidReason` string — Reason to void the transaction.
      - `cardTransaction` object — Information about the card used for credit or debit card refunds.
        - `cardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Type of card, for example: Mastercard, Visa, Discover, Interac, and so on.
        - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Card entry method for a payment transaction, for example: Swiped, Keyed, EMV_Contact, EMV_Contactless, and so on.
        - `first6` string — First 6 digits of the card number.
        - `last4` string — Last 4 digits of the card number.
        - `type` 'AUTH' | 'PREAUTH' | 'PREAUTHCAPTURE' | 'ADJUST' | 'VOID' | 'VOIDRETURN' | 'RETURN' | 'REFUND' | 'NAKEDREFUND' | 'GETBALANCE' | 'BATCHCLOSE' | 'ACTIVATE' | 'BALANCE_LOCK' | 'LOAD' | 'CASHOUT' | 'CASHOUT_ACTIVE_STATUS' | 'REDEMPTION' | 'REDEMPTION_UNLOCK' | 'RELOAD' | 'CASH_ADVANCE' | 'VOID_CREDIT' | 'REFUND_CREDIT' | 'INTERNET_ACTIVATE' | 'TOKEN_REQUEST' | 'VERIFICATION' — Type of transaction, for example: Auth, PreAuth, Cash_Advance, Refund-Credit.
        - `authCode` string — Authorization code, if transaction is successful.
        - `referenceId` string — Unique identifier of the transaction.
        - `transactionNo` string — Transaction number.
        - `state` 'PENDING' | 'CLOSED' — Transaction status. Indicates whether the payment gateway captured the transaction. Values: Closed Pending
        - `extra` object — Extra information stored as part of payment gateway or card transaction.
          - `default` string — Default message.
        - `begBalance` integer — Beginning balance at the time of the transaction.
        - `endBalance` integer — Ending balance at the time of the transaction.
        - `avsResult` 'SUCCESS' | 'ZIP_CODE_MATCH' | 'ZIP_CODE_MATCH_ADDRESS_NOT_CHECKED' | 'ADDRESS_MATCH' | 'ADDRESS_MATCH_ZIP_NOT_CHECKED' | 'NEITHER_MATCH' | 'SERVICE_FAILURE' | 'SERVICE_UNAVAILABLE' | 'NOT_CHECKED' | 'ZIP_CODE_NOT_MATCHED_ADDRESS_NOT_CHECKED' | 'ADDRESS_NOT_MATCHED_ZIP_CODE_NOT_CHECKED' — Result of address verification service (AVS). AVS is a service provided by credit card processors and issuing banks to verify that the address entered by the customer is associated with the cardholder's credit card account. AVS check is a part of the merchant's request for authorization in a card-not-present (CNP) transaction. Values: Success, Zip_Code_Match, Address_Not_Checked, and so on.
        - `cardholderName` string — Cardholder name.
        - `token` string — Card token.
        - `vaultedCard` object — Indicates a vaulted card that can be used for subsequent transactions. Credit card vaulting securely stores credit card information, allowing charges to be made without the need to re-enter the card details.
          - `first6` string, required — First 6 digits of the vaulted card number.
          - `last4` string, required — Last 4 digits of the vaulted card number.
          - `cardholderName` string — Card holder name of the vaulted card.
          - `expirationDate` string — Expiration date of the vaulted card.
          - `token` string — Vaulted card token.
        - `gatewayTxState` 'INITIATED' | 'INITIATED_ON_AUTH' | 'ACKNOWLEDGED' | 'CONNECT_FAILED' | 'TIMEOUT' | 'FAILED' | 'REVERSE_INITIATED' | 'REVERSE_INITIATED_ON_AUTH' | 'REVERSED' | 'REVERSAL_FAILED' | 'EXTERNAL' — Current status of payment gateway transaction. This field differs from the legacy 'state' field that is calculated from the 'type' field and indicates whether the transaction was captured by the payment gateway. Values include: Initiated, Acknowledged, Timeout, Failed, and so on.
        - `currency` string — Currency code.
        - `captured` boolean — Indicates whether the transaction was captured by the payment gateway.
        - `debitRefund` object — Refund parameters required for debit card refunds.
          - `debitTransactionRouteInd` string — Indicates the debit card transaction routing. In the U.S., merchants accepting cards have the option to select the specific network on the card for each transaction. The process of choosing a network for a transaction is known as debit routing.
          - `isDebitTransactionRefundable` boolean — Indicates whether the debit transaction is refundable. Values: True, if debitTransactionRouteInd is C, else it's determined by the Electronic Debit System (EDS) or debit entitlement rule for D/S. False
      - `transactionInfo` object — Transaction information.
        - `languageIndicator` string — Deprecated. Use `transactionLocale` instead of languageIndicator.
        - `transactionLocale` string — Region and language for the transaction, for example: en-CA.
        - `accountSelection` 'CREDIT' | 'DEBIT' | 'CHECKING' | 'SAVINGS' — Indicates the account type, example: current, savings.
        - `fiscalInvoiceNumber` string — Invoice number. Format: 4 digits prefix + 8 digits
        - `installmentsQuantity` integer — Accounts receivables (AR) installments: number of installments.
        - `installmentsPlanCode` string — Accounts receivables (AR) installments: plan code. Format: Alphanumeric
        - `installmentsPlanId` string — Accounts receivables (AR) installments: selected plan identifier.
        - `installmentsPlanDesc` string — Accounts receivables (AR) installments: selected plan description.
        - `cardTypeLabel` string — Card type label.
        - `cardSymbol` string — Card symbol for identity in payment_card_config table.
        - `stan` integer — System Audit Trace Number (STAN) is a number generated by the cardholder bank to identify a transaction. STAN is a trace ID number most commonly used internally at the cardholder's bank. Format: 6-digit code, and not truly unique as the code resets after 999,999.
        - `identityDocument` object — Customer’s identification number and type.
          - `id` string — Type of identification (ID) document for the customer. Values: Driver license Tax ID Military ID
          - `type` string — Type of personal identification: National Document, Passport, and so on.
          - `number` string — Value or details of customer ID, for example, driver's license number.
          - `createdTime` integer — Time when the refund was recorded on the server.
          - `modifiedTime` integer — Time when the refund was modified on the server.
          - `deletedTime` integer — Time when the refund was deleted on the server.
          - `payment` object — Payment with which the refund is associated.
            - `id` string — Unique identifier of the payment.
        - `batchNumber` string — Transaction batch number.
        - `receiptNumber` string — Transaction receipt number.
        - `reversalStanRefNum` string — Reversal System Audit Trace Number (STAN) reference number.
        - `reversalStan` integer — System Audit Trace Number (STAN) for the reversal.
        - `reversalMac` string — Message Authentication Code (MAC) for reversal. MAC is a short piece of information used for authenticating a message and confirming that the message originated from the stated sender and has not changed. Format: 16-character alphanumeric
        - `reversalMacKsn` string — Message Authentication Code (MAC) Key Serial Number (KSN) is returned from the encrypting device, along with the MAC cryptogram.
        - `terminalIdentification` string — Unique identifier for the location of a terminal at a merchant.
        - `externalTerminalId` string — Main internal identifier of a terminal. This identifer is the same across all Fiserv components.
        - `merchantIdentifier` string — Unique identifier, concatenated with the acquirer identifier, to identify a merchant.
        - `merchantNameLocation` string — Indicates the name and location of the merchant.
        - `maskedTrack2` string — Masked track2 data. Track2 data is the credit or debit card information held on the card, typically on the computer chip or the magnetic stripe.
        - `receiptExtraData` string — Extra data for the receipt.
        - `selectedService` 'NONE' | 'PAYMENT' | 'REFUND' | 'CANCELLATION' | 'PRE_AUTH' | 'UPDATE_PRE_AUTH' | 'PAYMENT_COMPLETION' | 'CASH_ADVANCE' | 'DEFERRED_PAYMENT' | 'DEFERRED_PAYMENT_COMPLETION' | 'VOICE_AUTHORISATION' | 'CARDHOLDER_DETECTION' | 'TOKEN_REQUEST' | 'VERIFICATION' — Financial service selected for the transaction, for example: payment refund, cancellation, cash advance, and so on.
        - `transactionResult` 'APPROVED' | 'DECLINED' | 'ABORTED' | 'VOICE_AUTHORISATION' | 'PAYMENT_PART_ONLY' | 'PARTIALLY_APPROVED' | 'NONE' — Result of the transaction, for example: Approved, Declined, Aborted, and so on.
        - `transactionTags` string — Transaction tags that contain hexadecimal string with Tag + Length + Value (TLV) tags for certification.
        - `txFormat` 'DEFAULT' | 'NEXO' — Information on how to code the data inside `transactionTags`. Formats: Default and NEXO.
        - `panMask` string — Information on how to mask the card primary account number (PAN).
        - `transactionSequenceCounter` string — Counter maintained by the terminal. This counter is incremented for each transaction at the beginning of the Perform Service function.
        - `applicationPanSequenceNumber` string — Identifies and differentiates cards with the same primary account number (PAN).
        - `reversalReason` 'CHIP_DECLINE' | 'CARDHOLDER_CANCELLATION' | 'COMMUNICATION_ERROR' | 'OTHER_REASON' — Indicates the reason to reverse the transaction in the host, for example: cardholder cancellation or communication error. This reversal reason needs to be mapped in the server with the expected value from the corresponding payment gateway.
        - `isTokenBasedTx` boolean — Indicates whether the transaction is token-based, using a vaulted card.
        - `origTransactionSequenceCounter` string — For reversal and capture transactions, this includes the reference (transactionSequenceCounter) to the originating transaction.
        - `transactionSequenceCounterUpdate` string — Displays information when the transaction sequence counter (TSC) of a terminal is out of sync and is provided with an update.
        - `emergencyFlag` boolean — Indicates whether the corresponding transaction was performed in NEXO emergency mode according to the [nexo ISO specifications](https://www.nexo-standards.org/standards/nexo-implementation-specification).
        - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Card entry method for a payment transaction, for example: Swiped, Keyed, EMV_Contact, EMV_Contactless, and so on.
        - `promotionalMessage` object
          - `message` string — Promotional message.
          - `showOnMerchantReceipt` boolean — Indicates whether a promotional message displays on the merchant receipt. Value: True False
          - `showOnCustomerReceipt` boolean — Indicates whether a promotional message displays on the customer receipt. Value: True False
          - `showOnDisplay` boolean — Indicates whether a promotional message displays on the device screen. Value: True False
        - `sepaElvTransactionInfo` object
          - `receiptFormat` string — Value of tag E1.DF8206 from NEXO config.
          - `extAppLabel` string — Value of tag E6.DF8211 or E6.DF8212 (Online or Offline TX printout).
          - `preNotification` string — Value of tag E6.DF8214 info form NEXO config.
          - `mandate` string — Value of tag E6.DF8215 info from NEXO config.
          - `creditorId` string — Value of tag E6.DF8216 info from NEXO config.
          - `mandateId` string — Generated by SPA according to ELV – TBD: use Trace number instead of receipt number.
          - `iban` string — Received in ICC related data from IPG (tag 5F53).
          - `isMerchantForced` boolean — Defines if the corresponding SEPA ELV TX was forced by the merchant (override defined limit)
        - `clientCardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Client card type should be used only limited purpose only and should not be confused with cardType in other objects. This is a read only field and must not to be overwritten on server or client once set on client. This is set on client only for MSR tx for now as the AIDs are not identified for MSR. For few MSR tx, the card type was identified incorrectly on client side, and also on server side based on the bin match. In order to get the correct card types, this client card type will be sent to the server
        - `explicitlySelectedApp` string — The app explicitly selected by the customer via the choice button.
        - `isSepaElv` boolean — Defines if the corresponding TX was performed as SEPA ELV TX.
        - `cardEntryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Defines if the corresponding TX was performed as SEPA ELV TX.
        - `printMessages` object[]
          - `destination` 'CUSTOMER_DISPLAY' | 'CUSTOMER_RECEIPT' | 'CUSTOMER_RECEIPT_AID_PARAM' | 'MERCHANT_DISPLAY' | 'MERCHANT_RECEIPT' | 'MERCHANT_RECEIPT_AID_PARAM' — Destination for the message CDSP - CustomerDisplay, CRCP - CustomerReceipt/AidParam, MDSP - MerchantDisplay, MRCP - MerchantReceipt/AidParam
          - `content` string — Contains the display and/or print message text from gateway.
      - `merchant` object
        - `id` string — Unique identifier.
      - `externalReferenceId` string — External reference identifier, if associated with the refund.
      - `authCode` string — Authorization code generated by the acquirer.
      - `status` 'FAIL' | 'SUCCESS' | 'PENDING' — Status of the refund. It can be Fail/Success/Pending.
      - `oceanGatewayInfo` object — India-region specific Ocean Gateway information.
        - `tranSource` string — This field contains transaction source returned from Ocean as part of notification for a transaction.
        - `tranChannel` string — This field contains LPM type information returned from Ocean as part of notification for a transaction.
        - `transactionType` string — This field contains transaction type information returned from Ocean as part of notification for a transaction.
        - `merchantId` string — This field contains MerchantId returned from Ocean as part of notification for a transaction.
        - `terminalId` string — This field contains TerminalId returned from Ocean as part of notification for a transaction.
        - `tenderType` string — This field contains tender type information returned from Ocean as part of notification for a transaction.
        - `entryMethod` string — This field contains the entry method returned from Ocean as part of notification for a transaction.
        - `transactionAmount` string — This field contains the transaction amount returned from Ocean as part of notification for a transaction.
        - `transactionCurrency` string — This field contains the transaction currency returned from Ocean as part of notification for a transaction.
        - `fpTransactionId` string — This field contains the ocean generated transaction Id for a transaction.
        - `merchantTxnId` string — This field contains the payment reference id provided by clover for a transaction.
        - `fpRefundTransactionId` string — This field contains the refund transaction id returned from Ocean for a transaction.
        - `transactionStatus` string — This field contains the transaction status returned from Ocean as part of notification for a transaction.
        - `transactionStatusDescription` string — This field contains the transaction status description returned from Ocean as part of notification for a transaction.
        - `rrn` string — This field contains rrn number (reference provided by bank) returned from Ocean as part of notification for a transaction.
        - `batchNo` string — This field contains batch number returned from Ocean as part of notification for a transaction.
        - `invoiceNo` string — This field contains invoice number returned from Ocean as part of notification for a transaction.
        - `cardScheme` string — This field contains Customer LPM information returned from Ocean as part of notification for a transaction.
        - `qrType` string — This field contains qr tpe either static or dynamic information returned from Ocean as part of notification for a transaction.
        - `transactionDateTime` string — This field contains transaction completion date information returned from Ocean as part of notification for a transaction.
        - `authCode` string — This field contains authorization Code returned from Ocean as part of notification for a transaction.
        - `pan` string — This field contains pan information like masked virtual payment address,vehicle info,userId returned from Ocean as part of notification for a transaction.
        - `customerMobile` string — This field contains customer mobile info returned from Ocean as part of notification for a transaction.
        - `customerName` string — This field contains customer name returned from Ocean as part of notification for a transaction.
        - `customerRemarks` string — This field contains customer remarks returned from Ocean as part of notification for a transaction.
        - `bankName` string — This field contains name of the bank returned from Ocean as part of notification for a transaction.
        - `bankCode` string — This field contains bank code returned from Ocean as part of notification for a transaction.
        - `emiDetails` object — This field indicates the EMI details of a customer returned from Ocean as part of notification for a transaction.
          - `lenderName` string — This field contains the equated monthly installment (EMI) lender name.
          - `tenure` string — This field contains total EMI tenure.
          - `interestRate` string — This field contains interest rate charged as part of EMI.
          - `interest` string — This field contains interest amount charged as part of EMI.
          - `emiAmount` string — This field contains EMI amount per month.
          - `lenderLoanId` string — This field contains lender loan id for the EMI.
          - `fees` string — This field contains processing fee charged for EMI.
          - `discountAmount` string — This field contains discount amount provided for EMI.
          - `offerCashback` string — This field contains offer cashback amount provided for EMI.
          - `tranAmount` string — This field contains total transaction amount.
          - `totalPayable` string — This field contains total payable amount which is total EMI with interest.
      - `reason` string — Reason why the refund initiated.
    - `note` string — Note for the refund.
    - `lineItemPayments` object[] — Payment line items.
      - `id` string — Line item unique identifier.
      - `percentage` integer — Percent of the line item covered by the payment.
      - `binName` string — Bank identification number (BIN) indicating the financial institution for line item.
      - `refunded` boolean — Indicates payment is refunded.
    - `authorization` object — Authorization to which the payment is associated, for example, (opening or closing payment) if it exists.
      - `id` string — Unique identifier.
    - `voidPaymentRef` object — If voided, the corresponding successful payment, and vice versa.
      - `id` string — Unique identifier.
    - `voidReason` 'USER_CANCEL' | 'TRANSPORT_ERROR' | 'REJECT_SIGNATURE' | 'REJECT_PARTIAL_AUTH' | 'NOT_APPROVED' | 'FAILED' | 'AUTH_CLOSED_NEW_CARD' | 'DEVELOPER_PAY_PARTIAL_AUTH' | 'REJECT_DUPLICATE' | 'REJECT_OFFLINE' | 'GIFTCARD_LOAD_FAILED' | 'USER_GIFTCARD_LOAD_CANCEL' | 'DEVELOPER_PAY_TIP_ADJUST_FAILED' | 'USER_CUSTOMER_CANCEL' | 'FRAUD' | 'REJECT_GREATER_APPROVED_AMOUNT' | 'TIMEOUT' — If voided, the reason for the payment void, if available.
    - `voidReasonDetails` object — Detailed explanation on why the transaction is void.
      - `txError` string — Transaction Error bytes.
      - `voidReasonCode` 'CANCEL_PAYMENT_ADJUST' | 'BREAK_RESET' | 'CANCEL' | 'AUTH_FAILED' | 'NETWORK_FAILED' | 'NON_OK_RESULT_CODE_RETURNED_FROM_VERIFY_CVM' | 'PARTIAL_AUTH_NOT_ALLOWED' | 'PARTIAL_AUTH_CANCELLED' | 'QUICK_CHIP_DECLINE' | 'KERNEL_DECLINE' | 'NON_OK_RESULT_CODE_FROM_FORCE_ACCEPT' | 'MERCHANT_CANCELLED_THE_FORCE_ACCEPTANCE' | 'CARD_READER_ERROR' | 'UNKNOWN_EXCEPTION' | 'ERROR_EVENT' | 'KERNEL_EXCEPTION' | 'FATAL_EXCEPTION' | 'CARD_CHECK_FAILED_FOR_REVERSAL' | 'MANUAL_ENTRY_NOT_ALLOWED' | 'MANUAL_ENTRY_NOT_ALLOWED_FOR_CARD' | 'SWIPE_CARD_CHECK_FAILED_FOR_REVERSAL' | 'OFFLINE_AUTH_FAILED' | 'TXN_STATUS_DECLINED' | 'COMPLETION_DEVICE' | 'NON_OK_RESULT_CODE_FROM_DUPLICATE_CHECK' | 'MERCHANT_CANCELLED_THE_DUPLICATE_CHECK' | 'NON_OK_RESULT_CODE_RETURNED_FROM_OFFLINE_SCREEN' | 'MERCHANT_CANCELLED_OFFLINE_PAYMENT' | 'OFFLINE_AUTH_FAILED_ON_CARD_PRESENT_REVERSAL' | 'QUICK_CHIP_TIME_OUT' | 'HANDLE_PAY_STATE' | 'HANDLE_CONTACT_REQUIRED' | 'FINALIZE' | 'HANDLE_CARD_DECLINED_TXN_STATUS' | 'MERCHANT_REASON' — Detailed Reason code.
      - `description` string — More detailed reason for voiding the transaction.
      - `descriptionEnum` string — enumeration for More detailed reason for voiding the transaction.
      - `payFailureMessage` string — Pay Failure Message.
    - `dccInfo` object — Dynamic currency conversion information.
      - `inquiryRateId` integer — Inquiry rate identifier.
      - `dccApplied` boolean — Flag indicating whether DCC was applied on this transaction.
      - `foreignCurrencyCode` string — Indicates foreign currency code.
      - `foreignAmount` integer — Indicates foreign (transaction) amount.
      - `exchangeRate` number — Exchange Rate.
      - `marginRatePercentage` string — Margin Rate Percentage.
      - `exchangeRateSourceName` string — Exchange Rate Source Name.
      - `exchangeRateSourceTimeStamp` string — Exchange Rate Source Timestamp.
      - `dccEligible` boolean — Flag indicating whether DCC was offered on this txn.
      - `exchangeRateId` string — Exchange rate from the rate request.
      - `rateRequestId` string — Rate request id from the rate request.
      - `baseAmount` integer — Amount sent for exchange in rate request.
      - `baseCurrencyCode` string — Alpha currency code for foreign currency.
    - `transactionSettings` object — Per transaction settings for the payment.
      - `cardEntryMethods` integer — Number of card entry method.
      - `disableCashBack` boolean — Indicates whether cashback is disable or not. Default: False.
      - `cloverShouldHandleReceipts` boolean — Indicates whether clover is responsible of handling receipts or not. Default: True.
      - `forcePinEntryOnSwipe` boolean — Indicates whether card pin is required or not. Default: False.
      - `disableRestartTransactionOnFailure` boolean — Indicates whether transaction should be restarted in case of failure. Default: False.
      - `allowOfflinePayment` boolean — Indicates whether offline payments is allowed or not. Default: False.
      - `approveOfflinePaymentWithoutPrompt` boolean — Indicates whether offline payment is approved without consent. Default: False.
      - `forceOfflinePayment` boolean — Indicates whether offline payment was the only option. Default: False.
      - `signatureThreshold` integer — Indicates number of signatures allowed
      - `signatureEntryLocation` 'ON_SCREEN' | 'ON_PAPER' | 'NONE' — Indicates the mode of signature. Values: On screen On paper None
      - `tipMode` 'TIP_PROVIDED' | 'ON_SCREEN_BEFORE_PAYMENT' | 'ON_SCREEN_AFTER_PAYMENT' | 'ON_PAPER' | 'NO_TIP' — Mode of tip been paid.
      - `tippableAmount` integer — Amount paid in tips.
      - `disableReceiptSelection` boolean — Indicates whether receipts are allowed or not. Default: False.
      - `disableDuplicateCheck` boolean — Indicates whether duplicates checks are required or not. Default: False.
      - `autoAcceptPaymentConfirmations` boolean — If set to true, confirmation requests triggered by a challenge at the payment gateway are automatically accepted, and confirmation requests are not transmitted back to the calling program. Be sure you are willing to accept the risk associated with accepting offline or duplicate payment challenges. See https://docs.clover.com/build/working-with-challenges for more information.
      - `autoAcceptSignature` boolean — Indicates whether auto accept signature is required or not. Default: False.
      - `returnResultOnTransactionComplete` boolean — Indicates whether confirmation result is required or not. Default: False.
      - `tipSuggestions` object[] — Indicates tip information.
        - `id` string — Unique identifier of the tip.
        - `name` string — Name of the tip.
        - `percentage` integer — Suggested tip percentage.
        - `amount` integer — Suggested tip amount.
        - `isEnabled` boolean — Indicates if the tip is enabled or not.
        - `flatTip` integer — Suggested flat tip amount.
      - `cashbackSuggestions` object[] — indicates cashback related information.
        - `amount` integer — Suggested cashback amount.
      - `regionalExtras` object — Indicates any regional information.
        - `default` string
      - `disableCreditSurcharge` boolean — Indicates whether credit surcharge is disable or not. Default: False.
      - `receiptOptions` object — Indicates the mode of receipts.
        - `default` string
      - `remoteReceipts` boolean — Indicates whether remote receipt are required or not.
    - `germanInfo` object — German region-specific information.
      - `cardTrack2` string
      - `cardSequenceNumber` string
      - `transactionCaseGermany` string
      - `transactionTypeGermany` string
      - `terminalID` string
      - `traceNumber` string
      - `oldTraceNumber` string
      - `receiptNumber` string
      - `transactionAID` string
      - `transactionMSApp` string
      - `transactionScriptResults` string
      - `receiptType` string
      - `customerTransactionDOLValues` string
      - `merchantTransactionDOLValues` string
      - `merchantJournalDOL` string
      - `merchantJournalDOLValues` string
      - `configMerchantId` string
      - `configProductLabel` string
      - `hostResponseAidParBMP53` string
      - `hostResponsePrintDataBM60` string
      - `sepaElvReceiptFormat` string
      - `sepaElvExtAppLabel` string
      - `sepaElvPreNotification` string
      - `sepaElvMandate` string
      - `sepaElvCreditorId` string
      - `sepaElvMandateId` string
      - `sepaElvIban` string
    - `appTracking` object — Tracking information for the app that created this payment.
      - `developerAppId` string — Uuid from the developer application. This is typically populated and used only on the back end.
      - `applicationName` string — Name of the developer application.
      - `applicationID` string — String representing an application.
      - `applicationVersion` string — String representing a semanticversion. See http://semver.org/
      - `sourceSDK` string — String representing a SDK.
      - `sourceSDKVersion` string — String representing a SDK. See http://semver.org/
    - `cashAdvanceExtra` object — Information specific to cash advance transactions.
      - `cashAdvanceSerialNum` string — Indicates details for advance cash been obtained.
      - `cashAdvanceCustomerIdentification` object — Indicates customer details who has obtained cash in advance.
        - `idType` 'DRIVERS_LICENSE' | 'PASSPORT' | 'US_MILITARY_ID' | 'US_RESIDENT' | 'CONSULAR_ID' | 'CANADIAN_CITIZEN' | 'US_STATE_GOVT_ID' | 'OTHER_ID'
        - `serialNumber` string — Identification serial number.
        - `maskedSerialNumber` string — Masked identification serial number.
        - `encryptedSerialNumber` string — Encrypted identification serial number.
        - `expirationDate` string — Expiration date in format MMDDYYYY.
        - `issuingState` string — State in which identification was issued.
        - `issuingCountry` string — Country in which identification was issued.
        - `customerName` string — Customer's full name.
        - `addressStreet1` string — Customer's address lane one.
        - `addressStreet2` string — Customer's address lane two.
        - `addressCity` string — Customer's city.
        - `addressState` string — Customer's state.
        - `addressZipCode` string — Customer's zip code.
        - `addressCountry` string — Customer's country.
        - `tellerID` integer — Employee identification number.
    - `transactionInfo` object — Transaction information
      - `languageIndicator` string — 2 character language used for the transaction. Deprecated in factor of transactionLocale.
      - `transactionLocale` string — Locale for the transaction (e.g. en-CA)
      - `accountSelection` 'CREDIT' | 'DEBIT' | 'CHECKING' | 'SAVINGS' — Type of account.
      - `fiscalInvoiceNumber` string — Consists of 4-digits prefix + 8-digits.
      - `installmentsQuantity` integer — Indicates number of installments.
      - `installmentsPlanCode` string — Indicates plan in the alpha numuric code.
      - `installmentsPlanId` string — Indicates selected plan identifier.
      - `installmentsPlanDesc` string — Indicates selected plan desc.
      - `cardTypeLabel` string — Card type label.
      - `cardSymbol` string — Card Symbol for identify in payment_card_config table.
      - `stan` integer — STAN(System Audit Trace Number).
      - `identityDocument` object — Customers identification number and type.
        - `id` string — Unique identifier.
        - `type` string — Type of personal identification: National Document, Passport, etc
        - `number` string — Identification number.
        - `createdTime` integer — Created timestamp.
        - `modifiedTime` integer — Modified timestamp.
        - `deletedTime` integer — Deleted timestamp.
        - `payment` object
          - `id` string — Unique identifier.
      - `batchNumber` string — Indicates transaction Batch number.
      - `receiptNumber` string — Indicates transaction Receipt number.
      - `reversalStanRefNum` string — Reversal STAN (STAN(system audit trace number) ref number.
      - `reversalStan` integer — STAN for reversal.
      - `reversalMac` string — MAC for reversal.
      - `reversalMacKsn` string — MAC KSN for reversal.
      - `terminalIdentification` string — Designates the unique location of a terminal at a merchant.
      - `externalTerminalId` string — Main internal identifier of terminal which should be the same across all Fiserv’s components.
      - `merchantIdentifier` string — When concatenated with the Acquirer Identifier, uniquely identifies a given merchant.
      - `merchantNameLocation` string — Indicates the name and location of the merchant.
      - `maskedTrack2` string — Masked track2 data.
      - `receiptExtraData` string — Extra data for receipt.
      - `selectedService` 'NONE' | 'PAYMENT' | 'REFUND' | 'CANCELLATION' | 'PRE_AUTH' | 'UPDATE_PRE_AUTH' | 'PAYMENT_COMPLETION' | 'CASH_ADVANCE' | 'DEFERRED_PAYMENT' | 'DEFERRED_PAYMENT_COMPLETION' | 'VOICE_AUTHORISATION' | 'CARDHOLDER_DETECTION' | 'TOKEN_REQUEST' | 'VERIFICATION' — Defines the Financial Service selected for the transaction.
      - `transactionResult` 'APPROVED' | 'DECLINED' | 'ABORTED' | 'VOICE_AUTHORISATION' | 'PAYMENT_PART_ONLY' | 'PARTIALLY_APPROVED' | 'NONE' — Result of the transaction.
      - `transactionTags` string — Contains a hex string with needed TLV tags for certification.
      - `txFormat` 'DEFAULT' | 'NEXO' — Contains the information how the data inside transactionTags should be coded - initially we cause default and nexo as formats.
      - `panMask` string — Contains the information how the PAN should masked.
      - `transactionSequenceCounter` string — Counter maintained by the terminal that is incremented for each transaction at the beginning of the Perform Service function.
      - `applicationPanSequenceNumber` string — Identifies and differentiates cards with the same PAN.
      - `reversalReason` 'CHIP_DECLINE' | 'CARDHOLDER_CANCELLATION' | 'COMMUNICATION_ERROR' | 'OTHER_REASON' — Contains the reason why the transaction should be reversed in the host. It has to be mapped in server with the expected value by the corresponding gateway.
      - `isTokenBasedTx` boolean — Boolean to determine if the transaction done using a vaulted card is a token based transaction.
      - `origTransactionSequenceCounter` string — For reversal and capture transactions, this contains the reference (transactionSequenceCounter) to the originating transaction.
      - `transactionSequenceCounterUpdate` string — This field is populated when the TSC of a terminal is out of sync and is provided with an update.
      - `emergencyFlag` boolean — Boolean value defining if the corresponding TX was performed in NEXO emergency mode according NEXO IS Spec chapter 10.2.
      - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — This field contains the entry type of a transaction.
      - `promotionalMessage` object
        - `message` string — Indicates promotion message.
        - `showOnMerchantReceipt` boolean — Indicates whether message should be displayed on the merchant receipt or not. Value: True False.
        - `showOnCustomerReceipt` boolean — Indicates whether message should be displayed on the customer receipt or not. Value: True False.
        - `showOnDisplay` boolean — Indicates whether message should be displayed on the disply or not. Value: True False.
      - `sepaElvTransactionInfo` object
        - `receiptFormat` string — Value of tag E1.DF8206 from NEXO config.
        - `extAppLabel` string — Value of tag E6.DF8211 or E6.DF8212 (Online or Offline TX printout).
        - `preNotification` string — Value of tag E6.DF8214 info form NEXO config.
        - `mandate` string — Value of tag E6.DF8215 info from NEXO config.
        - `creditorId` string — Value of tag E6.DF8216 info from NEXO config.
        - `mandateId` string — Generated by SPA according to ELV – TBD: use Trace number instead of receipt number.
        - `iban` string — Received in ICC related data from IPG (tag 5F53).
        - `isMerchantForced` boolean — Defines if the corresponding SEPA ELV TX was forced by the merchant (override defined limit)
      - `clientCardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Client card type should be used only limited purpose only and should not be confused with cardType in other objects. This is a read only field and must not to be overwritten on server or client once set on client. This is set on client only for MSR tx for now as the AIDs are not identified for MSR. For few MSR tx, the card type was identified incorrectly on client side, and also on server side based on the bin match. In order to get the correct card types, this client card type will be sent to the server
      - `explicitlySelectedApp` string — The app explicitly selected by the customer via the choice button.
      - `isSepaElv` boolean — Defines if the corresponding TX was performed as SEPA ELV TX.
      - `cardEntryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Defines if the corresponding TX was performed as SEPA ELV TX.
      - `printMessages` object[]
        - `destination` 'CUSTOMER_DISPLAY' | 'CUSTOMER_RECEIPT' | 'CUSTOMER_RECEIPT_AID_PARAM' | 'MERCHANT_DISPLAY' | 'MERCHANT_RECEIPT' | 'MERCHANT_RECEIPT_AID_PARAM' — Destination for the message CDSP - CustomerDisplay, CRCP - CustomerReceipt/AidParam, MDSP - MerchantDisplay, MRCP - MerchantReceipt/AidParam
        - `content` string — Contains the display and/or print message text from gateway.
    - `signatureDisclaimer` object — Information displayed to customers for storing electronic signatures.
      - `disclaimerText` string
      - `disclaimerValues` object — Values that will be substituted in standard disclaimer text (txn date/time, account number, product label, etc.
        - `default` string
    - `externalReferenceId` string — External reference identifier (ID) if associated with the payment.
    - `merchant` object
      - `id` string — Unique identifier.
    - `increments` object[] — Indicates if there is any increment in the refund amount.
      - `id` string — Unique identifier
      - `amount` integer — Amount of the incremental authorization, includes additional charges in database.
      - `cardTransaction` object
        - `cardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Type of card used for the transaction.
        - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Indicates the type of entry made for the card. For example: swiped, vaulted, scanned, and so on.
        - `first6` string — First 6-digits of the card number.
        - `last4` string — Last 4-digits of the card number.
        - `type` 'AUTH' | 'PREAUTH' | 'PREAUTHCAPTURE' | 'ADJUST' | 'VOID' | 'VOIDRETURN' | 'RETURN' | 'REFUND' | 'NAKEDREFUND' | 'GETBALANCE' | 'BATCHCLOSE' | 'ACTIVATE' | 'BALANCE_LOCK' | 'LOAD' | 'CASHOUT' | 'CASHOUT_ACTIVE_STATUS' | 'REDEMPTION' | 'REDEMPTION_UNLOCK' | 'RELOAD' | 'CASH_ADVANCE' | 'VOID_CREDIT' | 'REFUND_CREDIT' | 'INTERNET_ACTIVATE' | 'TOKEN_REQUEST' | 'VERIFICATION' — Indicates the type of transaction used by the card.
        - `authCode` string — Indicates the authorization code if successful.
        - `referenceId` string — Card transaction reference identifier.
        - `transactionNo` string — Card transaction number.
        - `state` 'PENDING' | 'CLOSED' — Indicates the status of the transaction.
        - `extra` object — Indicates extra information to be stored as part of gateway/card transaction.
          - `default` string — Indiactes any default message that will be appeared.
        - `begBalance` integer — Indicates the available balance in the card.
        - `endBalance` integer — Indicates the remaining balance in the card.
        - `avsResult` 'SUCCESS' | 'ZIP_CODE_MATCH' | 'ZIP_CODE_MATCH_ADDRESS_NOT_CHECKED' | 'ADDRESS_MATCH' | 'ADDRESS_MATCH_ZIP_NOT_CHECKED' | 'NEITHER_MATCH' | 'SERVICE_FAILURE' | 'SERVICE_UNAVAILABLE' | 'NOT_CHECKED' | 'ZIP_CODE_NOT_MATCHED_ADDRESS_NOT_CHECKED' | 'ADDRESS_NOT_MATCHED_ZIP_CODE_NOT_CHECKED' — Indicates the status of the transaction.
        - `cardholderName` string — Indicates the card holder name for which payment is to be made.
        - `token` string — Indicates the token number of the card.
        - `vaultedCard` object — Vaulted card which can be used for subsequent transactions.
          - `first6` string, required — First 6-digits of the vaulted card.
          - `last4` string, required — Last 4-digits of the vaulted card.
          - `cardholderName` string — Card holder name of the vaulted card.
          - `expirationDate` string — Expiry date of the vaulted card.
          - `token` string — Token number of the vaulted card.
        - `gatewayTxState` 'INITIATED' | 'INITIATED_ON_AUTH' | 'ACKNOWLEDGED' | 'CONNECT_FAILED' | 'TIMEOUT' | 'FAILED' | 'REVERSE_INITIATED' | 'REVERSE_INITIATED_ON_AUTH' | 'REVERSED' | 'REVERSAL_FAILED' | 'EXTERNAL' — The state as currently recorded. This differs from the legacy 'state' field. The legacy 'state' field is calculated from the 'type' field and whether the transaction was captured.
        - `currency` string — Currency code.
        - `captured` boolean — Indicates whether the transaction was captured by the gateway or not.
        - `debitRefund` object — Indicates refund parameters required for debit card refunds.
          - `debitTransactionRouteInd` string — Route of the the payment transaction.
          - `isDebitTransactionRefundable` boolean — True, if debitTransactionRouteInd is C, else, its determined by the EDS entitlement rule for D/S
      - `result` 'SUCCESS' | 'FAIL' | 'INITIATED' | 'VOIDED' | 'VOIDING' | 'VOID_FAILED' | 'AUTH' | 'AUTH_COMPLETED' | 'DISCOUNT' | 'OFFLINE_RETRYING' | 'PENDING' — Result of the incremental authorization.
      - `createdTime` integer — Created time on the server.
      - `employee` object — Employee who processed the incremental authorization.
        - `id` string — Unique identifier.
      - `incrementAmount` integer — Amount of the incremental authorization.
    - `purchaseCardL2` object — Purchase card level-2 data.
      - `taxAmount` integer — Sales tax amount.
      - `taxIndicator` 'UNKNOWN' | 'TAXABLE' | 'NON_TAXABLE' — Taxable status
      - `vatTaxAmount` integer — Tax amount for freight/shipping.
      - `vatTaxRate` integer — Tax rate on freight/shipping amount.
      - `purchaseIdentifier` string — Purchase identifier for customer/merchant.
      - `pcOrderNumber` string — Purchase card customer code.
      - `discountAmount` integer — Applied discount amount.
      - `freightAmount` integer — Freight amount.
      - `dutyAmount` integer — Duty amount.
      - `destinationPostalCode` string — Destination postal code.
      - `shipFromPostalCode` string — Ship from postal code.
      - `destinationCountryCode` string — Destination country code.
      - `merchantTaxId` string — Merchant tax id.
      - `productDescription` string — Description of the product.
    - `purchaseCardL3` object — Purchase card level-3 data.
      - `serviceCode` string — Service code extracted from the track data in Field 35. For all card types, Service code is mandatory for all merchants who directly settle through First Data.
      - `magneticStripeInd` boolean — If the card was swiped via magnetic strip reader for payment, set this indicator true. Also, serviceCode will be mandatory if this is true.
      - `level3LineItems` object[] — List of line items constituting the order using Level-3 Purchase card.
        - `itemDescription` string — Level-3 - Line Item Merchandise Description, upto 26 characters.
        - `productCode` string — Item product code.
        - `unitCost` integer — Line item price.
        - `quantity` integer — Line item quantity.
        - `discountAmount` integer — Item discount.
        - `unitOfMeasure` string — Line item unit of measure.
        - `commodityCode` string — Line item commodity code.
    - `oceanGatewayInfo` object — India-region specific Ocean Gateway information.
      - `tranSource` string — This field contains transaction source returned from Ocean as part of notification for a transaction.
      - `tranChannel` string — This field contains LPM type information returned from Ocean as part of notification for a transaction.
      - `transactionType` string — This field contains transaction type information returned from Ocean as part of notification for a transaction.
      - `merchantId` string — This field contains MerchantId returned from Ocean as part of notification for a transaction.
      - `terminalId` string — This field contains TerminalId returned from Ocean as part of notification for a transaction.
      - `tenderType` string — This field contains tender type information returned from Ocean as part of notification for a transaction.
      - `entryMethod` string — This field contains the entry method returned from Ocean as part of notification for a transaction.
      - `transactionAmount` string — This field contains the transaction amount returned from Ocean as part of notification for a transaction.
      - `transactionCurrency` string — This field contains the transaction currency returned from Ocean as part of notification for a transaction.
      - `fpTransactionId` string — This field contains the ocean generated transaction Id for a transaction.
      - `merchantTxnId` string — This field contains the payment reference id provided by clover for a transaction.
      - `fpRefundTransactionId` string — This field contains the refund transaction id returned from Ocean for a transaction.
      - `transactionStatus` string — This field contains the transaction status returned from Ocean as part of notification for a transaction.
      - `transactionStatusDescription` string — This field contains the transaction status description returned from Ocean as part of notification for a transaction.
      - `rrn` string — This field contains rrn number (reference provided by bank) returned from Ocean as part of notification for a transaction.
      - `batchNo` string — This field contains batch number returned from Ocean as part of notification for a transaction.
      - `invoiceNo` string — This field contains invoice number returned from Ocean as part of notification for a transaction.
      - `cardScheme` string — This field contains Customer LPM information returned from Ocean as part of notification for a transaction.
      - `qrType` string — This field contains qr tpe either static or dynamic information returned from Ocean as part of notification for a transaction.
      - `transactionDateTime` string — This field contains transaction completion date information returned from Ocean as part of notification for a transaction.
      - `authCode` string — This field contains authorization Code returned from Ocean as part of notification for a transaction.
      - `pan` string — This field contains pan information like masked virtual payment address,vehicle info,userId returned from Ocean as part of notification for a transaction.
      - `customerMobile` string — This field contains customer mobile info returned from Ocean as part of notification for a transaction.
      - `customerName` string — This field contains customer name returned from Ocean as part of notification for a transaction.
      - `customerRemarks` string — This field contains customer remarks returned from Ocean as part of notification for a transaction.
      - `bankName` string — This field contains name of the bank returned from Ocean as part of notification for a transaction.
      - `bankCode` string — This field contains bank code returned from Ocean as part of notification for a transaction.
      - `emiDetails` object — This field indicates the EMI details of a customer returned from Ocean as part of notification for a transaction.
        - `lenderName` string — This field contains the equated monthly installment (EMI) lender name.
        - `tenure` string — This field contains total EMI tenure.
        - `interestRate` string — This field contains interest rate charged as part of EMI.
        - `interest` string — This field contains interest amount charged as part of EMI.
        - `emiAmount` string — This field contains EMI amount per month.
        - `lenderLoanId` string — This field contains lender loan id for the EMI.
        - `fees` string — This field contains processing fee charged for EMI.
        - `discountAmount` string — This field contains discount amount provided for EMI.
        - `offerCashback` string — This field contains offer cashback amount provided for EMI.
        - `tranAmount` string — This field contains total transaction amount.
        - `totalPayable` string — This field contains total payable amount which is total EMI with interest.
    - `terminalManagementComponents` object[] — Terminal management components as defined by nexo standards that contain general information on the terminal, the installed payment app, and so on.
      - `type` 'ACQUIRER_PROTOCOL_PARAMS' | 'APPLICATION_PARAMS' | 'TERMINAL_PARAMS' | 'SECURITY_PARAMS' | 'SERVER' | 'TERMINAL' | 'DEVICE' | 'SECURE_MODULE' | 'PAYMENT_APPLICATION' | 'EMV_KERNEL' | 'EMV_LEVEL1' | 'MIDDLEWARE' | 'DRIVER' | 'OPERATING_SYSTEM' | 'MERCHANT_PARAMS' | 'CERTIFICATE_PARAMS' | 'TMS_PROTOCOL_PARAMS' — Application type of terminal management components.
      - `itemNumber` string — Item number of components.
      - `provider` string — Provider of components.
      - `serial` string — Serial number of components.
      - `version` string — Version of components.
      - `identification` string — Identification number of components.
      - `standard` object — Standard and assessment information for the component.
        - `component` string — Component standard, for example, C-2.
        - `identification` string — Standard identifier, for example, EMV ICC Specifications.
        - `version` string — Standard version.
        - `issuer` string — Standard issuer.
        - `type` string — Assessment type for the standard.
        - `assigner` string — Assessment assigner.
        - `assessmentIdentifier` string — Approval number or other identifier for the assessment.
    - `emiInfo` object — Associated equated monthly installment (EMI) information.
      - `mobileNumber` string — Customer’s mobile number.
      - `indicator` string — EMI Indicator
      - `transactionAmount` integer — Indicates trasnsaction amount.
      - `productAmount` integer — Full product amount (without discount).
      - `discountAmount` integer — Discount offered for the product.
      - `tenure` integer — Tenure in months.
      - `interestRate` number — Indicates the interest rate on the EMI.
      - `interestAmount` integer — Indicates the interest amount on the EMI.
      - `processingFee` integer — Indicates the processing fee applicable for the EMI transaction.
      - `totalAmount` integer — Total amount to be paid by a customer, i.e., EMI per month mutliply by Tenure.
      - `amountPerMonth` integer — Transaction amount per month.
  - `refunds` object[] — Refunds that were made for this order.
    - `id` string — Unique identifier of the refund.
    - `orderRef` object — Reference number of the order with which the refund is associated.
      - `id` string — Unique identifier.
    - `device` object — Device which processed the transaction for this refund, a 128-bit UUID, not a normal base-13 Clover ID.
      - `id` string — Unique identifier.
    - `amount` integer — Total amount refunded, including tax and tip
    - `taxAmount` integer — Tax amount refunded.
    - `tipAmount` integer — Tip amount refunded.
    - `createdTime` integer — Time when the refund was recorded on the server.
    - `clientCreatedTime` integer — Time when the refund was recorded on the client.
    - `gatewayProcessingTime` integer — Time when the refund was processed by the payment gateway.
    - `payment` object — Payment with which the refund is associated.
      - `id` string — Unique identifier.
    - `employee` object
      - `id` string — Unique identifier.
    - `lineItems` object[]
      - `id` string — Unique identifier.
    - `overrideMerchantTender` object — Tender type associated with this payment, for example, credit card, cash, and so on.
      - `id` string — Unique identifier.
      - `editable` boolean — If this merchant tender is editable.
      - `labelKey` string — Label Key.
      - `label` string — Label Key.
      - `opensCashDrawer` boolean — Indicates that tender is opening the cash drawer.
      - `supportsTipping` boolean — Allow tipping on payment from tender.
      - `enabled` boolean — Indicates that merchant tender is enabled.
      - `visible` boolean — Indicates that merchant tender is visible.
      - `instructions` string — Instructions for how to process tender.
    - `taxableAmountRates` object[]
      - `id` string — Tax rate identifier.
      - `name` string — Tax rate name. This field is optional.
      - `taxableAmount` integer — Sub-total of line items on which the tax was based. For value-added tax (VAT), this amount includes the tax. For all others, this amount does not include tax.
      - `rate` integer — Tax rate. 100% = 1e7 or 1 followed by 7 zeros.
      - `isVat` boolean — Whether the taxable amount includes tax.
      - `taxAmount` integer — The amount of tax collected. In cases where there are multiple payments for an order then it may be necessary to add an extra cent of tax to the last payment.
      - `transactionRef` object — The refund with which the tax rate is associated.
        - `id` string — Unique identifier.
    - `serviceChargeAmount` object
      - `id` string — Service charge identifier.
      - `name` string — Indicates the name of the service charge applicable.
      - `amount` integer — Amount of the service charge.
    - `additionalCharges` object[]
      - `id` string — Additional charge identifier.
      - `amount` integer — Amount of the additional charge.
      - `rate` integer — Percent rate of the additional charge times 10000.
      - `type` 'INTERAC' | 'CREDIT_SURCHARGE' | 'CONVENIENCE_FEE' | 'INTERAC_V2' | 'DELIVERY_FEE' — Type of the additional charge.
    - `attributes` object — Indicates the attributes if any.
      - `default` string — Indicates the default value of attributes.
    - `germanInfo` object — German region-specific information.
      - `cardTrack2` string
      - `cardSequenceNumber` string
      - `transactionCaseGermany` string
      - `transactionTypeGermany` string
      - `terminalID` string
      - `traceNumber` string
      - `oldTraceNumber` string
      - `receiptNumber` string
      - `transactionAID` string
      - `transactionMSApp` string
      - `transactionScriptResults` string
      - `receiptType` string
      - `customerTransactionDOLValues` string
      - `merchantTransactionDOLValues` string
      - `merchantJournalDOL` string
      - `merchantJournalDOLValues` string
      - `configMerchantId` string
      - `configProductLabel` string
      - `hostResponseAidParBMP53` string
      - `hostResponsePrintDataBM60` string
      - `sepaElvReceiptFormat` string
      - `sepaElvExtAppLabel` string
      - `sepaElvPreNotification` string
      - `sepaElvMandate` string
      - `sepaElvCreditorId` string
      - `sepaElvMandateId` string
      - `sepaElvIban` string
    - `appTracking` object — Tracking information for the app that created this refund.
      - `developerAppId` string — Uuid from the developer application. This is typically populated and used only on the back end.
      - `applicationName` string — Name of the developer application.
      - `applicationID` string — String representing an application.
      - `applicationVersion` string — String representing a semanticversion. See http://semver.org/
      - `sourceSDK` string — String representing a SDK.
      - `sourceSDKVersion` string — String representing a SDK. See http://semver.org/
    - `voided` boolean — Indicates voided information.
    - `voidReason` string — Indicates reason of voided.
    - `cardTransaction` object — Information about the card used for credit or debit card refunds
      - `cardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Type of card used for the transaction.
      - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Indicates the type of entry made for the card. For example: swiped, vaulted, scanned, and so on.
      - `first6` string — First 6-digits of the card number.
      - `last4` string — Last 4-digits of the card number.
      - `type` 'AUTH' | 'PREAUTH' | 'PREAUTHCAPTURE' | 'ADJUST' | 'VOID' | 'VOIDRETURN' | 'RETURN' | 'REFUND' | 'NAKEDREFUND' | 'GETBALANCE' | 'BATCHCLOSE' | 'ACTIVATE' | 'BALANCE_LOCK' | 'LOAD' | 'CASHOUT' | 'CASHOUT_ACTIVE_STATUS' | 'REDEMPTION' | 'REDEMPTION_UNLOCK' | 'RELOAD' | 'CASH_ADVANCE' | 'VOID_CREDIT' | 'REFUND_CREDIT' | 'INTERNET_ACTIVATE' | 'TOKEN_REQUEST' | 'VERIFICATION' — Indicates the type of transaction used by the card.
      - `authCode` string — Indicates the authorization code if successful.
      - `referenceId` string — Card transaction reference identifier.
      - `transactionNo` string — Card transaction number.
      - `state` 'PENDING' | 'CLOSED' — Indicates the status of the transaction.
      - `extra` object — Indicates extra information to be stored as part of gateway/card transaction.
        - `default` string — Indiactes any default message that will be appeared.
      - `begBalance` integer — Indicates the available balance in the card.
      - `endBalance` integer — Indicates the remaining balance in the card.
      - `avsResult` 'SUCCESS' | 'ZIP_CODE_MATCH' | 'ZIP_CODE_MATCH_ADDRESS_NOT_CHECKED' | 'ADDRESS_MATCH' | 'ADDRESS_MATCH_ZIP_NOT_CHECKED' | 'NEITHER_MATCH' | 'SERVICE_FAILURE' | 'SERVICE_UNAVAILABLE' | 'NOT_CHECKED' | 'ZIP_CODE_NOT_MATCHED_ADDRESS_NOT_CHECKED' | 'ADDRESS_NOT_MATCHED_ZIP_CODE_NOT_CHECKED' — Indicates the status of the transaction.
      - `cardholderName` string — Indicates the card holder name for which payment is to be made.
      - `token` string — Indicates the token number of the card.
      - `vaultedCard` object — Vaulted card which can be used for subsequent transactions.
        - `first6` string, required — First 6-digits of the vaulted card.
        - `last4` string, required — Last 4-digits of the vaulted card.
        - `cardholderName` string — Card holder name of the vaulted card.
        - `expirationDate` string — Expiry date of the vaulted card.
        - `token` string — Token number of the vaulted card.
      - `gatewayTxState` 'INITIATED' | 'INITIATED_ON_AUTH' | 'ACKNOWLEDGED' | 'CONNECT_FAILED' | 'TIMEOUT' | 'FAILED' | 'REVERSE_INITIATED' | 'REVERSE_INITIATED_ON_AUTH' | 'REVERSED' | 'REVERSAL_FAILED' | 'EXTERNAL' — The state as currently recorded. This differs from the legacy 'state' field. The legacy 'state' field is calculated from the 'type' field and whether the transaction was captured.
      - `currency` string — Currency code.
      - `captured` boolean — Indicates whether the transaction was captured by the gateway or not.
      - `debitRefund` object — Indicates refund parameters required for debit card refunds.
        - `debitTransactionRouteInd` string — Route of the the payment transaction.
        - `isDebitTransactionRefundable` boolean — True, if debitTransactionRouteInd is C, else, its determined by the EDS entitlement rule for D/S
    - `transactionInfo` object — Transaction information.
      - `languageIndicator` string — 2 character language used for the transaction. Deprecated in factor of transactionLocale.
      - `transactionLocale` string — Locale for the transaction (e.g. en-CA)
      - `accountSelection` 'CREDIT' | 'DEBIT' | 'CHECKING' | 'SAVINGS' — Type of account.
      - `fiscalInvoiceNumber` string — Consists of 4-digits prefix + 8-digits.
      - `installmentsQuantity` integer — Indicates number of installments.
      - `installmentsPlanCode` string — Indicates plan in the alpha numuric code.
      - `installmentsPlanId` string — Indicates selected plan identifier.
      - `installmentsPlanDesc` string — Indicates selected plan desc.
      - `cardTypeLabel` string — Card type label.
      - `cardSymbol` string — Card Symbol for identify in payment_card_config table.
      - `stan` integer — STAN(System Audit Trace Number).
      - `identityDocument` object — Customers identification number and type.
        - `id` string — Unique identifier.
        - `type` string — Type of personal identification: National Document, Passport, etc
        - `number` string — Identification number.
        - `createdTime` integer — Created timestamp.
        - `modifiedTime` integer — Modified timestamp.
        - `deletedTime` integer — Deleted timestamp.
        - `payment` object
          - `id` string — Unique identifier.
      - `batchNumber` string — Indicates transaction Batch number.
      - `receiptNumber` string — Indicates transaction Receipt number.
      - `reversalStanRefNum` string — Reversal STAN (STAN(system audit trace number) ref number.
      - `reversalStan` integer — STAN for reversal.
      - `reversalMac` string — MAC for reversal.
      - `reversalMacKsn` string — MAC KSN for reversal.
      - `terminalIdentification` string — Designates the unique location of a terminal at a merchant.
      - `externalTerminalId` string — Main internal identifier of terminal which should be the same across all Fiserv’s components.
      - `merchantIdentifier` string — When concatenated with the Acquirer Identifier, uniquely identifies a given merchant.
      - `merchantNameLocation` string — Indicates the name and location of the merchant.
      - `maskedTrack2` string — Masked track2 data.
      - `receiptExtraData` string — Extra data for receipt.
      - `selectedService` 'NONE' | 'PAYMENT' | 'REFUND' | 'CANCELLATION' | 'PRE_AUTH' | 'UPDATE_PRE_AUTH' | 'PAYMENT_COMPLETION' | 'CASH_ADVANCE' | 'DEFERRED_PAYMENT' | 'DEFERRED_PAYMENT_COMPLETION' | 'VOICE_AUTHORISATION' | 'CARDHOLDER_DETECTION' | 'TOKEN_REQUEST' | 'VERIFICATION' — Defines the Financial Service selected for the transaction.
      - `transactionResult` 'APPROVED' | 'DECLINED' | 'ABORTED' | 'VOICE_AUTHORISATION' | 'PAYMENT_PART_ONLY' | 'PARTIALLY_APPROVED' | 'NONE' — Result of the transaction.
      - `transactionTags` string — Contains a hex string with needed TLV tags for certification.
      - `txFormat` 'DEFAULT' | 'NEXO' — Contains the information how the data inside transactionTags should be coded - initially we cause default and nexo as formats.
      - `panMask` string — Contains the information how the PAN should masked.
      - `transactionSequenceCounter` string — Counter maintained by the terminal that is incremented for each transaction at the beginning of the Perform Service function.
      - `applicationPanSequenceNumber` string — Identifies and differentiates cards with the same PAN.
      - `reversalReason` 'CHIP_DECLINE' | 'CARDHOLDER_CANCELLATION' | 'COMMUNICATION_ERROR' | 'OTHER_REASON' — Contains the reason why the transaction should be reversed in the host. It has to be mapped in server with the expected value by the corresponding gateway.
      - `isTokenBasedTx` boolean — Boolean to determine if the transaction done using a vaulted card is a token based transaction.
      - `origTransactionSequenceCounter` string — For reversal and capture transactions, this contains the reference (transactionSequenceCounter) to the originating transaction.
      - `transactionSequenceCounterUpdate` string — This field is populated when the TSC of a terminal is out of sync and is provided with an update.
      - `emergencyFlag` boolean — Boolean value defining if the corresponding TX was performed in NEXO emergency mode according NEXO IS Spec chapter 10.2.
      - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — This field contains the entry type of a transaction.
      - `promotionalMessage` object
        - `message` string — Indicates promotion message.
        - `showOnMerchantReceipt` boolean — Indicates whether message should be displayed on the merchant receipt or not. Value: True False.
        - `showOnCustomerReceipt` boolean — Indicates whether message should be displayed on the customer receipt or not. Value: True False.
        - `showOnDisplay` boolean — Indicates whether message should be displayed on the disply or not. Value: True False.
      - `sepaElvTransactionInfo` object
        - `receiptFormat` string — Value of tag E1.DF8206 from NEXO config.
        - `extAppLabel` string — Value of tag E6.DF8211 or E6.DF8212 (Online or Offline TX printout).
        - `preNotification` string — Value of tag E6.DF8214 info form NEXO config.
        - `mandate` string — Value of tag E6.DF8215 info from NEXO config.
        - `creditorId` string — Value of tag E6.DF8216 info from NEXO config.
        - `mandateId` string — Generated by SPA according to ELV – TBD: use Trace number instead of receipt number.
        - `iban` string — Received in ICC related data from IPG (tag 5F53).
        - `isMerchantForced` boolean — Defines if the corresponding SEPA ELV TX was forced by the merchant (override defined limit)
      - `clientCardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Client card type should be used only limited purpose only and should not be confused with cardType in other objects. This is a read only field and must not to be overwritten on server or client once set on client. This is set on client only for MSR tx for now as the AIDs are not identified for MSR. For few MSR tx, the card type was identified incorrectly on client side, and also on server side based on the bin match. In order to get the correct card types, this client card type will be sent to the server
      - `explicitlySelectedApp` string — The app explicitly selected by the customer via the choice button.
      - `isSepaElv` boolean — Defines if the corresponding TX was performed as SEPA ELV TX.
      - `cardEntryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Defines if the corresponding TX was performed as SEPA ELV TX.
      - `printMessages` object[]
        - `destination` 'CUSTOMER_DISPLAY' | 'CUSTOMER_RECEIPT' | 'CUSTOMER_RECEIPT_AID_PARAM' | 'MERCHANT_DISPLAY' | 'MERCHANT_RECEIPT' | 'MERCHANT_RECEIPT_AID_PARAM' — Destination for the message CDSP - CustomerDisplay, CRCP - CustomerReceipt/AidParam, MDSP - MerchantDisplay, MRCP - MerchantReceipt/AidParam
        - `content` string — Contains the display and/or print message text from gateway.
    - `merchant` object
      - `id` string — Unique identifier.
    - `externalReferenceId` string — External reference identifier, if associated with the refund.
    - `authCode` string — Authorization code generated by the acquirer.
    - `status` 'FAIL' | 'SUCCESS' | 'PENDING' — Status of the refund. It can be Fail/Success/Pending.
    - `oceanGatewayInfo` object — India-region specific Ocean Gateway information.
      - `tranSource` string — This field contains transaction source returned from Ocean as part of notification for a transaction.
      - `tranChannel` string — This field contains LPM type information returned from Ocean as part of notification for a transaction.
      - `transactionType` string — This field contains transaction type information returned from Ocean as part of notification for a transaction.
      - `merchantId` string — This field contains MerchantId returned from Ocean as part of notification for a transaction.
      - `terminalId` string — This field contains TerminalId returned from Ocean as part of notification for a transaction.
      - `tenderType` string — This field contains tender type information returned from Ocean as part of notification for a transaction.
      - `entryMethod` string — This field contains the entry method returned from Ocean as part of notification for a transaction.
      - `transactionAmount` string — This field contains the transaction amount returned from Ocean as part of notification for a transaction.
      - `transactionCurrency` string — This field contains the transaction currency returned from Ocean as part of notification for a transaction.
      - `fpTransactionId` string — This field contains the ocean generated transaction Id for a transaction.
      - `merchantTxnId` string — This field contains the payment reference id provided by clover for a transaction.
      - `fpRefundTransactionId` string — This field contains the refund transaction id returned from Ocean for a transaction.
      - `transactionStatus` string — This field contains the transaction status returned from Ocean as part of notification for a transaction.
      - `transactionStatusDescription` string — This field contains the transaction status description returned from Ocean as part of notification for a transaction.
      - `rrn` string — This field contains rrn number (reference provided by bank) returned from Ocean as part of notification for a transaction.
      - `batchNo` string — This field contains batch number returned from Ocean as part of notification for a transaction.
      - `invoiceNo` string — This field contains invoice number returned from Ocean as part of notification for a transaction.
      - `cardScheme` string — This field contains Customer LPM information returned from Ocean as part of notification for a transaction.
      - `qrType` string — This field contains qr tpe either static or dynamic information returned from Ocean as part of notification for a transaction.
      - `transactionDateTime` string — This field contains transaction completion date information returned from Ocean as part of notification for a transaction.
      - `authCode` string — This field contains authorization Code returned from Ocean as part of notification for a transaction.
      - `pan` string — This field contains pan information like masked virtual payment address,vehicle info,userId returned from Ocean as part of notification for a transaction.
      - `customerMobile` string — This field contains customer mobile info returned from Ocean as part of notification for a transaction.
      - `customerName` string — This field contains customer name returned from Ocean as part of notification for a transaction.
      - `customerRemarks` string — This field contains customer remarks returned from Ocean as part of notification for a transaction.
      - `bankName` string — This field contains name of the bank returned from Ocean as part of notification for a transaction.
      - `bankCode` string — This field contains bank code returned from Ocean as part of notification for a transaction.
      - `emiDetails` object — This field indicates the EMI details of a customer returned from Ocean as part of notification for a transaction.
        - `lenderName` string — This field contains the equated monthly installment (EMI) lender name.
        - `tenure` string — This field contains total EMI tenure.
        - `interestRate` string — This field contains interest rate charged as part of EMI.
        - `interest` string — This field contains interest amount charged as part of EMI.
        - `emiAmount` string — This field contains EMI amount per month.
        - `lenderLoanId` string — This field contains lender loan id for the EMI.
        - `fees` string — This field contains processing fee charged for EMI.
        - `discountAmount` string — This field contains discount amount provided for EMI.
        - `offerCashback` string — This field contains offer cashback amount provided for EMI.
        - `tranAmount` string — This field contains total transaction amount.
        - `totalPayable` string — This field contains total payable amount which is total EMI with interest.
    - `reason` string — Reason why the refund initiated.
  - `credits` object[] — Credits associated with this order.
    - `id` string — Unique identifier
    - `orderRef` object — The order with which the credit is associated.
      - `id` string — Unique identifier.
    - `device` object — Device which processed this credit, a 128-bit UUID, not a normal base-13 Clover ID.
      - `id` string — Unique identifier.
    - `tender` object — Tender type associated with this payment, for example, credit card, cash, and so on.
      - `id` string — Unique identifier.
      - `editable` boolean — If this merchant tender is editable.
      - `labelKey` string — Label Key.
      - `label` string — Label Key.
      - `opensCashDrawer` boolean — Indicates that tender is opening the cash drawer.
      - `supportsTipping` boolean — Allow tipping on payment from tender.
      - `enabled` boolean — Indicates that merchant tender is enabled.
      - `visible` boolean — Indicates that merchant tender is visible.
      - `instructions` string — Instructions for how to process tender.
    - `employee` object — The employee who processed the payment
      - `id` string — Unique identifier.
    - `customers` object — Customer who received the credit/refund
      - `id` string — Unique identifier.
      - `merchant` object — Merchant associated with this customer.
        - `id` string — Unique identifier.
      - `firstName` string — First/given name of the customer. Note: Length of first name cannot be more than 64 characters.
      - `lastName` string — Last name/surname of the customer. Note: Length of last name cannot be more than 64 characters.
      - `marketingAllowed` boolean — Indicates if the customer allows receiving of marketing communication.
      - `customerSince` integer — Date of start of customer association with the merchant.
      - `orders` object[] — Customer's orders.
        - `id` string — Unique identifier.
      - `addresses` object[] — Customer's address. Note: Address cannot be null and should not be more than 127 characters long.
        - `address1` string — Customer's address, line one.
        - `address2` string — Customer's address, line two.
        - `address3` string — Customer's address, line three.
        - `city` string — Customer's city.
        - `country` string — Customer's country.
        - `state` string — Customer's state.
        - `zip` string — Postal code of the customer's address.
      - `emailAddresses` object[] — Customer's email address.
        - `id` string — Email identifier of the customer.
        - `emailAddress` string, required — Email address of the customer. Note: A valid email address is required. . Email address domains are validated using the [Apache Domain Validator](https://commons.apache.org/proper/commons-validator/apidocs/org/apache/commons/validator/routines/DomainValidator.html). . Customer email addresses are validated using the [Apache Email Validator](https://commons.apache.org/proper/commons-validator/apidocs/org/apache/commons/validator/routines/EmailValidator.html).
        - `verifiedTime` integer — Time when the customer's email address was verified as valid.
        - `primaryEmail` boolean — Customer's primary email address.
        - `customer` object — Name of the customer who provided the email address.
          - `id` string — Unique identifier.
      - `phoneNumbers` object[] — Customer's phone numbers.
        - `id` string — Phone number identifier.
        - `phoneNumber` string, required — Customer's phone number.
        - `customer` object — Customer name associated with the phone number.
          - `id` string — Unique identifier.
      - `cards` object[] — Customer's card details.
        - `id` string — Card identifier.
        - `first6` string, required — First 6 digits of the customer's card.
        - `last4` string, required — last 4 digits of the customer's card.
        - `firstName` string — First name on the customer's card.
        - `lastName` string — Last name on the customer's card.
        - `expirationDate` string — Expiry date of the customer's card.
        - `additionalInfo` object — Additional information for the customer's card.
          - `default` string
        - `cardType` string — Customer's card type.
        - `token` string — Customer's card token number. Note: Token length cannot be more than 72 characters.
        - `tokenType` 'MULTIPAY' | 'FINANCIAL' | 'CTOKEN' — Customer's card token type.
        - `modifiedTime` integer — Time when the card was last updated.
        - `customer` object — Customer who this card belongs to.
          - `id` string — Unique identifier.
      - `metadata` object — Additional information about the customer.
        - `businessName` string — Name of customer's business. Note: Length of the business name cannot be more than 127 characters.
        - `note` string — Additional information about the customer. Note: Length of the note cannot be more than 2000 characters.
        - `dobYear` integer — Optional. Year of the customer’s date of birth.
        - `dobMonth` integer — Month of the customer’s date of birth.
        - `dobDay` integer — Day of the customer’s date of birth.
        - `modifiedTime` integer — Time when the customer data was last updated.
        - `customer` object — Customer for whom the metadata is saved.
          - `id` string — Unique identifier.
    - `amount` integer — Amount paid
    - `taxAmount` integer — Amount paid in tax
    - `taxRates` object[]
      - `id` string — Tax rate identifier.
      - `name` string — Tax rate name. This field is optional.
      - `taxableAmount` integer — Sub-total of line items on which the tax was based. For value-added tax (VAT), this amount includes the tax. For all others, this amount does not include tax.
      - `rate` integer — Tax rate. 100% = 1e7 or 1 followed by 7 zeros.
      - `isVat` boolean — Whether the taxable amount includes tax.
      - `taxAmount` integer — The amount of tax collected. In cases where there are multiple payments for an order then it may be necessary to add an extra cent of tax to the last payment.
      - `transactionRef` object — The refund with which the tax rate is associated.
        - `id` string — Unique identifier.
    - `createdTime` integer — Time payment was recorded on server
    - `clientCreatedTime` integer
    - `cardTransaction` object — Information about the card used for credit or debit card payments.
      - `cardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Type of card used for the transaction.
      - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Indicates the type of entry made for the card. For example: swiped, vaulted, scanned, and so on.
      - `first6` string — First 6-digits of the card number.
      - `last4` string — Last 4-digits of the card number.
      - `type` 'AUTH' | 'PREAUTH' | 'PREAUTHCAPTURE' | 'ADJUST' | 'VOID' | 'VOIDRETURN' | 'RETURN' | 'REFUND' | 'NAKEDREFUND' | 'GETBALANCE' | 'BATCHCLOSE' | 'ACTIVATE' | 'BALANCE_LOCK' | 'LOAD' | 'CASHOUT' | 'CASHOUT_ACTIVE_STATUS' | 'REDEMPTION' | 'REDEMPTION_UNLOCK' | 'RELOAD' | 'CASH_ADVANCE' | 'VOID_CREDIT' | 'REFUND_CREDIT' | 'INTERNET_ACTIVATE' | 'TOKEN_REQUEST' | 'VERIFICATION' — Indicates the type of transaction used by the card.
      - `authCode` string — Indicates the authorization code if successful.
      - `referenceId` string — Card transaction reference identifier.
      - `transactionNo` string — Card transaction number.
      - `state` 'PENDING' | 'CLOSED' — Indicates the status of the transaction.
      - `extra` object — Indicates extra information to be stored as part of gateway/card transaction.
        - `default` string — Indiactes any default message that will be appeared.
      - `begBalance` integer — Indicates the available balance in the card.
      - `endBalance` integer — Indicates the remaining balance in the card.
      - `avsResult` 'SUCCESS' | 'ZIP_CODE_MATCH' | 'ZIP_CODE_MATCH_ADDRESS_NOT_CHECKED' | 'ADDRESS_MATCH' | 'ADDRESS_MATCH_ZIP_NOT_CHECKED' | 'NEITHER_MATCH' | 'SERVICE_FAILURE' | 'SERVICE_UNAVAILABLE' | 'NOT_CHECKED' | 'ZIP_CODE_NOT_MATCHED_ADDRESS_NOT_CHECKED' | 'ADDRESS_NOT_MATCHED_ZIP_CODE_NOT_CHECKED' — Indicates the status of the transaction.
      - `cardholderName` string — Indicates the card holder name for which payment is to be made.
      - `token` string — Indicates the token number of the card.
      - `vaultedCard` object — Vaulted card which can be used for subsequent transactions.
        - `first6` string, required — First 6-digits of the vaulted card.
        - `last4` string, required — Last 4-digits of the vaulted card.
        - `cardholderName` string — Card holder name of the vaulted card.
        - `expirationDate` string — Expiry date of the vaulted card.
        - `token` string — Token number of the vaulted card.
      - `gatewayTxState` 'INITIATED' | 'INITIATED_ON_AUTH' | 'ACKNOWLEDGED' | 'CONNECT_FAILED' | 'TIMEOUT' | 'FAILED' | 'REVERSE_INITIATED' | 'REVERSE_INITIATED_ON_AUTH' | 'REVERSED' | 'REVERSAL_FAILED' | 'EXTERNAL' — The state as currently recorded. This differs from the legacy 'state' field. The legacy 'state' field is calculated from the 'type' field and whether the transaction was captured.
      - `currency` string — Currency code.
      - `captured` boolean — Indicates whether the transaction was captured by the gateway or not.
      - `debitRefund` object — Indicates refund parameters required for debit card refunds.
        - `debitTransactionRouteInd` string — Route of the the payment transaction.
        - `isDebitTransactionRefundable` boolean — True, if debitTransactionRouteInd is C, else, its determined by the EDS entitlement rule for D/S
    - `voided` boolean
    - `voidReason` string
    - `dccInfo` object — Dynamic currency conversion information.
      - `inquiryRateId` integer — Inquiry rate identifier.
      - `dccApplied` boolean — Flag indicating whether DCC was applied on this transaction.
      - `foreignCurrencyCode` string — Indicates foreign currency code.
      - `foreignAmount` integer — Indicates foreign (transaction) amount.
      - `exchangeRate` number — Exchange Rate.
      - `marginRatePercentage` string — Margin Rate Percentage.
      - `exchangeRateSourceName` string — Exchange Rate Source Name.
      - `exchangeRateSourceTimeStamp` string — Exchange Rate Source Timestamp.
      - `dccEligible` boolean — Flag indicating whether DCC was offered on this txn.
      - `exchangeRateId` string — Exchange rate from the rate request.
      - `rateRequestId` string — Rate request id from the rate request.
      - `baseAmount` integer — Amount sent for exchange in rate request.
      - `baseCurrencyCode` string — Alpha currency code for foreign currency.
    - `transactionSettings` object — Per transaction settings for the payment.
      - `cardEntryMethods` integer — Number of card entry method.
      - `disableCashBack` boolean — Indicates whether cashback is disable or not. Default: False.
      - `cloverShouldHandleReceipts` boolean — Indicates whether clover is responsible of handling receipts or not. Default: True.
      - `forcePinEntryOnSwipe` boolean — Indicates whether card pin is required or not. Default: False.
      - `disableRestartTransactionOnFailure` boolean — Indicates whether transaction should be restarted in case of failure. Default: False.
      - `allowOfflinePayment` boolean — Indicates whether offline payments is allowed or not. Default: False.
      - `approveOfflinePaymentWithoutPrompt` boolean — Indicates whether offline payment is approved without consent. Default: False.
      - `forceOfflinePayment` boolean — Indicates whether offline payment was the only option. Default: False.
      - `signatureThreshold` integer — Indicates number of signatures allowed
      - `signatureEntryLocation` 'ON_SCREEN' | 'ON_PAPER' | 'NONE' — Indicates the mode of signature. Values: On screen On paper None
      - `tipMode` 'TIP_PROVIDED' | 'ON_SCREEN_BEFORE_PAYMENT' | 'ON_SCREEN_AFTER_PAYMENT' | 'ON_PAPER' | 'NO_TIP' — Mode of tip been paid.
      - `tippableAmount` integer — Amount paid in tips.
      - `disableReceiptSelection` boolean — Indicates whether receipts are allowed or not. Default: False.
      - `disableDuplicateCheck` boolean — Indicates whether duplicates checks are required or not. Default: False.
      - `autoAcceptPaymentConfirmations` boolean — If set to true, confirmation requests triggered by a challenge at the payment gateway are automatically accepted, and confirmation requests are not transmitted back to the calling program. Be sure you are willing to accept the risk associated with accepting offline or duplicate payment challenges. See https://docs.clover.com/build/working-with-challenges for more information.
      - `autoAcceptSignature` boolean — Indicates whether auto accept signature is required or not. Default: False.
      - `returnResultOnTransactionComplete` boolean — Indicates whether confirmation result is required or not. Default: False.
      - `tipSuggestions` object[] — Indicates tip information.
        - `id` string — Unique identifier of the tip.
        - `name` string — Name of the tip.
        - `percentage` integer — Suggested tip percentage.
        - `amount` integer — Suggested tip amount.
        - `isEnabled` boolean — Indicates if the tip is enabled or not.
        - `flatTip` integer — Suggested flat tip amount.
      - `cashbackSuggestions` object[] — indicates cashback related information.
        - `amount` integer — Suggested cashback amount.
      - `regionalExtras` object — Indicates any regional information.
        - `default` string
      - `disableCreditSurcharge` boolean — Indicates whether credit surcharge is disable or not. Default: False.
      - `receiptOptions` object — Indicates the mode of receipts.
        - `default` string
      - `remoteReceipts` boolean — Indicates whether remote receipt are required or not.
    - `creditRefunds` object[]
      - `id` string — Unique identifier
      - `orderRef` object — Order with which the refund is associated.
        - `id` string — Unique identifier.
      - `device` object — Device which processed the transaction for this refund, a 128-bit UUID, not a normal base-13 Clover ID.
        - `id` string — Unique identifier.
      - `createdTime` integer — Time when the refund was recorded on the server.
      - `clientCreatedTime` integer — Time when the refund was recorded on the client
      - `credit` object — The credit with which the credit refund is associated
        - `id` string — Unique identifier.
      - `employee` object
        - `id` string — Unique identifier.
      - `germanInfo` object — German region-specific information
        - `cardTrack2` string
        - `cardSequenceNumber` string
        - `transactionCaseGermany` string
        - `transactionTypeGermany` string
        - `terminalID` string
        - `traceNumber` string
        - `oldTraceNumber` string
        - `receiptNumber` string
        - `transactionAID` string
        - `transactionMSApp` string
        - `transactionScriptResults` string
        - `receiptType` string
        - `customerTransactionDOLValues` string
        - `merchantTransactionDOLValues` string
        - `merchantJournalDOL` string
        - `merchantJournalDOLValues` string
        - `configMerchantId` string
        - `configProductLabel` string
        - `hostResponseAidParBMP53` string
        - `hostResponsePrintDataBM60` string
        - `sepaElvReceiptFormat` string
        - `sepaElvExtAppLabel` string
        - `sepaElvPreNotification` string
        - `sepaElvMandate` string
        - `sepaElvCreditorId` string
        - `sepaElvMandateId` string
        - `sepaElvIban` string
      - `appTracking` object — Tracking information for the app that created this payment.
        - `developerAppId` string — Uuid from the developer application. This is typically populated and used only on the back end.
        - `applicationName` string — Name of the developer application.
        - `applicationID` string — String representing an application.
        - `applicationVersion` string — String representing a semanticversion. See http://semver.org/
        - `sourceSDK` string — String representing a SDK.
        - `sourceSDKVersion` string — String representing a SDK. See http://semver.org/
      - `transactionInfo` object — Transaction information
        - `languageIndicator` string — 2 character language used for the transaction. Deprecated in factor of transactionLocale.
        - `transactionLocale` string — Locale for the transaction (e.g. en-CA)
        - `accountSelection` 'CREDIT' | 'DEBIT' | 'CHECKING' | 'SAVINGS' — Type of account.
        - `fiscalInvoiceNumber` string — Consists of 4-digits prefix + 8-digits.
        - `installmentsQuantity` integer — Indicates number of installments.
        - `installmentsPlanCode` string — Indicates plan in the alpha numuric code.
        - `installmentsPlanId` string — Indicates selected plan identifier.
        - `installmentsPlanDesc` string — Indicates selected plan desc.
        - `cardTypeLabel` string — Card type label.
        - `cardSymbol` string — Card Symbol for identify in payment_card_config table.
        - `stan` integer — STAN(System Audit Trace Number).
        - `identityDocument` object — Customers identification number and type.
          - `id` string — Unique identifier.
          - `type` string — Type of personal identification: National Document, Passport, etc
          - `number` string — Identification number.
          - `createdTime` integer — Created timestamp.
          - `modifiedTime` integer — Modified timestamp.
          - `deletedTime` integer — Deleted timestamp.
          - `payment` object
            - `id` string — Unique identifier.
        - `batchNumber` string — Indicates transaction Batch number.
        - `receiptNumber` string — Indicates transaction Receipt number.
        - `reversalStanRefNum` string — Reversal STAN (STAN(system audit trace number) ref number.
        - `reversalStan` integer — STAN for reversal.
        - `reversalMac` string — MAC for reversal.
        - `reversalMacKsn` string — MAC KSN for reversal.
        - `terminalIdentification` string — Designates the unique location of a terminal at a merchant.
        - `externalTerminalId` string — Main internal identifier of terminal which should be the same across all Fiserv’s components.
        - `merchantIdentifier` string — When concatenated with the Acquirer Identifier, uniquely identifies a given merchant.
        - `merchantNameLocation` string — Indicates the name and location of the merchant.
        - `maskedTrack2` string — Masked track2 data.
        - `receiptExtraData` string — Extra data for receipt.
        - `selectedService` 'NONE' | 'PAYMENT' | 'REFUND' | 'CANCELLATION' | 'PRE_AUTH' | 'UPDATE_PRE_AUTH' | 'PAYMENT_COMPLETION' | 'CASH_ADVANCE' | 'DEFERRED_PAYMENT' | 'DEFERRED_PAYMENT_COMPLETION' | 'VOICE_AUTHORISATION' | 'CARDHOLDER_DETECTION' | 'TOKEN_REQUEST' | 'VERIFICATION' — Defines the Financial Service selected for the transaction.
        - `transactionResult` 'APPROVED' | 'DECLINED' | 'ABORTED' | 'VOICE_AUTHORISATION' | 'PAYMENT_PART_ONLY' | 'PARTIALLY_APPROVED' | 'NONE' — Result of the transaction.
        - `transactionTags` string — Contains a hex string with needed TLV tags for certification.
        - `txFormat` 'DEFAULT' | 'NEXO' — Contains the information how the data inside transactionTags should be coded - initially we cause default and nexo as formats.
        - `panMask` string — Contains the information how the PAN should masked.
        - `transactionSequenceCounter` string — Counter maintained by the terminal that is incremented for each transaction at the beginning of the Perform Service function.
        - `applicationPanSequenceNumber` string — Identifies and differentiates cards with the same PAN.
        - `reversalReason` 'CHIP_DECLINE' | 'CARDHOLDER_CANCELLATION' | 'COMMUNICATION_ERROR' | 'OTHER_REASON' — Contains the reason why the transaction should be reversed in the host. It has to be mapped in server with the expected value by the corresponding gateway.
        - `isTokenBasedTx` boolean — Boolean to determine if the transaction done using a vaulted card is a token based transaction.
        - `origTransactionSequenceCounter` string — For reversal and capture transactions, this contains the reference (transactionSequenceCounter) to the originating transaction.
        - `transactionSequenceCounterUpdate` string — This field is populated when the TSC of a terminal is out of sync and is provided with an update.
        - `emergencyFlag` boolean — Boolean value defining if the corresponding TX was performed in NEXO emergency mode according NEXO IS Spec chapter 10.2.
        - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — This field contains the entry type of a transaction.
        - `promotionalMessage` object
          - `message` string — Indicates promotion message.
          - `showOnMerchantReceipt` boolean — Indicates whether message should be displayed on the merchant receipt or not. Value: True False.
          - `showOnCustomerReceipt` boolean — Indicates whether message should be displayed on the customer receipt or not. Value: True False.
          - `showOnDisplay` boolean — Indicates whether message should be displayed on the disply or not. Value: True False.
        - `sepaElvTransactionInfo` object
          - `receiptFormat` string — Value of tag E1.DF8206 from NEXO config.
          - `extAppLabel` string — Value of tag E6.DF8211 or E6.DF8212 (Online or Offline TX printout).
          - `preNotification` string — Value of tag E6.DF8214 info form NEXO config.
          - `mandate` string — Value of tag E6.DF8215 info from NEXO config.
          - `creditorId` string — Value of tag E6.DF8216 info from NEXO config.
          - `mandateId` string — Generated by SPA according to ELV – TBD: use Trace number instead of receipt number.
          - `iban` string — Received in ICC related data from IPG (tag 5F53).
          - `isMerchantForced` boolean — Defines if the corresponding SEPA ELV TX was forced by the merchant (override defined limit)
        - `clientCardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Client card type should be used only limited purpose only and should not be confused with cardType in other objects. This is a read only field and must not to be overwritten on server or client once set on client. This is set on client only for MSR tx for now as the AIDs are not identified for MSR. For few MSR tx, the card type was identified incorrectly on client side, and also on server side based on the bin match. In order to get the correct card types, this client card type will be sent to the server
        - `explicitlySelectedApp` string — The app explicitly selected by the customer via the choice button.
        - `isSepaElv` boolean — Defines if the corresponding TX was performed as SEPA ELV TX.
        - `cardEntryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Defines if the corresponding TX was performed as SEPA ELV TX.
        - `printMessages` object[]
          - `destination` 'CUSTOMER_DISPLAY' | 'CUSTOMER_RECEIPT' | 'CUSTOMER_RECEIPT_AID_PARAM' | 'MERCHANT_DISPLAY' | 'MERCHANT_RECEIPT' | 'MERCHANT_RECEIPT_AID_PARAM' — Destination for the message CDSP - CustomerDisplay, CRCP - CustomerReceipt/AidParam, MDSP - MerchantDisplay, MRCP - MerchantReceipt/AidParam
          - `content` string — Contains the display and/or print message text from gateway.
    - `germanInfo` object — German region-specific information
      - `cardTrack2` string
      - `cardSequenceNumber` string
      - `transactionCaseGermany` string
      - `transactionTypeGermany` string
      - `terminalID` string
      - `traceNumber` string
      - `oldTraceNumber` string
      - `receiptNumber` string
      - `transactionAID` string
      - `transactionMSApp` string
      - `transactionScriptResults` string
      - `receiptType` string
      - `customerTransactionDOLValues` string
      - `merchantTransactionDOLValues` string
      - `merchantJournalDOL` string
      - `merchantJournalDOLValues` string
      - `configMerchantId` string
      - `configProductLabel` string
      - `hostResponseAidParBMP53` string
      - `hostResponsePrintDataBM60` string
      - `sepaElvReceiptFormat` string
      - `sepaElvExtAppLabel` string
      - `sepaElvPreNotification` string
      - `sepaElvMandate` string
      - `sepaElvCreditorId` string
      - `sepaElvMandateId` string
      - `sepaElvIban` string
    - `appTracking` object — Tracking information for the app that created this credit.
      - `developerAppId` string — Uuid from the developer application. This is typically populated and used only on the back end.
      - `applicationName` string — Name of the developer application.
      - `applicationID` string — String representing an application.
      - `applicationVersion` string — String representing a semanticversion. See http://semver.org/
      - `sourceSDK` string — String representing a SDK.
      - `sourceSDKVersion` string — String representing a SDK. See http://semver.org/
    - `result` 'SUCCESS' | 'FAIL' | 'INITIATED' | 'VOIDED' | 'VOIDING' | 'VOID_FAILED' | 'AUTH' | 'AUTH_COMPLETED' | 'DISCOUNT' | 'OFFLINE_RETRYING' | 'PENDING'
    - `reason` string — Reason why the credit was initiated
    - `transactionInfo` object — Transaction information
      - `languageIndicator` string — 2 character language used for the transaction. Deprecated in factor of transactionLocale.
      - `transactionLocale` string — Locale for the transaction (e.g. en-CA)
      - `accountSelection` 'CREDIT' | 'DEBIT' | 'CHECKING' | 'SAVINGS' — Type of account.
      - `fiscalInvoiceNumber` string — Consists of 4-digits prefix + 8-digits.
      - `installmentsQuantity` integer — Indicates number of installments.
      - `installmentsPlanCode` string — Indicates plan in the alpha numuric code.
      - `installmentsPlanId` string — Indicates selected plan identifier.
      - `installmentsPlanDesc` string — Indicates selected plan desc.
      - `cardTypeLabel` string — Card type label.
      - `cardSymbol` string — Card Symbol for identify in payment_card_config table.
      - `stan` integer — STAN(System Audit Trace Number).
      - `identityDocument` object — Customers identification number and type.
        - `id` string — Unique identifier.
        - `type` string — Type of personal identification: National Document, Passport, etc
        - `number` string — Identification number.
        - `createdTime` integer — Created timestamp.
        - `modifiedTime` integer — Modified timestamp.
        - `deletedTime` integer — Deleted timestamp.
        - `payment` object
          - `id` string — Unique identifier.
      - `batchNumber` string — Indicates transaction Batch number.
      - `receiptNumber` string — Indicates transaction Receipt number.
      - `reversalStanRefNum` string — Reversal STAN (STAN(system audit trace number) ref number.
      - `reversalStan` integer — STAN for reversal.
      - `reversalMac` string — MAC for reversal.
      - `reversalMacKsn` string — MAC KSN for reversal.
      - `terminalIdentification` string — Designates the unique location of a terminal at a merchant.
      - `externalTerminalId` string — Main internal identifier of terminal which should be the same across all Fiserv’s components.
      - `merchantIdentifier` string — When concatenated with the Acquirer Identifier, uniquely identifies a given merchant.
      - `merchantNameLocation` string — Indicates the name and location of the merchant.
      - `maskedTrack2` string — Masked track2 data.
      - `receiptExtraData` string — Extra data for receipt.
      - `selectedService` 'NONE' | 'PAYMENT' | 'REFUND' | 'CANCELLATION' | 'PRE_AUTH' | 'UPDATE_PRE_AUTH' | 'PAYMENT_COMPLETION' | 'CASH_ADVANCE' | 'DEFERRED_PAYMENT' | 'DEFERRED_PAYMENT_COMPLETION' | 'VOICE_AUTHORISATION' | 'CARDHOLDER_DETECTION' | 'TOKEN_REQUEST' | 'VERIFICATION' — Defines the Financial Service selected for the transaction.
      - `transactionResult` 'APPROVED' | 'DECLINED' | 'ABORTED' | 'VOICE_AUTHORISATION' | 'PAYMENT_PART_ONLY' | 'PARTIALLY_APPROVED' | 'NONE' — Result of the transaction.
      - `transactionTags` string — Contains a hex string with needed TLV tags for certification.
      - `txFormat` 'DEFAULT' | 'NEXO' — Contains the information how the data inside transactionTags should be coded - initially we cause default and nexo as formats.
      - `panMask` string — Contains the information how the PAN should masked.
      - `transactionSequenceCounter` string — Counter maintained by the terminal that is incremented for each transaction at the beginning of the Perform Service function.
      - `applicationPanSequenceNumber` string — Identifies and differentiates cards with the same PAN.
      - `reversalReason` 'CHIP_DECLINE' | 'CARDHOLDER_CANCELLATION' | 'COMMUNICATION_ERROR' | 'OTHER_REASON' — Contains the reason why the transaction should be reversed in the host. It has to be mapped in server with the expected value by the corresponding gateway.
      - `isTokenBasedTx` boolean — Boolean to determine if the transaction done using a vaulted card is a token based transaction.
      - `origTransactionSequenceCounter` string — For reversal and capture transactions, this contains the reference (transactionSequenceCounter) to the originating transaction.
      - `transactionSequenceCounterUpdate` string — This field is populated when the TSC of a terminal is out of sync and is provided with an update.
      - `emergencyFlag` boolean — Boolean value defining if the corresponding TX was performed in NEXO emergency mode according NEXO IS Spec chapter 10.2.
      - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — This field contains the entry type of a transaction.
      - `promotionalMessage` object
        - `message` string — Indicates promotion message.
        - `showOnMerchantReceipt` boolean — Indicates whether message should be displayed on the merchant receipt or not. Value: True False.
        - `showOnCustomerReceipt` boolean — Indicates whether message should be displayed on the customer receipt or not. Value: True False.
        - `showOnDisplay` boolean — Indicates whether message should be displayed on the disply or not. Value: True False.
      - `sepaElvTransactionInfo` object
        - `receiptFormat` string — Value of tag E1.DF8206 from NEXO config.
        - `extAppLabel` string — Value of tag E6.DF8211 or E6.DF8212 (Online or Offline TX printout).
        - `preNotification` string — Value of tag E6.DF8214 info form NEXO config.
        - `mandate` string — Value of tag E6.DF8215 info from NEXO config.
        - `creditorId` string — Value of tag E6.DF8216 info from NEXO config.
        - `mandateId` string — Generated by SPA according to ELV – TBD: use Trace number instead of receipt number.
        - `iban` string — Received in ICC related data from IPG (tag 5F53).
        - `isMerchantForced` boolean — Defines if the corresponding SEPA ELV TX was forced by the merchant (override defined limit)
      - `clientCardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Client card type should be used only limited purpose only and should not be confused with cardType in other objects. This is a read only field and must not to be overwritten on server or client once set on client. This is set on client only for MSR tx for now as the AIDs are not identified for MSR. For few MSR tx, the card type was identified incorrectly on client side, and also on server side based on the bin match. In order to get the correct card types, this client card type will be sent to the server
      - `explicitlySelectedApp` string — The app explicitly selected by the customer via the choice button.
      - `isSepaElv` boolean — Defines if the corresponding TX was performed as SEPA ELV TX.
      - `cardEntryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Defines if the corresponding TX was performed as SEPA ELV TX.
      - `printMessages` object[]
        - `destination` 'CUSTOMER_DISPLAY' | 'CUSTOMER_RECEIPT' | 'CUSTOMER_RECEIPT_AID_PARAM' | 'MERCHANT_DISPLAY' | 'MERCHANT_RECEIPT' | 'MERCHANT_RECEIPT_AID_PARAM' — Destination for the message CDSP - CustomerDisplay, CRCP - CustomerReceipt/AidParam, MDSP - MerchantDisplay, MRCP - MerchantReceipt/AidParam
        - `content` string — Contains the display and/or print message text from gateway.
    - `merchant` object
      - `id` string — Unique identifier.
    - `externalReferenceId` string — External reference identifier, if associated with the credit.
    - `CreditAttributes` object
      - `default` string
  - `voids` object[] — Voided payments associated with this order
    - `id` string — 13-digits unique identifier of the Merchant.
    - `order` object — Order with which the payment is associated.
      - `id` string — Unique identifier.
    - `device` object — Device that processed the transaction for this payment, a 128-bit Universal unique identifier. Note: its not the 13-digits Clover identifier.
      - `id` string — Unique identifier.
    - `tender` object — Tender type associated with this payment. For example: credit card, cash, and so on.
      - `id` string — Unique identifier.
      - `editable` boolean — If this merchant tender is editable.
      - `labelKey` string — Label Key.
      - `label` string — Label Key.
      - `opensCashDrawer` boolean — Indicates that tender is opening the cash drawer.
      - `supportsTipping` boolean — Allow tipping on payment from tender.
      - `enabled` boolean — Indicates that merchant tender is enabled.
      - `visible` boolean — Indicates that merchant tender is visible.
      - `instructions` string — Instructions for how to process tender.
    - `amount` integer — Total amount paid.
    - `tipAmount` integer — Tip amount paid.
    - `taxAmount` integer — Tax amount paid.
    - `cashbackAmount` integer — Cash amount given by the customer to the merchant.
    - `cashTendered` integer — Payment amount given by the customer.
    - `externalPaymentId` string — External payment identifier.
    - `employee` object — Employee who processed the payment.
      - `id` string — Unique identifier.
    - `createdTime` integer — Time when payment was recorded on the server.
    - `clientCreatedTime` integer — Time when payment was recorded on the client server.
    - `gatewayProcessingTime` integer — Time when the transaction was processed by the payment gateway.
    - `modifiedTime` integer — Last modified time of the payment.
    - `offline` boolean — Indicates if the tender option is offline.
    - `result` 'SUCCESS' | 'FAIL' | 'INITIATED' | 'VOIDED' | 'VOIDING' | 'VOID_FAILED' | 'AUTH' | 'AUTH_COMPLETED' | 'DISCOUNT' | 'OFFLINE_RETRYING' | 'PENDING' — Indicates the result of the tender. Values: Success, fail, initiated, voided, voiding, void_failed, auth, auth_completed, discount, offline_retrying, and pending.
    - `cardTransaction` object — Card details for credit or debit card payments.
      - `cardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Type of card used for the transaction.
      - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Indicates the type of entry made for the card. For example: swiped, vaulted, scanned, and so on.
      - `first6` string — First 6-digits of the card number.
      - `last4` string — Last 4-digits of the card number.
      - `type` 'AUTH' | 'PREAUTH' | 'PREAUTHCAPTURE' | 'ADJUST' | 'VOID' | 'VOIDRETURN' | 'RETURN' | 'REFUND' | 'NAKEDREFUND' | 'GETBALANCE' | 'BATCHCLOSE' | 'ACTIVATE' | 'BALANCE_LOCK' | 'LOAD' | 'CASHOUT' | 'CASHOUT_ACTIVE_STATUS' | 'REDEMPTION' | 'REDEMPTION_UNLOCK' | 'RELOAD' | 'CASH_ADVANCE' | 'VOID_CREDIT' | 'REFUND_CREDIT' | 'INTERNET_ACTIVATE' | 'TOKEN_REQUEST' | 'VERIFICATION' — Indicates the type of transaction used by the card.
      - `authCode` string — Indicates the authorization code if successful.
      - `referenceId` string — Card transaction reference identifier.
      - `transactionNo` string — Card transaction number.
      - `state` 'PENDING' | 'CLOSED' — Indicates the status of the transaction.
      - `extra` object — Indicates extra information to be stored as part of gateway/card transaction.
        - `default` string — Indiactes any default message that will be appeared.
      - `begBalance` integer — Indicates the available balance in the card.
      - `endBalance` integer — Indicates the remaining balance in the card.
      - `avsResult` 'SUCCESS' | 'ZIP_CODE_MATCH' | 'ZIP_CODE_MATCH_ADDRESS_NOT_CHECKED' | 'ADDRESS_MATCH' | 'ADDRESS_MATCH_ZIP_NOT_CHECKED' | 'NEITHER_MATCH' | 'SERVICE_FAILURE' | 'SERVICE_UNAVAILABLE' | 'NOT_CHECKED' | 'ZIP_CODE_NOT_MATCHED_ADDRESS_NOT_CHECKED' | 'ADDRESS_NOT_MATCHED_ZIP_CODE_NOT_CHECKED' — Indicates the status of the transaction.
      - `cardholderName` string — Indicates the card holder name for which payment is to be made.
      - `token` string — Indicates the token number of the card.
      - `vaultedCard` object — Vaulted card which can be used for subsequent transactions.
        - `first6` string, required — First 6-digits of the vaulted card.
        - `last4` string, required — Last 4-digits of the vaulted card.
        - `cardholderName` string — Card holder name of the vaulted card.
        - `expirationDate` string — Expiry date of the vaulted card.
        - `token` string — Token number of the vaulted card.
      - `gatewayTxState` 'INITIATED' | 'INITIATED_ON_AUTH' | 'ACKNOWLEDGED' | 'CONNECT_FAILED' | 'TIMEOUT' | 'FAILED' | 'REVERSE_INITIATED' | 'REVERSE_INITIATED_ON_AUTH' | 'REVERSED' | 'REVERSAL_FAILED' | 'EXTERNAL' — The state as currently recorded. This differs from the legacy 'state' field. The legacy 'state' field is calculated from the 'type' field and whether the transaction was captured.
      - `currency` string — Currency code.
      - `captured` boolean — Indicates whether the transaction was captured by the gateway or not.
      - `debitRefund` object — Indicates refund parameters required for debit card refunds.
        - `debitTransactionRouteInd` string — Route of the the payment transaction.
        - `isDebitTransactionRefundable` boolean — True, if debitTransactionRouteInd is C, else, its determined by the EDS entitlement rule for D/S
    - `serviceCharge` object — Amount of the service charge.
      - `id` string — Service charge identifier.
      - `name` string — Indicates the name of the service charge applicable.
      - `amount` integer — Amount of the service charge.
    - `attributes` object
      - `default` string
    - `additionalCharges` object[]
      - `id` string — Additional charge identifier.
      - `amount` integer — Amount of the additional charge.
      - `rate` integer — Percent rate of the additional charge times 10000.
      - `type` 'INTERAC' | 'CREDIT_SURCHARGE' | 'CONVENIENCE_FEE' | 'INTERAC_V2' | 'DELIVERY_FEE' — Type of the additional charge.
    - `taxRates` object[]
      - `id` string — Tax rate id.
      - `name` string, required — Tax rate name. This field is optional.
      - `rate` integer, required — Tax rate. 100% = 1e7 or 1 followed by 7 zeros.
      - `isDefault` boolean — Indicates whether the tax rate was configued as a default tax rate when the payment was created.
      - `taxableAmount` integer, required — Sub-total of line items on which the tax was based. For value-added tax (VAT), this amount includes the tax. For all others, this amount does not include tax.
      - `isVat` boolean — Indicates whether the merchant is configured to charge for value-added tax (VAT).
      - `taxAmount` integer — Amount of tax collected. In there are multiple payments for an order then it may be necessary to add an extra cent of tax to the last payment.
    - `refunds` object[] — Indicates the amount to be refunded.
      - `id` string — Unique identifier of the refund.
      - `orderRef` object — Reference number of the order with which the refund is associated.
        - `id` string — Unique identifier.
      - `device` object — Device which processed the transaction for this refund, a 128-bit UUID, not a normal base-13 Clover ID.
        - `id` string — Unique identifier.
      - `amount` integer — Total amount refunded, including tax and tip
      - `taxAmount` integer — Tax amount refunded.
      - `tipAmount` integer — Tip amount refunded.
      - `createdTime` integer — Time when the refund was recorded on the server.
      - `clientCreatedTime` integer — Time when the refund was recorded on the client.
      - `gatewayProcessingTime` integer — Time when the refund was processed by the payment gateway.
      - `payment` object — Payment with which the refund is associated.
        - `id` string — Unique identifier.
      - `employee` object
        - `id` string — Unique identifier.
      - `lineItems` object[]
        - `id` string — Unique identifier.
      - `overrideMerchantTender` object — Tender type associated with this payment, for example, credit card, cash, and so on.
        - `id` string — Unique identifier.
        - `editable` boolean — If this merchant tender is editable.
        - `labelKey` string — Label Key.
        - `label` string — Label Key.
        - `opensCashDrawer` boolean — Indicates that tender is opening the cash drawer.
        - `supportsTipping` boolean — Allow tipping on payment from tender.
        - `enabled` boolean — Indicates that merchant tender is enabled.
        - `visible` boolean — Indicates that merchant tender is visible.
        - `instructions` string — Instructions for how to process tender.
      - `taxableAmountRates` object[]
        - `id` string — Tax rate identifier.
        - `name` string — Tax rate name. This field is optional.
        - `taxableAmount` integer — Sub-total of line items on which the tax was based. For value-added tax (VAT), this amount includes the tax. For all others, this amount does not include tax.
        - `rate` integer — Tax rate. 100% = 1e7 or 1 followed by 7 zeros.
        - `isVat` boolean — Whether the taxable amount includes tax.
        - `taxAmount` integer — The amount of tax collected. In cases where there are multiple payments for an order then it may be necessary to add an extra cent of tax to the last payment.
        - `transactionRef` object — The refund with which the tax rate is associated.
          - `id` string — Unique identifier.
      - `serviceChargeAmount` object
        - `id` string — Service charge identifier.
        - `name` string — Indicates the name of the service charge applicable.
        - `amount` integer — Amount of the service charge.
      - `additionalCharges` object[]
        - `id` string — Additional charge identifier.
        - `amount` integer — Amount of the additional charge.
        - `rate` integer — Percent rate of the additional charge times 10000.
        - `type` 'INTERAC' | 'CREDIT_SURCHARGE' | 'CONVENIENCE_FEE' | 'INTERAC_V2' | 'DELIVERY_FEE' — Type of the additional charge.
      - `attributes` object — Indicates the attributes if any.
        - `default` string — Indicates the default value of attributes.
      - `germanInfo` object — German region-specific information.
        - `cardTrack2` string
        - `cardSequenceNumber` string
        - `transactionCaseGermany` string
        - `transactionTypeGermany` string
        - `terminalID` string
        - `traceNumber` string
        - `oldTraceNumber` string
        - `receiptNumber` string
        - `transactionAID` string
        - `transactionMSApp` string
        - `transactionScriptResults` string
        - `receiptType` string
        - `customerTransactionDOLValues` string
        - `merchantTransactionDOLValues` string
        - `merchantJournalDOL` string
        - `merchantJournalDOLValues` string
        - `configMerchantId` string
        - `configProductLabel` string
        - `hostResponseAidParBMP53` string
        - `hostResponsePrintDataBM60` string
        - `sepaElvReceiptFormat` string
        - `sepaElvExtAppLabel` string
        - `sepaElvPreNotification` string
        - `sepaElvMandate` string
        - `sepaElvCreditorId` string
        - `sepaElvMandateId` string
        - `sepaElvIban` string
      - `appTracking` object — Tracking information for the app that created this refund.
        - `developerAppId` string — Uuid from the developer application. This is typically populated and used only on the back end.
        - `applicationName` string — Name of the developer application.
        - `applicationID` string — String representing an application.
        - `applicationVersion` string — String representing a semanticversion. See http://semver.org/
        - `sourceSDK` string — String representing a SDK.
        - `sourceSDKVersion` string — String representing a SDK. See http://semver.org/
      - `voided` boolean — Indicates voided information.
      - `voidReason` string — Indicates reason of voided.
      - `cardTransaction` object — Information about the card used for credit or debit card refunds
        - `cardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Type of card used for the transaction.
        - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Indicates the type of entry made for the card. For example: swiped, vaulted, scanned, and so on.
        - `first6` string — First 6-digits of the card number.
        - `last4` string — Last 4-digits of the card number.
        - `type` 'AUTH' | 'PREAUTH' | 'PREAUTHCAPTURE' | 'ADJUST' | 'VOID' | 'VOIDRETURN' | 'RETURN' | 'REFUND' | 'NAKEDREFUND' | 'GETBALANCE' | 'BATCHCLOSE' | 'ACTIVATE' | 'BALANCE_LOCK' | 'LOAD' | 'CASHOUT' | 'CASHOUT_ACTIVE_STATUS' | 'REDEMPTION' | 'REDEMPTION_UNLOCK' | 'RELOAD' | 'CASH_ADVANCE' | 'VOID_CREDIT' | 'REFUND_CREDIT' | 'INTERNET_ACTIVATE' | 'TOKEN_REQUEST' | 'VERIFICATION' — Indicates the type of transaction used by the card.
        - `authCode` string — Indicates the authorization code if successful.
        - `referenceId` string — Card transaction reference identifier.
        - `transactionNo` string — Card transaction number.
        - `state` 'PENDING' | 'CLOSED' — Indicates the status of the transaction.
        - `extra` object — Indicates extra information to be stored as part of gateway/card transaction.
          - `default` string — Indiactes any default message that will be appeared.
        - `begBalance` integer — Indicates the available balance in the card.
        - `endBalance` integer — Indicates the remaining balance in the card.
        - `avsResult` 'SUCCESS' | 'ZIP_CODE_MATCH' | 'ZIP_CODE_MATCH_ADDRESS_NOT_CHECKED' | 'ADDRESS_MATCH' | 'ADDRESS_MATCH_ZIP_NOT_CHECKED' | 'NEITHER_MATCH' | 'SERVICE_FAILURE' | 'SERVICE_UNAVAILABLE' | 'NOT_CHECKED' | 'ZIP_CODE_NOT_MATCHED_ADDRESS_NOT_CHECKED' | 'ADDRESS_NOT_MATCHED_ZIP_CODE_NOT_CHECKED' — Indicates the status of the transaction.
        - `cardholderName` string — Indicates the card holder name for which payment is to be made.
        - `token` string — Indicates the token number of the card.
        - `vaultedCard` object — Vaulted card which can be used for subsequent transactions.
          - `first6` string, required — First 6-digits of the vaulted card.
          - `last4` string, required — Last 4-digits of the vaulted card.
          - `cardholderName` string — Card holder name of the vaulted card.
          - `expirationDate` string — Expiry date of the vaulted card.
          - `token` string — Token number of the vaulted card.
        - `gatewayTxState` 'INITIATED' | 'INITIATED_ON_AUTH' | 'ACKNOWLEDGED' | 'CONNECT_FAILED' | 'TIMEOUT' | 'FAILED' | 'REVERSE_INITIATED' | 'REVERSE_INITIATED_ON_AUTH' | 'REVERSED' | 'REVERSAL_FAILED' | 'EXTERNAL' — The state as currently recorded. This differs from the legacy 'state' field. The legacy 'state' field is calculated from the 'type' field and whether the transaction was captured.
        - `currency` string — Currency code.
        - `captured` boolean — Indicates whether the transaction was captured by the gateway or not.
        - `debitRefund` object — Indicates refund parameters required for debit card refunds.
          - `debitTransactionRouteInd` string — Route of the the payment transaction.
          - `isDebitTransactionRefundable` boolean — True, if debitTransactionRouteInd is C, else, its determined by the EDS entitlement rule for D/S
      - `transactionInfo` object — Transaction information.
        - `languageIndicator` string — 2 character language used for the transaction. Deprecated in factor of transactionLocale.
        - `transactionLocale` string — Locale for the transaction (e.g. en-CA)
        - `accountSelection` 'CREDIT' | 'DEBIT' | 'CHECKING' | 'SAVINGS' — Type of account.
        - `fiscalInvoiceNumber` string — Consists of 4-digits prefix + 8-digits.
        - `installmentsQuantity` integer — Indicates number of installments.
        - `installmentsPlanCode` string — Indicates plan in the alpha numuric code.
        - `installmentsPlanId` string — Indicates selected plan identifier.
        - `installmentsPlanDesc` string — Indicates selected plan desc.
        - `cardTypeLabel` string — Card type label.
        - `cardSymbol` string — Card Symbol for identify in payment_card_config table.
        - `stan` integer — STAN(System Audit Trace Number).
        - `identityDocument` object — Customers identification number and type.
          - `id` string — Unique identifier.
          - `type` string — Type of personal identification: National Document, Passport, etc
          - `number` string — Identification number.
          - `createdTime` integer — Created timestamp.
          - `modifiedTime` integer — Modified timestamp.
          - `deletedTime` integer — Deleted timestamp.
          - `payment` object
            - `id` string — Unique identifier.
        - `batchNumber` string — Indicates transaction Batch number.
        - `receiptNumber` string — Indicates transaction Receipt number.
        - `reversalStanRefNum` string — Reversal STAN (STAN(system audit trace number) ref number.
        - `reversalStan` integer — STAN for reversal.
        - `reversalMac` string — MAC for reversal.
        - `reversalMacKsn` string — MAC KSN for reversal.
        - `terminalIdentification` string — Designates the unique location of a terminal at a merchant.
        - `externalTerminalId` string — Main internal identifier of terminal which should be the same across all Fiserv’s components.
        - `merchantIdentifier` string — When concatenated with the Acquirer Identifier, uniquely identifies a given merchant.
        - `merchantNameLocation` string — Indicates the name and location of the merchant.
        - `maskedTrack2` string — Masked track2 data.
        - `receiptExtraData` string — Extra data for receipt.
        - `selectedService` 'NONE' | 'PAYMENT' | 'REFUND' | 'CANCELLATION' | 'PRE_AUTH' | 'UPDATE_PRE_AUTH' | 'PAYMENT_COMPLETION' | 'CASH_ADVANCE' | 'DEFERRED_PAYMENT' | 'DEFERRED_PAYMENT_COMPLETION' | 'VOICE_AUTHORISATION' | 'CARDHOLDER_DETECTION' | 'TOKEN_REQUEST' | 'VERIFICATION' — Defines the Financial Service selected for the transaction.
        - `transactionResult` 'APPROVED' | 'DECLINED' | 'ABORTED' | 'VOICE_AUTHORISATION' | 'PAYMENT_PART_ONLY' | 'PARTIALLY_APPROVED' | 'NONE' — Result of the transaction.
        - `transactionTags` string — Contains a hex string with needed TLV tags for certification.
        - `txFormat` 'DEFAULT' | 'NEXO' — Contains the information how the data inside transactionTags should be coded - initially we cause default and nexo as formats.
        - `panMask` string — Contains the information how the PAN should masked.
        - `transactionSequenceCounter` string — Counter maintained by the terminal that is incremented for each transaction at the beginning of the Perform Service function.
        - `applicationPanSequenceNumber` string — Identifies and differentiates cards with the same PAN.
        - `reversalReason` 'CHIP_DECLINE' | 'CARDHOLDER_CANCELLATION' | 'COMMUNICATION_ERROR' | 'OTHER_REASON' — Contains the reason why the transaction should be reversed in the host. It has to be mapped in server with the expected value by the corresponding gateway.
        - `isTokenBasedTx` boolean — Boolean to determine if the transaction done using a vaulted card is a token based transaction.
        - `origTransactionSequenceCounter` string — For reversal and capture transactions, this contains the reference (transactionSequenceCounter) to the originating transaction.
        - `transactionSequenceCounterUpdate` string — This field is populated when the TSC of a terminal is out of sync and is provided with an update.
        - `emergencyFlag` boolean — Boolean value defining if the corresponding TX was performed in NEXO emergency mode according NEXO IS Spec chapter 10.2.
        - `entryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — This field contains the entry type of a transaction.
        - `promotionalMessage` object
          - `message` string — Indicates promotion message.
          - `showOnMerchantReceipt` boolean — Indicates whether message should be displayed on the merchant receipt or not. Value: True False.
          - `showOnCustomerReceipt` boolean — Indicates whether message should be displayed on the customer receipt or not. Value: True False.
          - `showOnDisplay` boolean — Indicates whether message should be displayed on the disply or not. Value: True False.
        - `sepaElvTransactionInfo` object
          - `receiptFormat` string — Value of tag E1.DF8206 from NEXO config.
          - `extAppLabel` string — Value of tag E6.DF8211 or E6.DF8212 (Online or Offline TX printout).
          - `preNotification` string — Value of tag E6.DF8214 info form NEXO config.
          - `mandate` string — Value of tag E6.DF8215 info from NEXO config.
          - `creditorId` string — Value of tag E6.DF8216 info from NEXO config.
          - `mandateId` string — Generated by SPA according to ELV – TBD: use Trace number instead of receipt number.
          - `iban` string — Received in ICC related data from IPG (tag 5F53).
          - `isMerchantForced` boolean — Defines if the corresponding SEPA ELV TX was forced by the merchant (override defined limit)
        - `clientCardType` 'VISA' | 'MC' | 'AMEX' | 'DISCOVER' | 'DINERS_CLUB' | 'JCB' | 'MAESTRO' | 'SOLO' | 'LASER' | 'CHINA_UNION_PAY' | 'CARTE_BLANCHE' | 'UNKNOWN' | 'GIFT_CARD' | 'EBT' | 'GIROCARD' | 'INTERAC' | 'OTHER' | 'RUPAY' — Client card type should be used only limited purpose only and should not be confused with cardType in other objects. This is a read only field and must not to be overwritten on server or client once set on client. This is set on client only for MSR tx for now as the AIDs are not identified for MSR. For few MSR tx, the card type was identified incorrectly on client side, and also on server side based on the bin match. In order to get the correct card types, this client card type will be sent to the server
        - `explicitlySelectedApp` string — The app explicitly selected by the customer via the choice button.
        - `isSepaElv` boolean — Defines if the corresponding TX was performed as SEPA ELV TX.
        - `cardEntryType` 'SWIPED' | 'KEYED' | 'VOICE' | 'VAULTED' | 'OFFLINE_SWIPED' | 'OFFLINE_KEYED' | 'EMV_CONTACT' | 'EMV_CONTACTLESS' | 'MSD_CONTACTLESS' | 'PINPAD_MANUAL_ENTRY' | 'QR_CODE' | 'SCANNED' — Defines if the corresponding TX was performed as SEPA ELV TX.
        - `printMessages` object[]
          - `destination` 'CUSTOMER_DISPLAY' | 'CUSTOMER_RECEIPT' | 'CUSTOMER_RECEIPT_AID_PARAM' | 'MERCHANT_DISPLAY' | 'MERCHANT_RECEIPT' | 'MERCHANT_RECEIPT_AID_PARAM' — Destination for the message CDSP - CustomerDisplay, CRCP - CustomerReceipt/AidParam, MDSP - MerchantDisplay, MRCP - MerchantReceipt/AidParam
          - `content` string — Contains the display and/or print message text from gateway.
      - `merchant` object
        - `id` string — Unique identifier.
      - `externalReferenceId` string — External reference identifier, if associated with the refund.
      - `authCode` string — Authorization code generated by the acquirer.
      - `status` 'FAIL' | 'SUCCESS' | 'PENDING' — Status of the refund. It can be Fail/Success/Pending.
      - `oceanGatewayInfo` object — India-region specific Ocean Gateway information.
        - `tranSource` string — This field contains transaction source returned from Ocean as part of notification for a transaction.
        - `tranChannel` string — This field contains LPM type information returned from Ocean as part of notification for a transaction.
        - `transactionType` string — This field contains transaction type information returned from Ocean as part of notification for a transaction.
        - `merchantId` string — This field contains MerchantId returned from Ocean as part of notification for a transaction.
        - `terminalId` string — This field contains TerminalId returned from Ocean as part of notification for a transaction.
        - `tenderType` string — This field contains tender type information returned from Ocean as part of notification for a transaction.
        - `entryMethod` string — This field contains the entry method returned from Ocean as part of notification for a transaction.
        - `transactionAmount` string — This field contains the transaction amount returned from Ocean as part of notification for a transaction.
        - `transactionCurrency` string — This field contains the transaction currency returned from Ocean as part of notification for a transaction.
        - `fpTransactionId` string — This field contains the ocean generated transaction Id for a transaction.
        - `merchantTxnId` string — This field contains the payment reference id provided by clover for a transaction.
        - `fpRefundTransactionId` string — This field contains the refund transaction id returned from Ocean for a transaction.
        - `transactionStatus` string — This field contains the transaction status returned from Ocean as part of notification for a transaction.
        - `transactionStatusDescription` string — This field contains the transaction status description returned from Ocean as part of notification for a transaction.
        - `rrn` string — This field contains rrn number (reference provided by bank) returned from Ocean as part of notification for a transaction.
        - `batchNo` string — This field contains batch number returned from Ocean as part of notification for a transaction.
        - `invoiceNo` string — This field contains invoice number returned from Ocean as part of notification for a transaction.
        - `cardScheme` string — This field contains Customer LPM information returned from Ocean as part of notification for a transaction.
        - `qrType` string — This field contains qr tpe either static or dynamic information returned from Ocean as part of notification for a transaction.
        - `transactionDateTime` string — This field contains transaction completion date information returned from Ocean as part of notification for a transaction.
        - `authCode` string — This field contains authorization Code returned from Ocean as part of notification for a transaction.
        - `pan` string — This field contains pan information like masked virtual payment address,vehicle info,userId returned from Ocean as part of notification for a transaction.
        - `customerMobile` string — This field contains customer mobile info returned from Ocean as part of notification for a transaction.
        - `customerName` string — This field contains customer name returned from Ocean as part of notification for a transaction.
        - `customerRemarks` string — This field contains customer remarks returned from Ocean as part of notification for a transaction.
        - `bankName` string — This field contains name of the bank returned from Ocean as part of notification for a transaction.
        - `bankCode` string — This field contains bank code returned from Ocean as part of notification for a transaction.
        - `emiDetails` object — This field indicates the EMI details of a customer returned from Ocean as part of notification for a transaction.
          - `lenderName` string — This field contains the equated monthly installment (EMI) lender name.
          - `tenure` string — This field contains total EMI tenure.
          - `interestRate` string — This field contains interest rate charged as part of EMI.
          - `interest` string — This field contains interest amount charged as part of EMI.
          - `emiAmount` string — This field contains EMI amount per month.
          - `lenderLoanId` string — This field contains lender loan id for the EMI.
          - `fees` string — This field contains processing fee charged for EMI.
          - `discountAmount` string — This field contains discount amount provided for EMI.
- … truncated; see the full OpenAPI document linked below

## Response `200`

---

[API](https://skmtc.net/clover/apis/platform-api.md) · [All operations](https://skmtc.net/clover/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clover/platform-api/versions/08da265101a3/schema)
