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

(tick)

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

PSPReference String (tick)

PSP reference of the current transaction.

originalPspReference String (tick) PSP reference of the original transaction.
modificationAmountValue Amount (tick) A container for the amount that needs to be refunded.
modificationAmountCurrency Long (tick)

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

value String (tick)

The value must be less than or equal to the authorised 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

(tick)

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

uniqueTerminalId Long (tick)

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

tenderReference String (tick) Reference for the transaction, used as the PSP reference is not available.
reference String (tick) Reference for the merchant, used in reporting.
modificationAmountValue Amount (tick) A container for the amount that needs to be refunded.
modificationAmountCurrency Long (tick)

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

Callback

Name Description

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.
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.