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:

<Command>
    <LMI_MERCHANT_ID></LMI_MERCHANT_ID>
    <LMI_SYS_PAYMENT_ID></LMI_SYS_PAYMENT_ID>
    <RefundId></RefundId>
    <ActionAmount></ActionAmount>
    <RefundAmount></RefundAmount>
    <LMI_HASH></LMI_HASH>
</Command>

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:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Retval></Retval>
    <Retdesc></Retdesc>
    <Retdata>
        <ResultCode></ResultCode>
        <ResultMsg></ResultMsg>
    </Retdata>
</Response>

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