POST /payments/:paymentId/refunds PUT /refunds/:refundId GET /refunds/:refundId
Refunds can be created on Card and Bank payments for the entire value of the payment or for a partial amount. The transaction fees will still apply and will not be refunded. The amount of a refund cannot exceed the remaining payment amount after previous refunds and disputes are taken into account.
When a refund occurs, the origin account is always liable for the full amount of the refund. To the extent that some or all of these funds were transferred to other accounts, the payment owner can recoup parts or all of the refund from those accounts. See Refund Recoup.
Even though each payment carries its own balance indicating where the funds from the payment currently reside, the refund amount will always be deducted from the payment balances of the origin account in the following sequence and until the refund amount is covered:
- "Final" balance until this balance is zero
- "Transferable" balance until this balance is also zero
- "Final" balance which is zero after 1 but will now get drawn negative
Anytime the "final" payment balance is negative, it implies that funds have been removed from the customer's available balance, whether the payment is "posted" or "paid".
Since a refund will affect a payment's balances, a refund will create a related payment balance change object that will follow the rules outlined above to generate the appropriate payment transfers.