---
title: "Gets a list of orders"
method: GET
path: "/v3/merchants/{mId}/orders"
tags: ["ORDERS"]
---

# Gets a list of orders

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

Displays a list of orders. See [Manage orders data](https://docs.clover.com/build/working-with-orders/) for more details.

## Path parameters

- `mId` string, required

## Query parameters

- `filter` string
- `expand` string

## Headers

- `User-Agent` string, required

## Response `200`

Successful response.

- object
  - `id` string — Unique identifier.
  - `currency` string — Three-letter [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) for the order amount.
  - `customers` object[] — List of customers associated with this order.
    - `id` string — Unique identifier.
    - `merchant` object — Merchant associated with this customer.
      - `id` string — Unique identifier.
    - `firstName` string — First or given name of the customer. Length: Maximum 64 characters.
    - `lastName` string — Last or surname name of the customer. Length: Maximum 64 characters.
    - `marketingAllowed` boolean — Indicates whether 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. Format: Address cannot be null. Length: Maximum 127 characters.
      - `address1` string — First line of the customer’s address. Can include the street address, PO box, or company name.
      - `address2` string — Second line of the customer’s address. Can include the apartment, suite, unit, or building number.
      - `address3` string — Third line of the customer’s address.
      - `city` string — City of the customer’s address. Can include district, suburb, town, or village.
      - `country` string — Customer's country.
      - `state` string — Customer's state.
      - `zip` string — Postal code or ZIP 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 — Customer name associated with 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. Length: Maximum 72 characters.
      - `tokenType` 'MULTIPAY' | 'FINANCIAL' | 'CTOKEN' — Customer's card token type.
      - `modifiedTime` integer — Time when the card was last updated.
      - `customer` object — Cardholder name.
        - `id` string — Unique identifier.
    - `metadata` object — Additional information about the customer.
      - `businessName` string — Name of customer's business. Length: Maximum 127 characters
      - `note` string — Additional information about the customer. Length: Maximum 2000 characters
      - `dobYear` integer — Customer's birth year.
      - `dobMonth` integer — Customer's birth month.
      - `dobDay` integer — Customer's day of birth.
      - `modifiedTime` integer — Time when customer's data was last updated.
      - `customer` object — Customer for whom the metadata is saved.
        - `id` string — Unique identifier.
  - `employee` object — Employee who took this order.
    - `id` string — Unique identifier.
  - `total` integer — Total price of the order. Format: Cents
  - `externalReferenceId` string — External reference identifier for the order, such as an invoice or purchase order (PO) number.
  - `unpaidBalance` integer — Total unpaid balance Including refunds, manual refunds, tax, tip, service charge, non-revenue items, paid gift card activations, loads, and discounts.
  - `paymentState` 'OPEN' | 'PAID' | 'REFUNDED' | 'CREDITED' | 'PARTIALLY_PAID' | 'PARTIALLY_REFUNDED' — Payment status of the order.
  - `title` string — Order title.
  - `note` string — Any additional information about the order to print on the order receipt or displayed in apps.
  - `orderType` object
    - `id` string — Unique identifier of the order.
    - `labelKey` string — Label key of the order.
    - `label` string — Label type of the order.
    - `taxable` boolean — Indicates whether the order is taxable. Values: True False
    - `isDefault` boolean — Type of order. Values: True False - default
    - `filterCategories` boolean — Indicates whether filtered merchant categories are included in the order type. Values: True - Order type contains 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. values: True False
    - `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 delivery area allowed for an order.
    - `avgOrderTime` integer — Average time required to complete an order.
    - `hoursAvailable` 'ALL' | 'BUSINESS' | 'CUSTOM' — Customer's availability for the delivery hours. Values: ALL BUSINESS CUSTOM
    - `customerIdMethod` 'NAME' | 'TABLE' | 'NAME_TABLE' — Customer identifier method to create an order. Values: NAME TABLE NAME_TABLE
    - `isDeleted` boolean — Indicates whether the customer order is deleted. Values: True - Customer order is deleted. False - Default; customer order is not deleted.
    - `systemOrderTypeId` string — Optional system order type with which the order is associated.
    - `hours` object — Hours when the order type is available, if they differ from normal merchant hours.
      - `id` string — Hours unique identifier
      - `name` string — Specific name to describe the hours.
      - `reference` object
        - `id` string — Unique identifier.
      - `sunday` object[] — Indicates order starts or ends on Sunday.
        - `start` integer, required — Order starts on Sunday.
        - `end` integer, required — Order ends on Sunday.
      - `monday` object[] — Indicates order starts or ends on Monday.
        - `start` integer, required — Order starts on Monday.
        - `end` integer, required — Order ends on Monday.
      - `tuesday` object[] — Indicates order starts or ends on Tuesday.
        - `start` integer, required — Order starts on Tuesday.
        - `end` integer, required — Order ends on Tuesday.
      - `wednesday` object[] — Indicates order starts or ends on Wednesday.
        - `start` integer, required — Order starts on Wednesday.
        - `end` integer, required — Order ends on Wednesday.
      - `thursday` object[] — Indicates order starts or ends on Thrusday.
        - `start` integer, required — Order starts on Thrusday.
        - `end` integer, required — Order ends on Thrusday.
      - `friday` object[] — Indicates order starts or ends on Friday.
        - `start` integer, required — Order starts on Friday.
        - `end` integer, required — Order ends on Friday.
      - `saturday` object[] — Indicates order starts or ends on Saturday.
        - `start` integer, required — Order starts on Saturday.
        - `end` integer, required — Order ends on Saturday.
    - `categories` object[] — Categories of items to assign to the order type.
      - `id` string — Category unique identifier.
  - `taxRemoved` boolean — Indicates if applicable tax is removed from the order. Values: True - Tax is applicable on an order. False - Default; tax is removed from the order.
  - `isVat` boolean — Indicates whether value-added tax applicable on the order. Values: True False
  - `state` string — State of the order. If no value is set, the state defaults to null, which indicates a hidden order. A hidden order is not displayed in user interfaces and is retrieved using its identifier (Id). When an order is created using: REST API the value must be manually set to open. Android SDK the value must be left empty and is updated to open and locked automatically when actions such as taking payments and adding line items occur. The state value is not checked or enforced by the Clover server; at this time it is used for visualization purposes only.
  - `manualTransaction` boolean — Indicates whether the order is a manual transaction, that is a transaction with an arbitrary amount defined and not associated with any inventory items. Example: The Clover Sale App and Clover Manual Transaction App create manual transactions. A manual transaction has a single associated line item to hold the sale amount, but the generated receipt displays this differently to indicate that it is not considered a typical order with inventory items. Values: True False
  - `groupLineItems` boolean — Indicates whether similar line items should be grouped together on the receipt generated for the order. Item similarity is based on items with matching values for a set of properties including price, modifiers, and discounts.
  - `testMode` boolean — Indicates whether the 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. These 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' — Choice to pay the amount. Values: `SPLIT_GUEST` `SPLIT_ITEM` `SPLIT_CUSTOM` `FULL`
  - `createdTime` integer — Time when order was created.
  - `clientCreatedTime` integer — Time when order was created on the client server.
  - `modifiedTime` integer — Time when order was modified.
  - `deletedTimestamp` integer — Time when order was deleted.
  - `serviceCharge` object — Optional service charge (gratuity) applied to this order.
    - `id` string — Service charges unique identifier.
    - `name` string — Name of the service charge.
    - `enabled` boolean — Indicates whether the service charge is enabled. Values: True False
    - `percentage` integer — percentage in decimal.
    - `percentageDecimal` integer — Percent to charge times 10000. Example: 12.5% will be 125000.
    - `isAutoApplied` boolean — Indicates whether service charge is auto applied. Values: True False
  - `additionalCharges` object[]
    - `id` string — Unique identifier
    - `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 — Merchant additional charges unique identifier.
    - `type` 'DELIVERY_FEE' — Type of additional charge. Values: DELIVERY_FEE
    - `amount` integer — Amount of the service charges.
    - `percentageDecimal` integer — Percent to service charge times 10000. Example: 12.5% will be 125000
    - `createdTime` integer — Time when service charge was created.
    - `modifiedTime` integer — Time when service charge was modified.
    - `deletedTime` integer — Time when service charge was deleted.
  - `discounts` object[] — Amount or percentage discounts applied to the order subtotal. `Note:` To retrieve discounts applied to individual items, use the [Get all line items for an order endpoint](v3/merchants/{mId}/orders/{orderId}/line_items?expand=discounts) with the discounts field expanded.
    - `id` string — Unique identifier.
    - `discount` object — Indicates appropriate inventory.Discount based on a standard discount.
      - `id` string — Discount unique identifier.
    - `approver` object — Person to authorized the discount.
      - `id` string — Approver unique identifier.
    - `name` string, required — Discount name.
    - `amount` integer — Discount amount based on currency fraction digits supported. Example: Cents
    - `percentage` integer — Discount amount in percent.
  - `lineItems` object[] — Line items associated with this order.
    - `id` string — Line item unique identifier.
    - `item` object — A reference to the inventory item that was used to create this line item. `Note`: Item can be changed and deleted any time if no longer matches this line item.
      - `id` string — Unique identifier.
    - `colorCode` string — Hex code representation of the color assigned to item in the form of #fff, #ffffff, or #ffffffff. `Note`: Color can be changed and deleted any time such that it no longer matches this line item.
    - `name` string — Line item name.
    - `alternateName` string — Alternate name of the line item.
    - `price` integer — Price of the item in cents of merchant currency. `Note`: 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 item after adding all modifications. `Note`: This is used only for reporting.
    - `priceWithModifiersAndItemAndOrderDiscounts` integer — Price of item after adding all modifications and subtracting all line item and order level discounts. `Note`: This is used only for reporting.
    - `unitQty` integer — This is applicable only if the item is priced by quantity of a unit. The item must have a priceType of PER_UNIT. The value is a fixed-point integer with scaling factor of 1000 (e.g. if charging per ounce, the value should be set to 2500 for 2.5 ounces). To compute the complete price perform the following calculation: PRICE * (UNIT QTY / 1000). If the item doesn’t have a priceType of PER_UNIT, then unitQty is ignored.
    - `unitName` string — Unit name if priced by unit, otherwise null.
    - `itemCode` string — Line itmes item code name.
    - `note` string — Additional information about lineitems.
    - `printed` boolean — Indicates the printed values on an order printer at least once already.
    - `exchangedLineItem` object
      - `id` string — Exchanged lineitem unique identifier.
    - `binName` string — Lineitem bin name.
    - `userData` string — User data of line item.
    - `createdTime` integer
    - `orderClientCreatedTime` integer — Order cleint created time for User data of line item.
    - `discounts` object[] — List of discounts applied to the line item. Each line item on an order may have zero or more percentage or amount discounts. Line item discounts are separate from order-level discounts (which are applied to the order subtotal).
      - `id` string — Discount unique identifier.
      - `discount` object — Appropriate inventory.Discount based on a standard discount.
        - `id` string — Unique identifier.
      - `approver` object — Authorized person to approve the discount.
        - `id` string — Approver unique identifier.
      - `name` string, required — Name of the discount.
      - `amount` integer — Discount amount in fraction of currency unit (e.g. cents) based on currency fraction digits supported.
      - `percentage` integer — Discount amount in percent.
    - `orderLevelDiscounts` object[] — List of order level discounts attributed to this line item. Amounts are rounded to the nearest penny. This is for reporting purposes only. These rounding approximates are not used when calculating the transaction.
      - `id` string — Order level discount unique identifier.
      - `discount` object — Appropriate inventory.Discount based on a standard discount.
        - `id` string — Discount unique identifier.
      - `approver` object — Authorized person to approve the discount.
        - `id` string — Unique identifier.
      - `name` string, required — Discount name.
      - `amount` integer — Discount amount in fraction of currency unit (e.g. cents) based on currency fraction digits supported.
      - `percentage` integer — Discount amount in percent.
    - `discountAmount` integer — Unnamed fixed discount amount in cents. Or, in reporting, this may be the calculated sum of all the line item discounts.
    - `orderLevelDiscountAmount` integer — The calculated sum of order level discounts attributed, approximately to the nearest cent, to this the line item. This is only used in reporting.
    - `exchanged` boolean — Exchange value during the discount.
    - `modifications` object[] — List of references to modifications applied to this line item.
      - `id` string — Modification unique identifier.
      - `name` string — Modifier name.
      - `alternateName` string — Alternate name of the modifier.
      - `amount` integer — Additional cost during the modification when it was applied.
      - `modifier` object — The 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
        - `name` string — Modifier's name.
        - `alternateName` string — Modifier's alternate name.
        - `available` boolean — Indicates if modifier is available across all channels.
        - `price` integer — Additional cost when used.
        - `modifierGroup` object
          - `id` string — Unique identifier.
      - `quantitySold` integer — Indicates modifiers that were sold. `Note`: This is only used in reports.
    - `tags` object[] — List of tags associated with this line item.
      - `id` string — Unique identifier
      - `name` string, required — Tag name.
      - `showInReporting` boolean — True if tag is a Indicates the summary label in the reporting app. Values: True False - default
      - `items` object[] — Items associated with this tag.
        - `id` string — Unique identifier.
      - `printers` object[] — Printers associated with this tag.
        - `id` string — Unique identifier.
    - `refunded` boolean — Indicates the refunded lineitems. Values: True False - default
    - `refund` object — Indicates direct item 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.
      - `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 — Payment 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. Values: `INTERAC` `CREDIT_SURCHARGE` `CONVENIENCE_FEE` `DELIVERY_FEE`
      - `attributes` object — Indicates the attributes.
        - `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 [Semver](http://semver.org/).
        - `sourceSDK` string — String representing a SDK.
        - `sourceSDKVersion` string — String representing a SDK. See [Semver](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. Values: VISA MC AMEX DISCOVER DINERS_CLUB JCB MAESTRO SOLO LASER CHINA_UNION_PAY CARTE_BLANCHE UNKNOWN GIFT_CARD EBT GIROCARD INTERAC OTHER RUPAY
        - `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. Values: SWIPED KEYED VOICE VAULTED OFFLINE_SWIPED OFFLINE_KEYED EMV_CONTACT EMV_CONTACTLESS MSD_CONTACTLESS PINPAD_MANUAL_ENTRY QR_CODE SCANNED
        - `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. Values: 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
        - `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. Values: PENDING CLOSED
        - `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. Values: 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
        - `cardholderName` string — Card holder name.
        - `token` string — 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 — Indicates if debitTransactionRouteInd is Chargeble, 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. Example: 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 — Payment 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. Values: 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.
      - `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.
    - `isRevenue` boolean — True if this item should be counted as revenue, for example gift cards and donations would not.
    - `taxRates` object[] — Tax rates that apply to this line item.
      - `id` string — Unique identifier.
      - `name` string, required — Taxrate name.
      - `taxType` 'VAT_TAXABLE' | 'VAT_NON_TAXABLE' | 'VAT_EXEMPT' | 'INTERNAL_TAX' | 'PARTNER_TAX' — Tax type used in Argentina.
      - `rate` integer — For percentage based discounts like sales tax.
      - `isDefault` boolean
      - `items` object[] — Items associated with this tax rate.
        - `id` string — Unique identifier.
      - `taxAmount` integer — For a flat tax like recycling redemption fee, expressed as number of cents.
      - `deletedTime` integer — Timestamp when tax rate was last deleted.
      - `modifiedTime` integer — Timestamp when tax rate was last modified.
    - `payments` object[] — Payments that apply to this line item.
      - `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.
    - `revenueAmount` integer — Revenue collected for this. This field is only used in reporting.
    - `quantitySold` number — Quantity sold for this line item. This field is only used in reporting.
    - `printGroup` object — Optional reference to the print group that this line item belongs to.
      - `id` string — Unique identifier.
  - `payments` object[] — Payments that were made for this order. If multiple payments were made, then the payType field should reflect the method used to split the total amount.
    - `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:` This is not usual 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 — Tender Label Key.
      - `label` string — Tender label.
      - `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. 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 — Indicates if debitTransactionRouteInd is Chargeble, 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 identifier.
      - `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. Example: Credit card, cash, and so on.
        - `id` string — Unique identifier.
        - `editable` boolean — If this merchant tender is editable.
        - `labelKey` string — Merchant label Key.
        - `label` string — Merchant label.
        - `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 [Semver](http://semver.org/).
        - `sourceSDK` string — String representing a SDK.
        - `sourceSDKVersion` string — String representing a SDK. See [Semver](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 — Indicates if debitTransactionRouteInd is Chargeble, 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. Example: 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.
    - `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 — Authorization unique identifier.
    - `voidPaymentRef` object — If voided, the corresponding successful payment, and vice versa.
      - `id` string — Void payment 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 [working-with-challenges](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 [Semver](http://semver.org/).
      - `sourceSDK` string — String representing a SDK.
      - `sourceSDKVersion` string — String representing a SDK. See [Semver](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' — Type of identification.
        - `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. Example: 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 — Indicates 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 — App explicitly selected by the customer via the choice button.
      - `isSepaElv` boolean — Indicates 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' — Indicates 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 — Indicates 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 the payment.
        - `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 — Indicates if debitTransactionRouteInd is Chargeble, 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. Example: C-2.
        - `identification` string — Standard identifier. 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 Example: credit card, cash, and so on.
      - `id` string — Unique identifier.
      - `editable` boolean — If this merchant tender is editable.
      - `labelKey` string — Merchant label Key.
      - `label` string — Merchant label.
      - `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 [Semver](http://semver.org/).
      - `sourceSDK` string — String representing a SDK.
      - `sourceSDKVersion` string — String representing a SDK. See [Semver](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. 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 — Indicates if the debitTransactionRouteInd is Chargeble, 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. Example: 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. Example: 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 — App explicitly selected by the customer via the choice button.
      - `isSepaElv` boolean — Indicates 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' — Indicates 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. Values: 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 — Tender label Key.
      - `label` string — Tender label.
      - `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 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 — Indicates time when client was created.
    - `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. 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 to be used for the payment.
      - `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 — Indicates if debitTransactionRouteInd is Chargeble, 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 transaction.
      - `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 [working-with-challenges](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 [semver](http://semver.org/).
        - `sourceSDK` string — String representing a SDK.
        - `sourceSDKVersion` string — String representing a SDK. See [semver](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. Example: 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. Example: 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 — Indicates 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. Values: 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 [semver](http://semver.org/).
      - `sourceSDK` string — String representing a SDK.
      - `sourceSDKVersion` string — String representing a SDK. See [semver](http://semver.org/).
    - `result` 'SUCCESS' | 'FAIL' | 'INITIATED' | 'VOIDED' | 'VOIDING' | 'VOID_FAILED' | 'AUTH' | 'AUTH_COMPLETED' | 'DISCOUNT' | 'OFFLINE_RETRYING' | 'PENDING' — Status of the refund.
    - `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. Example: 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. Values: 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 — Merchant 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 — Tender label Key.
      - `label` string — Tender label.
      - `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 — Indicates if debitTransactionRouteInd is Chargeble, 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 — Tender label Key.
        - `label` string — Tender label.
        - `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 [semver](http://semver.org/).
        - `sourceSDK` string — String representing a SDK.
        - `sourceSDKVersion` string — String representing a SDK. [semver](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 — Indicates if debitTransactionRouteInd is Chargeble, 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. Example: 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

---

[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/revisions/08da265101a3/schema)
