---
title: "List Refunds"
method: GET
path: "/refunds"
tags: ["Refunds"]
---

# List Refunds

`GET /refunds`

Returns a paginated list of refund operations.

## Query parameters

- `cursor` string
- `limit` integer
- `created_from` string, date-time — Date & Time
- `created_to` string, date-time — Date & Time

## Response `200`

Refund list successfully returned.

- RefundList
  - `data` Refund[], required — List of refunds.
    - `refundId` string, required — Unique Identification for the Refund
    - `payment` PaymentReference, nullable — Payment reference. Can be expanded into full payment details using the expand query parameter.
      - `paymentId` string, required — Unique Identification for the Payment
      - `href` string, uri-reference, nullable — Payment Reference URL
    - `orderId` string, nullable — Indicates the merchant-defined transaction identifer or order ID. Identifiers are unique for every Purchase, Pre-Authorization and Independent Refund transaction **Note**: No two transactions of these types may have the same order ID. Field only accepts alphanumerical characters, dashes and underscores.
    - `merchantId` string, required — Thirteen character long identification provided to merchants by Moneris.
    - `paymentMethod` PaymentMethod, required — Payment method response object
      - `paymentMethodId` string, required — Unique Identifier of the payment method.
      - `merchantId` string, required — Thirteen character long identification provided to merchants by Moneris.
      - `cardholderInformation` CardholderInformation, nullable — Information about the holder of the card.
        - `cardholderName` string, required — Cardholder name
        - `companyName` string, nullable — Identifies the associated company name
      - `contactDetails` ContactDetails, nullable — Contact details
        - `phoneNumber` string, nullable — Phone number.
        - `email` string, email, nullable — Contains the customer's email address. For standard email protocols, visit: https://www.rfc-editor.org/rfc/rfc5322
      - `billingAddress` object, nullable — The postal address including street, town/city, province, and postal code. Optionally an unit number can be provided.
        - `unitNumber` string, nullable — Unit number
        - `streetNumber` string, nullable — Street number
        - `streetName` string, nullable — Street name
        - `city` string, nullable — Identifies the city.
        - `province` string, iso-3166-2, nullable — Province or state ISO 3166-2 code
        - `postalCode` string, nullable — Postal or zip code
        - `country` string, iso-3166, nullable — Provides the two letter country code according the ISO 3166-1 alpha-2 standard. For a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.
      - `paymentMethodInformation` CardPaymentMethodInformation, required — Details about the card used in the payment method.
        - `paymentMethodType` 'CARD', required — The type of Payment Method being used. It can be: - Card.
        - `paymentMethodSource` 'CARD' | 'TEMPORARY_TOKEN' | 'PERMANENT_TOKEN' | 'APPLE_PAY_ENCRYPTED' | 'APPLE_PAY_DECRYPTED' | 'GOOGLE_PAY_ENCRYPTED' | 'GOOGLE_PAY_DECRYPTED', required — The source of Payment Method being used. It can be: - The Id of a Payment Method already created. - Permanent Token. - Temporary Token. - Card. - E-Wallet.
        - `cardInformation` CardInformation, required — Information about the card being used for the transaction
          - `bankIdentificationNumber` string, nullable — **BIN**: Bank Identification Number Consists of the first six to eight digits of the Primary Account Number (PAN) and identifies the relevant payment network and the specific payment issuing institution.
          - `lastFour` string, nullable — Last 4 digits of the card.
          - `expiryMonth` integer — Card expiration month. Format must be MM
          - `expiryYear` integer — Displays the card expiration year. Accepted format: YYYY
          - `cardBrand` 'MASTERCARD' | 'VISA' | 'AMERICAN_EXPRESS' | 'JCB' | 'DISCOVER' | 'INTERAC' | 'UNIONPAY' | 'GIFT_MONERIS' | 'GIFT_DATACANDY' | 'GIFT_GIVEX' | 'null', nullable — Displays the card brand name associated with the card type.
          - `cardType` 'CREDIT' | 'DEBIT' | 'DOMESTIC_DEBIT' | 'PREPAID_RELOADABLE' | 'PREPAID_NON_RELOADABLE' | 'UNKNOWN' | 'GIFT' | 'LOYALTY' | 'FLEET' | 'CORPORATE', nullable — Specifies the intended card use; i.e. debit or credit.
          - `cardFingerprint` string, nullable — Unique card identifier. Fingerprinting randomly assigns identfiers for cards that share the same Primary Account Number (PAN) to easily identify when multiple payments methods are attached to the same underlying card, and assists merchants identify individual customers across various channels; i.e. loyalty programs.
          - `issuer` string, nullable — Card issuer.
        - `paymentAccountReference` string, nullable — Used to link Primary Account Number (PAN) based transactions and transactions on associated payment tokens without using the PAN as the linking mechanism.
        - `storePaymentMethod` 'DO_NOT_STORE' | 'CARDHOLDER_INITIATED' | 'MERCHANT_INITIATED', required — Store this payment method created through this payment for future use. - DO_NOT_STORE: Payment method will not be stored. - CARDHOLDER_INITIATED: Payment method to be stored and can only re-used with cardholder's consent. Limited to store, pre-authorisation, and card validations." - MERCHANT_INITIATED: Payment method to be stored and can be reused without the cardholder's consent. For example, subscriptions.
      - `createdAt` string, date-time, required — Time at which the object was created
      - `modifiedAt` string, date-time, nullable — Time at which the object was modified
      - `customData` CustomData, nullable — Merchant can send custom meta data with the transaction in this object. Moneris will echo these values back in response.
    - `createdAt` string, date-time, required — Time at which the object was created
    - `modifiedAt` string, date-time, nullable — Time at which the object was modified
    - `refundAmount` RefundAmount, required — Refund amount for the transaction. Note: The value must be in cents. Therefore $10.59 must be sent as 1059
      - `amount` integer, required — Amount
      - `currency` string, iso-4217, required — Provides the three letter currency code according the ISO 4217 standard. For a complete list of currency codes, visit: https://en.wikipedia.org/wiki/ISO_4217
    - `amountDetails` object, nullable — Contains information pertaining to the surcharge amount of a Payment.
      - `surchargeAmount` object, nullable — Monetary amount. Note: The value must be in cents. Therefore $10.59 must be sent as 1059.
        - `amount` integer, required — Amount
        - `currency` string, iso-4217, required — Provides the three letter currency code according the ISO 4217 standard. For a complete list of currency codes, visit: https://en.wikipedia.org/wiki/ISO_4217
    - `customerId` string, nullable — Unique Identification for the Customer
    - `customerReference` string, nullable — Unique Identification for the Customer. This can be an identifier generated from a merchant-defined identifier.
    - `refundStatus` 'DECLINED' | 'DECLINED_RETRY' | 'PROCESSING' | 'SUCCEEDED', required — Refund Status description.
    - `transactionDetails` StatusDetails, required — Additional details about the transaction outcome.
      - `transactionUniqueId` string, nullable — Realtime transaction identifier from the host.
      - `isoResponseCode` string, required — Represents the Moneris response code for the equivalent International Organization for Standardization (ISO) response code.
      - `responseCode` string, required — "Details Transaction Response Codes: - **< 50**: Transaction approved - **> 50**: Transaction declined NULL: Transaction not sent for authorization For a complete list of definitions, refer to the Response Codes Table"
      - `authorizationCode` string, nullable — Contains a value generated by the authorizer for an approved financial transactions. This operates as the authorizing host's transaction identification.
      - `message` string, nullable — Displays response description returned from issuing institution. **NOTE**: This message should not be displayed on any cardholder facing materials. For receipt purposes, please refer to the Receipt Requirements"
      - `ecommerceIndicator` 'MAIL_TELEPHONE_ORDER_SINGLE' | 'MAIL_TELEPHONE_ORDER_RECURRING' | 'MAIL_TELEPHONE_ORDER_INSTALMENT' | 'MAIL_TELEPHONE_ORDER_UNKNOWN' | 'AUTHENTICATED_ECOMMERCE' | 'NON_AUTHENTICATED_ECOMMERCE' | 'SSL_MERCHANT', required — The ecommerce indicator (ECI) specifies the level of security that was used to obtain the cardholder's payment data. It is sent by the merchant and returned by the issuer. When returned in the response, it can be different from the value sent in the request in case transaction was downgraded by the issuer.
    - `reason` string, nullable — Reason for the refund.
    - `credentialOnFileResponse` CredentialOnFileResponse, nullable — Contains fields related to the Credential on File (CoF)
      - `originalAmount` OriginalAmount, nullable — Original amount for the first transaction in the series. Note: The value must be in cents. Therefore $10.59 must be sent as 1059
        - `amount` integer, required — Amount
        - `currency` string, iso-4217, required — Provides the three letter currency code according the ISO 4217 standard. For a complete list of currency codes, visit: https://en.wikipedia.org/wiki/ISO_4217
      - `issuerId` string, nullable — Displays a unique identifier for the card holder's stored credentials. This information is returned from the card brand when processing a Credential on File transaction.
    - `multiCurrencyPricingDetails` MultiCurrencyPricingDetails, nullable — Exchange rate for use in a subsequent MCP financial transaction
      - `cardholderAmount` Money, required — Monetary amount. Note: The value must be in cents. Therefore $10.59 must be sent as 1059.
        - `amount` integer, required — Amount
        - `currency` string, iso-4217, required — Provides the three letter currency code according the ISO 4217 standard. For a complete list of currency codes, visit: https://en.wikipedia.org/wiki/ISO_4217
      - `merchantSettlementAmount` object, required — The amount that will be paid to the merchant, in settlement currency
        - `amount` integer, required — Amount
        - `currency` string, iso-4217, required — Provides the three letter currency code according the ISO 4217 standard. For a complete list of currency codes, visit: https://en.wikipedia.org/wiki/ISO_4217
      - `multiCurrencyPricingExchangeRate` number, required — The foreign exchange rate (foreign currency to CAD) that will be used for the transaction
    - `customData` CustomData, nullable — Merchant can send custom meta data with the transaction in this object. Moneris will echo these values back in response.
  - `self` string, uri-reference, nullable — Pagination link pointing to the current page.
  - `first` string, uri-reference, nullable — Pagination link pointing to the first page.
  - `last` string, uri-reference, nullable — Pagination link pointing to the last page.
  - `next` string, uri-reference, nullable — Pagination link pointing to the next page.
  - `previous` string, uri-reference, nullable — Pagination link pointing to the previous page.

## Other responses

- `400` — Bad Request.
- `401` — Not authorized. The user does not have a valid API Key or Access Token.
- `403` — Forbidden. The user does not have permission to access the requested resource.
- `429` — Too Many Requests
- `500` — Unexpected error.
- `503` — Service Temporarily Unavailable

---

[API](https://skmtc.net/moneris/apis/moneris-api.md) · [All operations](https://skmtc.net/moneris/apis/moneris-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/moneris/moneris-api/revisions/edefcc925b74/schema)
