Refunds


Submitting Refunds


This page describes how to manage refund requests remotely.

  • Using this interface, you can create new refund request and/or check refund request status
  • Refund request can be either full or partial 1.
  • Multiple partial refund request can be created for single transaction.
  • The overall amount of all refund requests for a single transaction cannot exceed the initial transaction amount.
  • Expired credit card cannot be refunded.
  • Transaction over a year old cannot be refunded.

Request Fields

FieldDescriptionMax LengthRequired
MerchantNumberYour merchant number - #######7Yes
RefTransIDRefunded Transaction ID - ID number of the initial transaction (the one to be refunded).9Yes
ActionAction to take - Accepts one of the following values:

CREATE - create new refund request.
STATUS - check refund request status*.
DELETE - delete pending refund request**.

* If there are multiple refund requests for the transaction, status of each request is returned.
** If there are multiple pending refund requests for the transaction, RequestID must be specified.
6Yes
AmountAmount to refund
When the action is CREATE, a refund amount can be specified.
This field is needed only for creating a partial refund request 1 on the transaction.

The amount requested to refund cannot exceed the initial transaction amount.
If omitted, all the initial transaction amount is requested to refund.

If there is a partial refund request already created for the transaction,
the new refund request amount cannot exceed the remaining amount.
If omitted in this case, all the remaining amount is requested to refund.
10No
RequestIDRefund Request ID - ID number of the existing unprocessed (pending) refund request for transaction specified in RefTransID.9No
SignatureSignature for verifying the authenticity of the request parameters.
Field values to use: MerchantNumber + PersonalHashKey

Refer to BASIC INFO --> SIGNATURE for detailed explanation.
30Yes
CommentOptional text used mainly to describe the refund request reason and details300No

Request Examples

  1. Create new refund request:

https://process.gr8pay.com/member/RefundRequest.aspx?MerchantNumber=7654321&RefTransID=1234567&Action=CREATE&Signature=cHFg9Dykno0W8uR/G35aIQ==

  1. Create new refund request (partial) 1:

https://process.gr8pay.com/member/RefundRequest.aspx?MerchantNumber=7654321&RefTransID=1234567&Action=CREATE&Amount=1.23&Signature=cHFg9Dykno0W8uR/G35aIQ==

  1. Check refund request status:

https://process.gr8pay.com/member/RefundRequest.aspx?MerchantNumber=7654321&RefTransID=1234567&Action=STATUS&Signature=cHFg9Dykno0W8uR/G35aIQ==

  1. Delete refund request:

https://process.gr8pay.com/member/RefundRequest.aspx?MerchantNumber=7654321&RefTransID=1234567&Action=DELETE&RequestID=123456&Signature=cHFg9Dykno0W8uR/G35aIQ==

(1) Due to the risk management policy, some debit terminals do not allow partial refund requests
(2) Taken from management –> security settings
(3) Examples include a sample only signature, for the real request to work replace signature with your own

Checking Reply


After the remote refund request is received and processed, Gr8Pay system returns its reply in QueryString format.
This reply is for the refund request only.
To receive notification when refund is processed use the following setting page GLOBAL SETTINGS NOTIFICATIONS

Response Fields

FieldDescription
ReplyReply code (see list below).
ReplyDescReply description
RequestIDCurrentDomain number of the created refund request.
Appears only when the requested action is CREATE.
RequestCountNumber of refund requests for the specified transaction.
When the requested action is CREATE, includes the created refund request as well as all previous requests.
When the requested action is DELETE, the deleted refund request is not counted.
RequestedAmountOverall amount of all refund requests for the specified transaction.
When the requested action is CREATE, includes the created refund request as well as all previous requests.
When the requested action is DELETE, the deleted refund request is not counted.

Repeated Fields

These fields appear for each refund request.
The name of each field instance consists of the field name followed by the refund request index (from 1 to RequestCount).
In the following description the refund request index is omitted.

IDCurrentDomain number of the refund request.
AmountThe amount to be refunded in this request.
ConfirmRefund confirmation number.
For status other than ACCEPTED, empty string is returned.
DateCreation date and time of the refund request.
The format is DD/MM/yyyy HH:mm:ss.
StatusThe current status of the refund request. Can be one of the following values:
CANCELED, CANCELED BY MERCHANT, CREATED, INVIK BATCH, PENDING, PROCESSED, PROCESSING.

Response Examples

  1. Reply in case of success (STATUS – two refund requests found):

Reply=0&ReplyDesc=Success&RequestCount=2&RequestedAmount=123.00 &ID1=12345&Amount1=100.00&Confirm1=&Date1=31/05/2009 15:59:00&Status1=Pending &ID2=12346&Amount2=23.00&Confirm2=&Date2=31/05/2009 16:01:00&Status2=Pending

  1. Reply in case of success (STATUS – no refund request found):

Reply=0&ReplyDesc=Success&RequestCount=0&RequestedAmount=0.00

  1. Reply in case of success (DELETE – the only refund request was deleted):

Reply=0&ReplyDesc=Success&RequestCount=0&RequestedAmount=0.00

  1. Reply in case of success (CREATE):

Reply=0&ReplyDesc=Success&RequestID=13315&RequestCount=2&RequestedAmount=123.00 &ID1=12345&Amount1=100.00&Confirm1=&Date1=31/05/2009 15:59:00&Status1=Pending &ID2=12346&Amount2=23.00&Confirm2=&Date2=31/05/2009 16:01:00&Status2=Pending

  1. Reply in case of failure:

Reply=4&ReplyDesc=Refund amount exceeds the transaction amount

Reply Codes

00 = Success
01 = Merchant not found or not authorized
02 = Missing or invalid RefTransID
03 = Invalid refund amount
04 = Refund amount exceeds the transaction amount
05 = Missing or invalid Action
06 = Partial refund is not allowed
07 = Unapproved IP address
08 = Incorrect MD5 signature
09 = No request for that transaction
10 = Cannot be deleted, multiple requests for that transaction, specify RequestID
11 = Invalid RequestID
12 = Unable to refund transaction that is older than one year