This article shows how to handle refund flows when implementing a Refund Transaction endpoint. For general information about this endpoint, see Processing Refunds.
The Payment Provider Platform supports these refunds flows:
Refunds can be full or partial but cannot exceed the original payment amount.
The following sections include examples of each refund flow. These examples are based on the Refund Transaction request body and the Submit Event request body. The values in these examples are fake. Examples are applicable for both live
and sandbox
modes.
Here are some examples of Wix-initiated refunds flows:
200
and this JSON object:
amount
field is a string:
200
and an empty JSON object.Requests for partial refunds are handled the same way as requests for full refunds. If Wix initiates a partial refund, the PSP can initiate another partial refund for the same payment.
200
and this JSON object:
amount
field is a string:
200
and an empty JSON object.When a refund attempt fails, the PSP must respond with the appropriate reason code. For a list of reason codes, see Reason Codes. The following example is relevant for both full and partial refunds.
200
and a JSON object that includes "reasonCode": 3025
. This reason code indicates that the refund failed because of insufficient funds. The errorCode
and errorMessage
fields include PSP-specific data.
amount
field is a string:
200
and an empty JSON object.PSP-initiated refunds don't involve the Refund Transaction endpoint. Instead, the PSP sends a webhook to Submit Event to notify Wix about the refund. The following examples show how to handle PSP-initiated refunds.
200
and an empty JSON object.Requests for partial refunds are handled the same way as requests for full refunds. When a PSP initiates a partial refund, Wix can initiate another partial refund for the same payment.
200
and an empty JSON object.