Refund
Refund
If you want to refund funds to the consumer after the authorization is completed, you need to call the POST Refund interface.
INFO
EVO Payment supports full refunds and multiple partial refunds, but the total refund amount cannot exceed the original authorized amount, with a maximum refund period of 365 days.
Sync Flow:
Async Flow:
The main process is as follows:
When you initiate a refund, you will use the
merchantTransInfo.merchantTransIDthat you provided when calling thePOST Paymentinterface. You need to add this parameter to the URL of thePOST Refundrequest so that EVO Payment can find the original payment transaction and initiate the refund.Check the
refund.statusfield in the EVO Payment response. If the value of this field isSuccess, it indicates that the refund was successful; otherwise, you need to checkresult.codeandresult.messageto find out the reason for the transaction failure.If you do not receive a response from EVO Payment, you need to call
GET Refundto query the transaction result. When you receive the query response, you should also check therefund.statusfield to determine the transaction result, using the same judgment method as in step 2. If the transaction fails, you need to checkrefund.failureCodeandrefund.failureReasonto find out the reason for the failure.If you included a
webhookin thePOST Refundrequest and the transaction'srefund.statusisSuccess, you can also obtain the transaction result through asynchronous notification, where theeventCodeisRefund. You should again check therefund.statusfield to determine the transaction result, using the same judgment method as in step 2.

