Terminal-2 icon

Partially refund a balance

POS Object

Name Description
POS POS object representing the cash register application.

You can partially refund a tender where the PSP reference has been generated, and where it is unknown. You will need to implement both types of partial refund.

Where the PSP reference is known:

Method

Name

Description

RefundPspReference

Call used to initiate a partial refund where the PSP reference is known.

Request

Name

Description

RefundTransactionRequest

Sent with the partial refund call where the PSP reference is known.

RefundPspReference Parameters

Name

Type

Required

Description

merchantAccount

String

-white_check_mark-

The merchant account that is canceling the transaction and refunding the money (if applicable).

PSPReferenceString-white_check_mark-

PSP reference of the current transaction.

originalPspReferenceString-white_check_mark-PSP reference of the original transaction.
modificationAmountValueAmount-white_check_mark-A container for the amount that needs to be refunded.
modificationAmountCurrencyLong-white_check_mark-

The three-character ISO currency code. The currency must match the currency used in the original payment request.

 

valueString-white_check_mark-

The value must be less than or equal to the authorized amount.

Where the PSP reference is not known:

Method

Name

Description

RefundTenderReference

Call used to initiate a partial refund where the PSP reference is unknown.

This can happen when the original Sale transaction was performed offline, in which case there will be no PSPReference, since this is generated only in an online situation.

Request

Name

Description

RefundTransactionRequest

Sent with the partial refund call where the PSP reference is unknown. Use the tender reference instead of the PSP reference.

RefundTenderReference Parameters

Name

Type

Required

Description

merchantAccount

String

-white_check_mark-

The merchant account that is canceling the transaction and refunding the money (if applicable).

uniqueTerminalIdLong-white_check_mark-

Unique terminal ID to reference the PED that is processing the request.

tenderReferenceString-white_check_mark-Reference for the transaction, used as the PSP reference is not available.
referenceString-white_check_mark-Reference for the merchant, used in reporting.
modificationAmountValueAmount-white_check_mark-A container for the amount that needs to be refunded.
modificationAmountCurrencyLong-white_check_mark-

The three-character ISO currency code. The currency must match the currency used in the original payment request.

Callback

NameDescription

RefundCB

Refund Callback returns the result of a partial refund, as well as any errors.

The response contains a pspResultObj. 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.
libResultintResult denoting whether an error occurred in the Library. A value of 0 means no error occurred.
errorMessageStringReference for the transaction, used as the PSP reference is not available.