5. Refund interface
This XML-interface enables Merchant to cancel transaction and return funds to Client. This kind of refund is possible to process up to 01.00 o’clock next day after payment. This interface also used for returning funds out of proceeds of future earnings if this is foreseen by the contract.
Action - https://api.paymaster.ua/merchants/refund
Method - POST
XML-request format:
Name
XML-format
Description
Merchant ID
LMI_MERCHANT_ID
Merchant’s POS ID which received a payment from Client.
Internal payment number in PayMaster system
LMI_SYS_PAYMENT_ID
Unique refund request number
RefundId
Refund request number is a unique one in LMIMERCHANT_ID. It may content a letters of Roman alphabet, figures, signs “-" and "" (without inverted commas; a line can’t begin from signs). Maximum lenth of the number - 20 symbols.
Total payment amount
ActionAmount
Cancellation amount
RefundAmount
Refund amount must be less or equal to full amount of payment. Some payment systems support partial payment refunds.
Control signature
LMI_HASH
Control signature of request which is created by encoding outgoing text of XML-request with blank field LMI_HASH and blank secret key SecretKey using algorithm chosen in Merchant’s cabinet. Received signature is transferred at tag LMI_HASH. The recommended encoding algorithm is SHA256.
XML-response format:
Name
XML-format
Description
Operation code of request
Retval
1 (one) – successful transaction
Description of operation code
Retdesc
Refund code
Retdata/ResultCode
Description of refund code
Retdata/ResultMsg
NOTE! Unlike other interfaces and forms, refund interface has 2 statuses (operation codes). Operation code of request (Retval) indicates successful or unsuccessful refund request, while refund result code (Retdata/ResultCode) indicates successful refunds in payment system.
In case of receiving a non-final response in field Retdata/ResultCode it’s possible to make another request with the same parameters (necessarily with the same RefundId) to get a status of the processed request.
Codes of refund operations
Code
Explanation
Final/non-final
600
Refund was successful
Final
601
Transaction not found
Final
602
Refund is possible only for successful transactions
Final
603
Refund time is over
Final
604
Invalid payment amount
Final
605
Invalid refund amount
Final
606
Refund amount cannot exceed full amount of payment
Final
607
Refund operation is being processed
Non-final
608
Transaction is already refunded
Final
609
Payment system doesn’t support refunds
Final
610
Payment system doesn’t support partial refunds
Final
618
Invalid ID refund
Final
Last updated