--- title: "Refund a transaction from the POS" url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/key-steps-com-extension/cancel-or-refund-a-transaction-com-extension/refund-a-transaction-from-the-pos-com" source_url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/key-steps-com-extension/cancel-or-refund-a-transaction-com-extension/refund-a-transaction-from-the-pos-com.md" canonical: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/key-steps-com-extension/cancel-or-refund-a-transaction-com-extension/refund-a-transaction-from-the-pos-com" last_modified: "2026-05-25T12:55:00+02:00" language: "en" --- # Refund a transaction from the POS [View source](/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/key-steps-com-extension/cancel-or-refund-a-transaction-com-extension/refund-a-transaction-from-the-pos-com.md) ## POS Object | Name | Description | | ----- | ------------------------------------------------------ | | `POS` | POS object representing the cash register application. | ## With a PSP Reference ### Method | Name | Description | | ---------------------------- | ---------------------------------------------------------------------------------------------------------- | | `CancelOrRefundPspReference` | Initiates the cancel or refund process. Use the PSP reference to identify the transaction to be cancelled. | ### Parameters | Name | Type | Required | Description | | ----------------- | ------ | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | | `merchantAccount` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The merchant account account that is canceling the transaction and refunding the money (if applicable). | | `pspreference` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | PSP reference of the original transaction. | | `reference` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Reference for the merchant, used in reporting. | ### Callback | Name | Description | | ------------------ | ------------------------------------------------------------------------------ | | `CancelOrRefundCB` | Refund Callback returns the result of a partial refund, as well as any errors. | The response contains a `cancelOrRefundObj`. This object contains a getResponse method which should return a result of "**refund-received**". The response also includes the following parameters: | Name | Type | Description | | -------------- | ------ | ----------------------------------------------------------------------------------------------- | | `pedResult` | int | Result denoting whether an error occurred on the PED. A value of 0 means no error occurred. | | `pspResult` | int | Result denoting whether an error occurred on the PSP. A value of 0 means no error occurred. | | `libResult` | int | Result denoting whether an error occurred in the Library. A value of 0 means no error occurred. | | `errorMessage` | String | Reference for the transaction, used as the PSP reference is not available. | ## With a Tender Reference ### Method | Name | Description | | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `CancelOrRefundTenderReference` | Initiates the cancel or refund process where the PSP reference is unknown. Use the tender reference instead of the PSP reference.Occurs when the original sale transaction was performed offline, where the `PspReference` was not generated because it requires online access. In this case, provide the `TerminalId` and `TenderReference`. The property `PspReference` is not required. | ### Parameters | Name | Type | Required | Description | | ------------------ | ------ | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | | `merchantAccount` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The merchant account that is canceling the transaction and refunding the money (if applicable). | | `uniqueTerminalId` | Long | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Unique terminal ID to reference the PED that is processing the request. | | `tenderReference` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Reference for the transaction, used as the PSP reference is not available. | | `reference` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Reference for the merchant, used in reporting. | ### Callback | Name | Description | | ------------------ | ---------------------------------------------------------------------------------------------------- | | `CancelOrRefundCB` | The Cancel or Refund Callback returns the result of a cancellation or refund, as well as any errors. | The response contains a `cancelOrRefundObj`. This object contains a getResponse method which should return a result of "refund-received". The response also includes the following parameters: | Name | Type | Description | | -------------- | ------ | ----------------------------------------------------------------------------------------------- | | `pedResult` | int | Result denoting whether an error occurred on the PED. A value of 0 means no error occurred. | | `pspResult` | int | Result denoting whether an error occurred on the PSP. A value of 0 means no error occurred. | | `libResult` | int | Result denoting whether an error occurred in the Library. A value of 0 means no error occurred. | | `errorMessage` | String | Reference for the transaction, used as the PSP reference is not available. |